Files
aperisolve/compose.yml
T
venus 9a4a2ac956
Linters / Run linters (push) Canceled after 0s
working local deployment
2026-09-15 20:11:19 -05:00

103 lines
2.4 KiB
YAML

services:
web:
image: ghcr.io/zeecka/aperisolve:latest
#build: .
container_name: aperisolve-web
restart: always
ports:
- "${WEB_APP_PORT:-5000}:5000"
labels:
- homepage.name=AperiSolve
- homepage.group=Steganography
- homepage.icon=aperisolve.png
- homepage.href=http://localhost:${WEB_APP_PORT:-5000}
- homepage.description=Online platform for steganographic analysis
- homepage.server=my-docker
volumes:
- apresults:/app/aperisolve/results
depends_on:
postgres:
condition: service_healthy
initdb:
condition: service_completed_successfully
redis:
condition: service_started
worker:
condition: service_started
env_file:
- .env
healthcheck:
test: ["CMD-SHELL", "dd if=/dev/urandom of=/tmp/healthcheck.png bs=1 count=1000000 && curl -X POST -F 'image=@/tmp/healthcheck.png' http://localhost:5000/upload -s -o /dev/null -w '%{http_code}' | grep -q 200"]
interval: 3600s
timeout: 30s
retries: 3
start_period: 900s
worker:
image: ghcr.io/zeecka/aperisolve:latest
#build: .
container_name: aperisolve-worker
restart: always
command: rq worker default --url redis://redis:6379/0
volumes:
- apresults:/app/aperisolve/results
depends_on:
postgres:
condition: service_healthy
initdb:
condition: service_completed_successfully
redis:
condition: service_started
env_file:
- .env
initdb:
image: ghcr.io/zeecka/aperisolve:latest
#build: .
container_name: aperisolve-initdb
command: python -m aperisolve.utils.init_db
volumes:
- apresults:/app/aperisolve/results
depends_on:
postgres:
condition: service_healthy
env_file:
- .env
restart: "no"
postgres:
image: postgres:18
container_name: postgres
restart: always
volumes:
- pgdata:/var/lib/postgresql
healthcheck:
test: ["CMD-SHELL", "pg_isready -U aperiuser -d aperisolve"]
interval: 5s
timeout: 5s
retries: 5
env_file:
- .env
redis:
image: redis:7
container_name: redis
restart: always
env_file:
- .env
rqdashboard:
image: eoranged/rq-dashboard
container_name: rq-dashboard
restart: always
ports:
- "9181:9181"
depends_on:
- redis
env_file:
- .env
volumes:
apresults:
pgdata: