services: web: image: nginx networks: - internal environment: - 'MUSIC_DIRECTORY_PATH=${MUSIC_DIRECTORY_PATH:-/music}' - 'FUNKWHALE_HOSTNAME=${COMPOSE_PROJECT_NAME:-funkwhale}.${FUNKWHALE_DOMAIN}' - FUNKWHALE_PROTOCOL - FUNKWHALE_API_HOST - FUNKWHALE_API_PORT - FUNKWHALE_APP_HOST - FUNKWHALE_APP_PORT - NGINX_MAX_BODY_SIZE - STATIC_ROOT - 'MEDIA_ROOT=${MEDIA_ROOT:-/data/media}' volumes: - '${MUSIC_DIRECTORY_SERVE_PATH:-../.state/music}:${MUSIC_DIRECTORY_PATH:-/music}:ro' - ./etc/nginx/conf.dev:/etc/nginx/templates/default.conf.template:ro - ../deploy/funkwhale_proxy.conf:/etc/nginx/funkwhale_proxy.conf:ro # - ../app:/funkwhale-app:ro # use for testing deployment scenarios - ../.state/staticfiles:/usr/share/nginx/html/staticfiles:ro - ../.state/media:/protected/media:ro - ../.state/${COMPOSE_PROJECT_NAME:-funkwhale}/media:/data/media:ro healthcheck: test: 'curl -o /dev/null -s -w "%{http_code}" http://localhost:80/ | grep "200" || exit 1' interval: 5s timeout: 3s retries: 3