services: redis: image: redis:alpine restart: unless-stopped web: image: nginx:alpine volumes: - ./app/static_collected:/app/static_collected:ro - ./app/media:/app/media:ro - ./nginx/default.nginx:/etc/nginx/conf.d/default.conf:ro - ./transmission/downloads/complete/:/transmission/downloads/complete:ro ports: - "${LISTEN_PORT:-8000}:80" restart: unless-stopped depends_on: - app transmission: image: linuxserver/transmission environment: - TZ=Europe/Paris - PUID=${USER_ID} - PGID=${GROUP_ID} ports: - "51414:51414" - "51414:51414/udp" volumes: - ./transmission/config:/config - ./transmission/downloads:/downloads restart: unless-stopped app: build: context: ./app dockerfile: "Dockerfile" args: puid: ${USER_ID} pgid: ${GROUP_ID} env_file: - .env volumes: - ./app:/app - ./transmission:/transmission:ro - /app/frontend/node_modules restart: unless-stopped depends_on: - redis command: > bash -c "python manage.py collectstatic --noinput && python manage.py migrate && cd frontend && yarn build && cd .. && python manage.py collectstatic --noinput && python manage.py migrate && uvicorn app.asgi:application --workers 3 --host 0.0.0.0 --port 8000 --lifespan off --loop asyncio --ws websockets" # celery: # extends: # service: app # restart: unless-stopped # depends_on: # - redis # - app # command: > # bash -c "sleep 5 & celery -A app worker -E -B" event: extends: service: app restart: unless-stopped depends_on: - redis - app command: > bash -c "sleep 5 & python manage.py torrent_event"