version: '3.6' services: db: container_name: 4cat_db image: postgres:latest restart: unless-stopped environment: - POSTGRES_USER=${POSTGRES_USER} - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} - POSTGRES_DB=${POSTGRES_DB} - POSTGRES_HOST_AUTH_METHOD=${POSTGRES_HOST_AUTH_METHOD} volumes: - 4cat_db:/var/lib/postgresql/data/ backend: image: digitalmethodsinitiative/4cat:${DOCKER_TAG} container_name: 4cat_backend restart: unless-stopped env_file: - .env depends_on: - db ports: - ${PUBLIC_API_PORT}:4444 volumes: - 4cat_data:/usr/src/app/data/ - 4cat_share:/usr/src/app/config/ - 4cat_logs:/usr/src/app/logs/ entrypoint: docker/docker-entrypoint.sh frontend: image: digitalmethodsinitiative/4cat:${DOCKER_TAG} container_name: 4cat_frontend restart: unless-stopped depends_on: - db - backend ports: - ${PUBLIC_PORT}:5000 - ${TELEGRAM_PORT}:443 volumes: - 4cat_data:/usr/src/app/data/ - 4cat_share:/usr/src/app/config/ - 4cat_logs:/usr/src/app/logs/ command: ["docker/wait-for-backend.sh", "gunicorn", "--worker-tmp-dir", "/dev/shm", "--workers", "2", "--threads", "4", "--worker-class", "gthread", "--access-logfile", "/usr/src/app/logs/access_gunicorn.log", "--log-level", "info", "--bind", "0.0.0.0:5000", "webtool:app"] volumes: 4cat_db: {} 4cat_data: {} 4cat_share: {} 4cat_logs: {}