kemono2/docker-compose.yml
2024-07-04 22:08:17 +02:00

79 lines
1.7 KiB
YAML

version: '3'
services:
postgres:
image: groonga/pgroonga:3.1.6-alpine-16-slim
restart: unless-stopped
environment:
- POSTGRES_DB=kemono
- POSTGRES_USER=kemono
- POSTGRES_PASSWORD=kemono
volumes:
- ./storage/postgres:/var/lib/postgresql/data
command: ["postgres", "-c", "log_statement=all"]
ports:
- '15432:5432'
redis:
image: redis:7-alpine
restart: always
ports:
- '16379:6379'
web:
build:
context: .
args:
GIT_COMMIT_HASH: "custom"
restart: unless-stopped
depends_on:
- postgres
- redis
environment:
- FLASK_ENV=development
- KEMONO_SITE=http://localhost:5000
- UPLOAD_LIMIT=2000000000
- ARCHIVERHOST=kemono-archiver
- ARCHIVERPORT=80
- PYTHONUNBUFFERED=1
- KEMONO_CONFIG=config.example.json
- PYTHONPATH=/app
volumes:
- ./:/app
- ./storage/files:/storage
sysctls:
net.core.somaxconn: 2000
healthcheck:
test: [ "CMD", "curl", "-f", "http://localhost:80" ]
interval: 60s
timeout: 2m
retries: 3
start_period: 30s
command:
[ "python", "-m", "src", "run" ]
nginx:
image: nginx
depends_on:
- web
ports:
- '5000:80'
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf
- ./storage/files:/storage
- ./:/app
webpack:
build:
context: .
restart: unless-stopped
environment:
- FLASK_ENV=development
- KEMONO_SITE=http://localhost:5000
- KEMONO_CONFIG=config.example.json
- PYTHONPATH=/app
volumes:
- .:/app
command:
[ "python", "-m", "src", "webpack" ]