chore(compose): refactor django environment next to its manifest
This commit is contained in:
parent
a19e0ac98c
commit
ddfa7fc64e
72
compose.yml
72
compose.yml
|
@ -4,39 +4,6 @@ networks:
|
|||
external: true
|
||||
|
||||
x-django: &django
|
||||
environment:
|
||||
- DEBUG
|
||||
- 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
|
||||
- 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
|
||||
|
||||
dns: 172.17.0.1
|
||||
dns_search: funkwhale.test
|
||||
|
||||
|
@ -46,14 +13,17 @@ services:
|
|||
context: ./front
|
||||
dockerfile: Dockerfile.dev
|
||||
ports:
|
||||
- '${VUE_PORT:-8080}:${VUE_PORT:-8080}'
|
||||
- "${VUE_PORT:-8080}:${VUE_PORT:-8080}"
|
||||
environment:
|
||||
- HOST
|
||||
- VUE_PORT
|
||||
volumes:
|
||||
- './front:/app'
|
||||
- '/app/node_modules'
|
||||
- "./front:/app"
|
||||
- "/app/node_modules"
|
||||
- "./po:/po"
|
||||
networks:
|
||||
- internal
|
||||
command: "yarn dev --host"
|
||||
|
||||
api:
|
||||
extends:
|
||||
|
@ -72,8 +42,8 @@ services:
|
|||
file: ./compose/app.nginx.yml
|
||||
service: nginx
|
||||
environment:
|
||||
- 'MUSIC_DIRECTORY_PATH=${MUSIC_DIRECTORY_PATH:-/music}'
|
||||
- 'FUNKWHALE_HOSTNAME=${COMPOSE_PROJECT_NAME:-funkwhale}.${FUNKWHALE_DOMAIN}'
|
||||
- "MUSIC_DIRECTORY_PATH=${MUSIC_DIRECTORY_PATH:-/music}"
|
||||
- "FUNKWHALE_HOSTNAME=${COMPOSE_PROJECT_NAME:-funkwhale}.${FUNKWHALE_DOMAIN}"
|
||||
|
||||
- FUNKWHALE_PROTOCOL
|
||||
|
||||
|
@ -86,34 +56,34 @@ services:
|
|||
- NGINX_MAX_BODY_SIZE
|
||||
|
||||
- STATIC_ROOT
|
||||
- 'MEDIA_ROOT=${MEDIA_ROOT:-/data/media}'
|
||||
- "MEDIA_ROOT=${MEDIA_ROOT:-/data/media}"
|
||||
networks:
|
||||
- web
|
||||
- internal
|
||||
|
||||
labels:
|
||||
- 'traefik.enable=true'
|
||||
- "traefik.enable=true"
|
||||
|
||||
- 'traefik.http.routers.test-funkwhale-${COMPOSE_PROJECT_NAME:-funkwhale}-web.rule=Host(`${COMPOSE_PROJECT_NAME:-funkwhale}.${FUNKWHALE_DOMAIN}`)'
|
||||
- 'traefik.http.routers.test-funkwhale-${COMPOSE_PROJECT_NAME:-funkwhale}-web.entrypoints=web'
|
||||
- "traefik.http.routers.test-funkwhale-${COMPOSE_PROJECT_NAME:-funkwhale}-web.rule=Host(`${COMPOSE_PROJECT_NAME:-funkwhale}.${FUNKWHALE_DOMAIN}`)"
|
||||
- "traefik.http.routers.test-funkwhale-${COMPOSE_PROJECT_NAME:-funkwhale}-web.entrypoints=web"
|
||||
|
||||
- 'traefik.http.routers.test-funkwhale-${COMPOSE_PROJECT_NAME:-funkwhale}-webs.rule=Host(`${COMPOSE_PROJECT_NAME:-funkwhale}.${FUNKWHALE_DOMAIN}`)'
|
||||
- 'traefik.http.routers.test-funkwhale-${COMPOSE_PROJECT_NAME:-funkwhale}-webs.entrypoints=webs'
|
||||
- "traefik.http.routers.test-funkwhale-${COMPOSE_PROJECT_NAME:-funkwhale}-webs.rule=Host(`${COMPOSE_PROJECT_NAME:-funkwhale}.${FUNKWHALE_DOMAIN}`)"
|
||||
- "traefik.http.routers.test-funkwhale-${COMPOSE_PROJECT_NAME:-funkwhale}-webs.entrypoints=webs"
|
||||
|
||||
- 'traefik.http.routers.test-funkwhale-${COMPOSE_PROJECT_NAME:-funkwhale}-webs.tls=true'
|
||||
- 'traefik.http.routers.test-funkwhale-${COMPOSE_PROJECT_NAME:-funkwhale}-webs.tls.domains[0].main=${COMPOSE_PROJECT_NAME:-funkwhale}.${FUNKWHALE_DOMAIN}'
|
||||
- "traefik.http.routers.test-funkwhale-${COMPOSE_PROJECT_NAME:-funkwhale}-webs.tls=true"
|
||||
- "traefik.http.routers.test-funkwhale-${COMPOSE_PROJECT_NAME:-funkwhale}-webs.tls.domains[0].main=${COMPOSE_PROJECT_NAME:-funkwhale}.${FUNKWHALE_DOMAIN}"
|
||||
|
||||
postgres:
|
||||
image: 'postgres:${POSTGRES_VERSION:-15}-alpine'
|
||||
image: "postgres:${POSTGRES_VERSION:-15}-alpine"
|
||||
environment:
|
||||
- POSTGRES_HOST_AUTH_METHOD
|
||||
command: postgres ${POSTGRES_ARGS:-}
|
||||
volumes:
|
||||
- './.state/${COMPOSE_PROJECT_NAME:-funkwhale}/postgres:/var/lib/postgresql/data'
|
||||
- "./.state/${COMPOSE_PROJECT_NAME:-funkwhale}/postgres:/var/lib/postgresql/data"
|
||||
networks:
|
||||
- internal
|
||||
healthcheck:
|
||||
test: ['CMD-SHELL', 'pg_isready -U postgres']
|
||||
test: ["CMD-SHELL", "pg_isready -U postgres"]
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
|
@ -121,11 +91,11 @@ services:
|
|||
redis:
|
||||
image: redis:7-alpine
|
||||
volumes:
|
||||
- './.state/${COMPOSE_PROJECT_NAME:-funkwhale}/redis:/data'
|
||||
- "./.state/${COMPOSE_PROJECT_NAME:-funkwhale}/redis:/data"
|
||||
networks:
|
||||
- internal
|
||||
healthcheck:
|
||||
test: ['CMD', 'redis-cli', 'ping']
|
||||
test: ["CMD", "redis-cli", "ping"]
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 3
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
x-django: &django
|
||||
image: funkwhale-api
|
||||
networks:
|
||||
- internal
|
||||
volumes:
|
||||
- ../api:/app
|
||||
- ../.env:/app/.env
|
||||
|
@ -13,8 +15,38 @@ x-django: &django
|
|||
condition: service_healthy
|
||||
redis:
|
||||
condition: service_healthy
|
||||
networks:
|
||||
- internal
|
||||
environment:
|
||||
- DEBUG
|
||||
- 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
|
||||
- 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:
|
||||
|
|
Loading…
Reference in New Issue