kopia lustrzana https://dev.funkwhale.audio/funkwhale/funkwhale
79 wiersze
1.9 KiB
YAML
79 wiersze
1.9 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
|