funkwhale/compose/app.django.yml

71 lines
1.8 KiB
YAML

x-django: &django
image: funkwhale-api
init: true
networks:
- internal
volumes:
- ../api:/app
- '${MUSIC_DIRECTORY_SERVE_PATH:-../.state/music}:/music:ro'
- '../.state/plugins:/srv/funkwhale/plugins'
- '../.state/staticfiles:/staticfiles'
- '../.state/media:/protected/media'
- '../.state/${COMPOSE_PROJECT_NAME:-funkwhale}/media:/data/media'
environment:
- DEBUG
- FORCE
- DEFAULT_FROM_EMAIL
- DJANGO_SETTINGS_MODULE
- DJANGO_SECRET_KEY
- EXTERNAL_REQUESTS_VERIFY_SSL
- 'FORCE_HTTPS_URLS=${FORCE_HTTPS_URLS:-False}'
- FUNKWHALE_PROTOCOL
- 'FUNKWHALE_HOSTNAME=${COMPOSE_PROJECT_NAME:-funkwhale}.${FUNKWHALE_DOMAIN}'
- DATABASE_URL
- CACHE_URL
- CELERY_BROKER_URL
- EMAIL_CONFIG
- TYPESENSE_API_KEY
- 'STATIC_URL=${FUNKWHALE_PROTOCOL}://${COMPOSE_PROJECT_NAME:-funkwhale}.${FUNKWHALE_DOMAIN}/static/'
- 'MEDIA_URL=${FUNKWHALE_PROTOCOL}://${COMPOSE_PROJECT_NAME:-funkwhale}.${FUNKWHALE_DOMAIN}/media/'
- STATIC_ROOT
- MEDIA_ROOT
- FUNKWHALE_SPA_HTML_ROOT
- LDAP_ENABLED
- BROWSABLE_API_ENABLED
- 'MUSIC_DIRECTORY_PATH=${MUSIC_DIRECTORY_PATH:-/music}'
- C_FORCE_ROOT
- PYTHONDONTWRITEBYTECODE
- PYTHONTRACEMALLOC
services:
api:
<<: *django
build:
context: ../api
dockerfile: Dockerfile.debian
command: develop
healthcheck:
test: ['CMD-SHELL', "curl -o /dev/null -s -w '%{http_code}' http://localhost:5000/api/v1 | grep '301' || exit 1"]
interval: 10s
timeout: 5s
retries: 3
start_period: 60s
worker:
<<: *django
command: develop-worker
healthcheck:
test: ['CMD-SHELL', "celery -A funkwhale_api.taskapp status | grep 'OK' || exit 1"]
interval: 10s
timeout: 5s
retries: 3
start_period: 30s