Bence Balint 0d2be95904 Merge branch 'devops-41' of kraxor/barrito-backend into develop | 3 jaren geleden | |
---|---|---|
.idea | 3 jaren geleden | |
app | 3 jaren geleden | |
.gitignore | 3 jaren geleden | |
Dockerfile | 3 jaren geleden | |
README.md | 3 jaren geleden | |
docker-compose.yml | 3 jaren geleden |
Barcode generator backend.
In development mode, the application is run directly by flask
using the built-in werkzeug
server with FLASK_DEBUG=1
and automatic reload on code change.
To start the application in development mode, listening on 0.0.0.0:8080
, run:
docker-compose up
Or you can use BuildKit for faster (re)builds:
COMPOSE_DOCKER_CLI_BUILD=1 DOCKER_BUILDKIT=1 docker-compose up --build
Make sure you have BuildKit enabled in /etc/docker/daemon.json
as well:
{ "features": { "buildkit": true } }
Build the image:
COMPOSE_DOCKER_CLI_BUILD=1 DOCKER_BUILDKIT=1 docker build -t barrito-backend_prod .
Start container:
# exposed by Docker
export IP=10.0.0.4
export PORT=8080
# external access (for download links)
export SERVER_URL=https://test.barrito.kraxor.net
export SERVER_PORT=80
# database
export DB_URI=postgresql://user:pass@db_host/db_name
docker run -d \
--name barrito-backend \
-p ${IP}:${PORT}:80 \
--env SERVER_URL=${SERVER_URL} \
--env SERVER_PORT=${SERVER_PORT} \
--env DB_URI=${DB_URI} \
barrito-backend_prod
Or to test with local db on localhost:
docker run \
--name barrito-backend-local \
-p 0.0.0.0:80:80 \
--net=host \
--env SERVER_URL=http://localhost \
--env SERVER_PORT=80 \
--env DB_URI=postgresql://barrito:barrito@172.17.0.1/barrito \
barrito-backend_prod
Note that because of --net=host
, Docker will disregard port settings, therefore you must have rights to open port 80 to run the above or it will fail silently.
(TODO: use a different port inside Docker to circumvent this)