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_FRONT_HOST - FUNKWHALE_FRONT_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 - ../front:/frontend:ro - ../.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