88 lines
2.0 KiB
YAML
88 lines
2.0 KiB
YAML
version: '3.8'
|
|
|
|
services:
|
|
frontend:
|
|
build:
|
|
context: ./frontend
|
|
dockerfile: Dockerfile
|
|
container_name: mulita-frontend
|
|
ports:
|
|
- "3000:80"
|
|
depends_on:
|
|
- backend
|
|
networks:
|
|
- mulita-network
|
|
restart: unless-stopped
|
|
|
|
backend:
|
|
build:
|
|
context: ./backend
|
|
dockerfile: Dockerfile
|
|
container_name: mulita-backend
|
|
ports:
|
|
- "8000:8000"
|
|
volumes:
|
|
- ./mulita.yml:/app/config/mulita.yml:ro
|
|
- ${PHOTO_DIRS:-./photos}:/photos:rw
|
|
- thumbs_data:/data/thumbs
|
|
- db_data:/data/db
|
|
- trash_data:/data/trash
|
|
environment:
|
|
- DATABASE_URL=sqlite+aiosqlite:////data/db/mulita.db
|
|
- REDIS_URL=redis://redis:6379
|
|
- CELERY_BROKER_URL=redis://redis:6379
|
|
- CELERY_RESULT_BACKEND=redis://redis:6379
|
|
- PHOTO_DIRS=${PHOTO_DIRS:-/photos}
|
|
depends_on:
|
|
- redis
|
|
networks:
|
|
- mulita-network
|
|
restart: unless-stopped
|
|
|
|
worker:
|
|
build:
|
|
context: ./backend
|
|
dockerfile: Dockerfile
|
|
container_name: mulita-worker
|
|
command: celery -A app.tasks.celery worker --loglevel=info --concurrency=4
|
|
volumes:
|
|
- ./mulita.yml:/app/config/mulita.yml:ro
|
|
- ${PHOTO_DIRS:-./photos}:/photos:rw
|
|
- thumbs_data:/data/thumbs
|
|
- db_data:/data/db
|
|
- trash_data:/data/trash
|
|
environment:
|
|
- DATABASE_URL=sqlite+aiosqlite:////data/db/mulita.db
|
|
- REDIS_URL=redis://redis:6379
|
|
- CELERY_BROKER_URL=redis://redis:6379
|
|
- CELERY_RESULT_BACKEND=redis://redis:6379
|
|
- PHOTO_DIRS=${PHOTO_DIRS:-/photos}
|
|
- CELERYD_CONCURRENCY=4
|
|
depends_on:
|
|
- redis
|
|
- backend
|
|
networks:
|
|
- mulita-network
|
|
restart: unless-stopped
|
|
|
|
redis:
|
|
image: redis:7-alpine
|
|
container_name: mulita-redis
|
|
ports:
|
|
- "6379:6379"
|
|
volumes:
|
|
- redis_data:/data
|
|
networks:
|
|
- mulita-network
|
|
restart: unless-stopped
|
|
command: redis-server --appendonly yes
|
|
|
|
networks:
|
|
mulita-network:
|
|
driver: bridge
|
|
|
|
volumes:
|
|
thumbs_data:
|
|
db_data:
|
|
trash_data:
|
|
redis_data: |