Files
aperisolve/compose.dev.yml

89 lines
1.9 KiB
YAML

services:
web:
#image: ghcr.io/zeecka/aperisolve:latest
build: .
container_name: aperisolve-web
restart: always
command: ["flask", "--app", "aperisolve.app", "run", "--host=0.0.0.0", "--port=5000"]
ports:
- "${WEB_APP_PORT:-5000}:5000"
volumes:
- ./aperisolve:/app/aperisolve
depends_on:
postgres:
condition: service_healthy
initdb:
condition: service_completed_successfully
redis:
condition: service_started
worker:
condition: service_started
env_file:
- .env.example
worker:
#image: ghcr.io/zeecka/aperisolve:latest
build: .
container_name: aperisolve-worker
restart: always
command: rq worker default --url redis://redis:6379/0
volumes:
- ./aperisolve:/app/aperisolve
depends_on:
postgres:
condition: service_healthy
initdb:
condition: service_completed_successfully
redis:
condition: service_started
env_file:
- .env.example
initdb:
build: .
container_name: aperisolve-initdb
command: python -m aperisolve.utils.init_db
volumes:
- ./aperisolve:/app/aperisolve
depends_on:
postgres:
condition: service_healthy
env_file:
- .env.example
restart: "no"
redis:
image: redis:7
container_name: redis
restart: always
env_file:
- .env.example
postgres:
image: postgres:14
container_name: postgres
restart: always
volumes:
- pgdata:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U aperiuser -d aperisolve"]
interval: 5s
timeout: 5s
retries: 5
env_file:
- .env.example
rqdashboard:
image: eoranged/rq-dashboard
container_name: rq-dashboard
restart: always
ports:
- "9181:9181"
depends_on:
- redis
env_file:
- .env.example
volumes:
pgdata: