version: '3.8' services: mongodb: image: mongo:7.0 container_name: vei-oauth-mongodb restart: always environment: MONGO_INITDB_ROOT_USERNAME: ${MONGO_USER} MONGO_INITDB_ROOT_PASSWORD: ${MONGO_PASSWORD} MONGO_INITDB_DATABASE: oauth_db_vei volumes: - vei_mongodb_data:/data/db networks: - vei-oauth-network redis: image: redis:7-alpine container_name: vei-oauth-redis restart: always command: redis-server --requirepass ${REDIS_PASSWORD} --appendonly yes volumes: - vei_redis_data:/data networks: - vei-oauth-network backend: image: ${NEXUS_URL}/oauth-backend:${VERSION} container_name: vei-oauth-backend restart: always env_file: - .env environment: - MONGODB_URL=mongodb://${MONGO_USER}:${MONGO_PASSWORD}@mongodb:27017/oauth_db_vei?authSource=admin - REDIS_URL=redis://:${REDIS_PASSWORD}@redis:6379 depends_on: - mongodb - redis networks: - vei-oauth-network frontend: image: ${NEXUS_URL}/oauth-frontend:${VERSION} container_name: vei-oauth-frontend restart: always depends_on: - backend networks: - vei-oauth-network nginx: image: nginx:alpine container_name: vei-oauth-nginx restart: always ports: - "80:80" - "443:443" volumes: - ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro - ./nginx/ssl:/etc/nginx/ssl:ro depends_on: - frontend - backend networks: - vei-oauth-network volumes: vei_mongodb_data: vei_redis_data: networks: vei-oauth-network: driver: bridge