services: backend: build: context: . dockerfile: ./Dockerfile target: backend restart: unless-stopped volumes: - ./backend/config:/opt/app/config environment: - MUSARE_SITENAME=${MUSARE_SITENAME:-Musare} - MUSARE_PRIMARY_COLOR=${MUSARE_PRIMARY_COLOR:-#03a9f4} - MUSARE_DEBUG_VERSION=${MUSARE_DEBUG_VERSION:-true} - MUSARE_DEBUG_GIT_REMOTE=${MUSARE_DEBUG_GIT_REMOTE:-false} - MUSARE_DEBUG_GIT_REMOTE_URL=${MUSARE_DEBUG_GIT_REMOTE_URL:-false} - MUSARE_DEBUG_GIT_BRANCH=${MUSARE_DEBUG_GIT_BRANCH:-true} - MUSARE_DEBUG_GIT_LATEST_COMMIT=${MUSARE_DEBUG_GIT_LATEST_COMMIT:-true} - MUSARE_DEBUG_GIT_LATEST_COMMIT_SHORT=${MUSARE_DEBUG_GIT_LATEST_COMMIT_SHORT:-true} - MONGO_USER_USERNAME=${MONGO_USER_USERNAME} - MONGO_USER_PASSWORD=${MONGO_USER_PASSWORD} - POSTGRES_USERNAME=${POSTGRES_USERNAME} - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} - REDIS_PASSWORD=${REDIS_PASSWORD} links: - mongo - redis networks: - backend - proxy stdin_open: true tty: true frontend: build: context: . dockerfile: ./Dockerfile target: frontend args: FRONTEND_PROD_DEVTOOLS: "${FRONTEND_PROD_DEVTOOLS:-false}" MUSARE_SITENAME: "${MUSARE_SITENAME:-Musare}" MUSARE_PRIMARY_COLOR: "${MUSARE_PRIMARY_COLOR:-#03a9f4}" MUSARE_DEBUG_VERSION: "${MUSARE_DEBUG_VERSION:-true}" MUSARE_DEBUG_GIT_REMOTE: "${MUSARE_DEBUG_GIT_REMOTE:-false}" MUSARE_DEBUG_GIT_REMOTE_URL: "${MUSARE_DEBUG_GIT_REMOTE_URL:-false}" MUSARE_DEBUG_GIT_BRANCH: ${MUSARE_DEBUG_GIT_BRANCH:-true} MUSARE_DEBUG_GIT_LATEST_COMMIT: "${MUSARE_DEBUG_GIT_LATEST_COMMIT:-true}" MUSARE_DEBUG_GIT_LATEST_COMMIT_SHORT: "${MUSARE_DEBUG_GIT_LATEST_COMMIT_SHORT:-true}" restart: unless-stopped links: - backend networks: - proxy mongo: image: docker.io/mongo:${MONGO_VERSION} restart: unless-stopped environment: - MONGO_INITDB_ROOT_USERNAME=admin - MONGO_INITDB_ROOT_PASSWORD=${MONGO_ROOT_PASSWORD} - MONGO_INITDB_DATABASE=musare - MONGO_ROOT_PASSWORD=${MONGO_ROOT_PASSWORD} - MONGO_USER_USERNAME=${MONGO_USER_USERNAME} - MONGO_USER_PASSWORD=${MONGO_USER_PASSWORD} networks: - backend volumes: - ./tools/docker/setup-mongo.sh:/docker-entrypoint-initdb.d/setup-mongo.sh - database:/data/db redis: image: docker.io/redis:7 restart: unless-stopped command: "--notify-keyspace-events Ex --requirepass ${REDIS_PASSWORD} --appendonly yes" networks: - backend volumes: - cache:/data postgres: image: postgres restart: unless-stopped networks: - backend environment: - POSTGRES_DB=musare - POSTGRES_USER=${POSTGRES_USERNAME} - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} volumes: - pgdata:/var/lib/postgresql/data networks: proxy: backend: volumes: database: pgdata: cache: