version: '3.8' services: # Next.js Application app: build: context: ./proto dockerfile: Dockerfile target: builder # Use builder stage for development container_name: mozdit-app-dev ports: - "8080:3000" environment: - NODE_ENV=development - MONGODB_URI=mongodb://mongodb:27017/mozdit - MONGODB_DB=mozdit - NEXT_PUBLIC_SITE_URL=http://localhost:8080 - NEXT_PUBLIC_COMPANY_NAME=mozdIT Bt. - NEXT_PUBLIC_CONTACT_EMAIL=info@mozdit.hu - NEXT_PUBLIC_WEBMAIL_URL=https://mail.mozdit.hu - LOKI_HOST=http://loki:3100 volumes: - ./proto:/app - /app/node_modules - /app/.next command: npm run dev depends_on: - mongodb - loki networks: - mozdit-network restart: unless-stopped # MongoDB Database mongodb: image: mongo:7.0 container_name: mozdit-mongodb-dev ports: - "27018:27017" environment: - MONGO_INITDB_ROOT_USERNAME=admin - MONGO_INITDB_ROOT_PASSWORD=password123 - MONGO_INITDB_DATABASE=mozdit volumes: - mongodb_data:/data/db - ./docker/mongodb/init-mongo.js:/docker-entrypoint-initdb.d/init-mongo.js:ro networks: - mozdit-network restart: unless-stopped # MongoDB Express (Web UI) mongo-express: image: mongo-express:1.0.2 container_name: mozdit-mongo-express-dev ports: - "8081:8081" environment: - ME_CONFIG_MONGODB_ADMINUSERNAME=admin - ME_CONFIG_MONGODB_ADMINPASSWORD=password123 - ME_CONFIG_MONGODB_URL=mongodb://admin:password123@mongodb:27017/ - ME_CONFIG_BASICAUTH=false depends_on: - mongodb networks: - mozdit-network restart: unless-stopped # Loki for Logging loki: image: grafana/loki:2.9.0 container_name: mozdit-loki-dev ports: - "3100:3100" command: -config.file=/etc/loki/local-config.yaml volumes: - loki_data:/loki networks: - mozdit-network restart: unless-stopped # Grafana for Monitoring grafana: image: grafana/grafana:10.2.0 container_name: mozdit-grafana-dev ports: - "3001:3000" environment: - GF_SECURITY_ADMIN_PASSWORD=admin123 volumes: - grafana_data:/var/lib/grafana - ./docker/grafana/provisioning:/etc/grafana/provisioning depends_on: - loki networks: - mozdit-network restart: unless-stopped volumes: mongodb_data: driver: local loki_data: driver: local grafana_data: driver: local networks: mozdit-network: driver: bridge