60 lines
1.4 KiB
YAML
60 lines
1.4 KiB
YAML
version: "3.8"
|
|
|
|
services:
|
|
jobs-app:
|
|
build: .
|
|
ports:
|
|
- "8000:8000"
|
|
environment:
|
|
# Required environment variables
|
|
- FLASK_SECRET=${FLASK_SECRET:?}
|
|
- FLASK_ENV=${FLASK_ENV:?production}
|
|
|
|
# Coolify magic variables
|
|
- SERVICE_FQDN_JOBS_APP
|
|
- ADMIN_PASSWORD=${SERVICE_PASSWORD_ADMIN:?M11ffpgm.}
|
|
- DB_USER=${SERVICE_USER_DB:?jobs}
|
|
- DB_PASSWORD=${SERVICE_PASSWORD_DB:?jobdb}
|
|
|
|
# Optional configuration
|
|
- GUNICORN_WORKERS=${GUNICORN_WORKERS:-4}
|
|
volumes:
|
|
- type: bind
|
|
source: ./cache
|
|
target: /app/cache
|
|
- type: bind
|
|
source: ./logs
|
|
target: /app/logs
|
|
depends_on:
|
|
- mysql
|
|
labels:
|
|
- coolify.managed=true
|
|
- traefik.enable=true
|
|
- "traefik.http.routers.jobs-app.rule=Host(`${SERVICE_FQDN_JOBS_APP:-localhost}`)"
|
|
- traefik.http.routers.jobs-app.entryPoints=http
|
|
networks:
|
|
- jobs-network
|
|
restart: unless-stopped
|
|
|
|
mysql:
|
|
image: mysql:8.0
|
|
environment:
|
|
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD:?rootpassword}
|
|
- MYSQL_DATABASE=jobs
|
|
- MYSQL_USER=${DB_USER:-jobs}
|
|
- MYSQL_PASSWORD=${DB_PASSWORD:-jobdb}
|
|
ports:
|
|
- "3306:3306"
|
|
volumes:
|
|
- mysql_data:/var/lib/mysql
|
|
- ./mysql-init:/docker-entrypoint-initdb.d
|
|
networks:
|
|
- jobs-network
|
|
|
|
volumes:
|
|
mysql_data:
|
|
|
|
networks:
|
|
jobs-network:
|
|
driver: bridge
|