Allow to execute "flask shell" in the portal container without setting env variables
**Recommended skills:**
* Rough understanding of Docker, or
* Will to read some documentation and fiddle around.
---
Flask applications allow access to a Python shell with which Python code can be executed in the running application using the command `flask shell`.
For this to work, the environment variable `FLASK_APP` needs to be set to contain the name of the application to spawn a shell into.
As we run the Flask app inside docker, we first need to get inside the Docker container using:
```bash
sudo docker exec -it portal-app-1 bash
```
Then, we need to set the environment variable and launch the shell:
```bash
export FLASK_APP=portal
flask shell
```
This is annoying. It would be cooler to just execute:
```bash
sudo docker exec -it portal-app-1 flask shell
```
But that yields to the following error, because the environment variable `FLASK_APP` is not set:
```
Usage: flask shell [OPTIONS]
Try 'flask shell --help' for help.
Error: Could not locate a Flask application. Use the 'flask --app' option, 'FLASK_APP' environment variable, or a 'wsgi.py' or 'app.py' file in the current directory.
```
It would be great if that could be fixed, preferably by editing the [`Dockerfile`](https://gitlab.cl.uni-heidelberg.de/fachschaft/portal/-/blob/master/Dockerfile?ref_type=heads) somehow.
## Maybe helpful resources
* [`Dockerfile` reference](https://docs.docker.com/reference/dockerfile/)
* [Flask Command Line Interface](https://flask.palletsprojects.com/en/2.3.x/cli/)
issue