docs: document docker container

Closes: #66
This commit is contained in:
acute 2024-12-05 16:21:02 +00:00 committed by irl
parent 348a4b5cf0
commit c1b385ed99

View file

@ -12,7 +12,11 @@ Development Setup
-----------------
For development, it is possible to use SQLite and a single host.
Clone this repository and navigate to it:
```
git clone https://gitlab.com/guardianproject-ops/bypass-censorship/portal
cd portal
```
Create and activate a Python virtual environment:
```
@ -35,7 +39,8 @@ flask db upgrade
```
Before the application can be run, it will need to be configured.
Run `cp config.yaml.example config.yaml`, then edit `config.yaml` accordingly. Note that at least one cloud provider must be configured for the application to start successfully.
Run `cp config.yaml.example config.yaml`, then edit `config.yaml` accordingly. Note that at least one cloud provider
must be configured for the application to start successfully.
To run the application:
```
@ -43,12 +48,41 @@ flask run --host=0.0.0.0 --port=5000
```
### New frontend
To build the new portal frontend:
```
make install-frontend
```
To update the build for the new portal frontend:
```
pushd frontend && git pull --ff-only && popd && make install-frontend
```
### Docker
The dockerfile supplied will build a container to run the application:
```
docker build -t <image-name> .
docker|podman run -e WAITRESS_THREADS=4" -e WAITRESS_RUN_HOST="0.0.0.0" -e WAITRESS_RUN_PORT="5000" -e APP="bc" -e APP_BASE="/srv" <image_name>
```
The following environment variables can be set to configure the container:
- ```WAITRESS_THREADS```: the number of Waitress worker threads for handling requests. Defaults to 4 threads.
- ```WAITRESS_RUN_HOST```: the network interfaces on which Waitress will listen on inside the container. Defaults to
0.0.0.0 (all).
- ```WAITRESS_RUN_PORT```: the port on which Waitress will serve the application inside the container. Defaults to 5000.
- ```APP```: the app directory name, defaults to ```bc```.
- ```APP_BASE```: the base directory where the app directory will be created. Defaults to ```/srv```.
Copyright
---------