kopia lustrzana https://dev.funkwhale.audio/funkwhale/funkwhale
140 wiersze
3.5 KiB
YAML
140 wiersze
3.5 KiB
YAML
version: '3'
|
|
|
|
services:
|
|
front:
|
|
build: front
|
|
env_file:
|
|
- .env.dev
|
|
- .env
|
|
environment:
|
|
- "HOST=0.0.0.0"
|
|
- "WEBPACK_DEVSERVER_PORT=${WEBPACK_DEVSERVER_PORT-8080}"
|
|
ports:
|
|
- "${WEBPACK_DEVSERVER_PORT_BINDING-8080:}${WEBPACK_DEVSERVER_PORT-8080}"
|
|
volumes:
|
|
- './front:/app'
|
|
- '/app/node_modules'
|
|
- './po:/po'
|
|
networks:
|
|
- federation
|
|
- internal
|
|
labels:
|
|
traefik.backend: "${COMPOSE_PROJECT_NAME-node1}"
|
|
traefik.frontend.rule: "Host:${COMPOSE_PROJECT_NAME-node1}.funkwhale.test,${NODE_IP-127.0.0.1}"
|
|
traefik.enable: 'true'
|
|
traefik.federation.protocol: 'http'
|
|
traefik.federation.port: "${WEBPACK_DEVSERVER_PORT-8080}"
|
|
|
|
postgres:
|
|
env_file:
|
|
- .env.dev
|
|
- .env
|
|
image: postgres
|
|
volumes:
|
|
- "./data/${COMPOSE_PROJECT_NAME-node1}/postgres:/var/lib/postgresql/data"
|
|
networks:
|
|
- internal
|
|
|
|
redis:
|
|
env_file:
|
|
- .env.dev
|
|
- .env
|
|
image: redis:3.0
|
|
volumes:
|
|
- "./data/${COMPOSE_PROJECT_NAME-node1}/redis:/data"
|
|
networks:
|
|
- internal
|
|
|
|
celeryworker:
|
|
env_file:
|
|
- .env.dev
|
|
- .env
|
|
build:
|
|
context: ./api
|
|
dockerfile: docker/Dockerfile.test
|
|
links:
|
|
- postgres
|
|
- redis
|
|
command: celery -A funkwhale_api.taskapp worker -l debug
|
|
environment:
|
|
- "FUNKWHALE_HOSTNAME=${FUNKWHALE_HOSTNAME-localhost}"
|
|
- "FUNKWHALE_HOSTNAME_SUFFIX=funkwhale.test"
|
|
- "FUNKWHALE_HOSTNAME_PREFIX=${COMPOSE_PROJECT_NAME}"
|
|
- "FUNKWHALE_PROTOCOL=${FUNKWHALE_PROTOCOL-http}"
|
|
- "DATABASE_URL=postgresql://postgres@postgres/postgres"
|
|
- "CACHE_URL=redis://redis:6379/0"
|
|
volumes:
|
|
- ./api:/app
|
|
- "${MUSIC_DIRECTORY-./data/music}:/music:ro"
|
|
networks:
|
|
- internal
|
|
api:
|
|
env_file:
|
|
- .env.dev
|
|
- .env
|
|
build:
|
|
context: ./api
|
|
dockerfile: docker/Dockerfile.test
|
|
command: python /app/manage.py runserver 0.0.0.0:12081
|
|
volumes:
|
|
- ./api:/app
|
|
- "${MUSIC_DIRECTORY-./data/music}:/music:ro"
|
|
environment:
|
|
- "FUNKWHALE_HOSTNAME=${FUNKWHALE_HOSTNAME-localhost}"
|
|
- "FUNKWHALE_HOSTNAME_SUFFIX=funkwhale.test"
|
|
- "FUNKWHALE_HOSTNAME_PREFIX=${COMPOSE_PROJECT_NAME}"
|
|
- "FUNKWHALE_PROTOCOL=${FUNKWHALE_PROTOCOL-http}"
|
|
- "DATABASE_URL=postgresql://postgres@postgres/postgres"
|
|
- "CACHE_URL=redis://redis:6379/0"
|
|
links:
|
|
- postgres
|
|
- redis
|
|
networks:
|
|
- internal
|
|
nginx:
|
|
command: /entrypoint.sh
|
|
env_file:
|
|
- .env.dev
|
|
- .env
|
|
image: nginx
|
|
environment:
|
|
- "WEBPACK_DEVSERVER_PORT=${WEBPACK_DEVSERVER_PORT-8080}"
|
|
- "COMPOSE_PROJECT_NAME=${COMPOSE_PROJECT_NAME- }"
|
|
- "FUNKWHALE_HOSTNAME=${FUNKWHALE_HOSTNAME-localhost}"
|
|
links:
|
|
- api
|
|
- front
|
|
volumes:
|
|
- ./docker/nginx/conf.dev:/etc/nginx/nginx.conf
|
|
- ./docker/nginx/entrypoint.sh:/entrypoint.sh:ro
|
|
- "${MUSIC_DIRECTORY-./data/music}:/music:ro"
|
|
- ./deploy/funkwhale_proxy.conf:/etc/nginx/funkwhale_proxy.conf.template:ro
|
|
- ./api/funkwhale_api/media:/protected/media
|
|
ports:
|
|
- "6001"
|
|
networks:
|
|
- internal
|
|
docs:
|
|
build: docs
|
|
command: python serve.py
|
|
volumes:
|
|
- ".:/app/"
|
|
ports:
|
|
- '35730:35730'
|
|
- '8001:8001'
|
|
|
|
api-docs:
|
|
image: swaggerapi/swagger-ui
|
|
environment:
|
|
- "API_URL=/swagger.yml"
|
|
ports:
|
|
- '8002:8080'
|
|
volumes:
|
|
- "./docs/swagger.yml:/usr/share/nginx/html/swagger.yml"
|
|
|
|
networks:
|
|
internal:
|
|
federation:
|
|
external:
|
|
name: federation
|