61 lines
1.6 KiB
YAML
61 lines
1.6 KiB
YAML
version: '3'
|
|
|
|
services:
|
|
app:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile.dev
|
|
hostname: evwiki.test
|
|
volumes:
|
|
- .:/app
|
|
- /app/node_modules
|
|
depends_on:
|
|
- mongodb
|
|
environment:
|
|
- MONGODB_URI=mongodb://mongodb:27017/evwiki
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.app.entrypoints=web"
|
|
- "traefik.http.routers.app.rule=Host(`evwiki.test`)"
|
|
- "traefik.http.services.app.loadbalancer.server.port=3000"
|
|
networks:
|
|
- proxy
|
|
|
|
mongodb:
|
|
image: mongo:latest
|
|
hostname: mongodb.evwiki.test
|
|
volumes:
|
|
- mongodb_data:/data/db
|
|
networks:
|
|
- proxy
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.mongodb.entrypoints=mongodb"
|
|
- "traefik.http.routers.mongodb.rule=Host(`mongodb.evwiki.test`)"
|
|
- "traefik.http.services.mongodb.loadbalancer.server.port=27017"
|
|
|
|
mongo-express:
|
|
image: mongo-express:latest
|
|
hostname: mongo-express.evwiki.test
|
|
depends_on:
|
|
- mongodb
|
|
environment:
|
|
- ME_CONFIG_MONGODB_SERVER=mongodb
|
|
- ME_CONFIG_MONGODB_PORT=27017
|
|
- ME_CONFIG_MONGODB_ENABLE_ADMIN=true
|
|
- ME_CONFIG_BASICAUTH_USERNAME=admin
|
|
- ME_CONFIG_BASICAUTH_PASSWORD=pass
|
|
networks:
|
|
- proxy
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.mongo-express.entrypoints=web"
|
|
- "traefik.http.routers.mongo-express.rule=Host(`mongo-express.evwiki.test`)"
|
|
- "traefik.http.services.mongo-express.loadbalancer.server.port=8081"
|
|
|
|
networks:
|
|
proxy:
|
|
external: true
|
|
|
|
volumes:
|
|
mongodb_data: |