Neah-Enkun/compose.yml

73 lines
1.9 KiB
YAML

networks:
default:
volumes:
keycloak_data:
portainer_data:
services:
traefik:
container_name: neah-traefik
image: traefik:latest
command:
- "--api.insecure=true"
- "--providers.docker=true"
- "--entrypoints.web.address=:80"
ports:
- "80:80"
- "8080:8080"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
networks:
- default
portainer:
container_name: neah-portainer
image: portainer/portainer-ce:latest
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- portainer_data:/data
- "./portainer_password:/portainer_password"
labels:
- "traefik.enable=true"
- "traefik.http.routers.neah-portainer.rule=Host(`${PORTAINER_HOST}.${MAIN_DOMAIN}`)"
- "traefik.http.services.neah-portainer.loadbalancer.server.port=9000"
command: --admin-password-file '/portainer_password'
networks:
- default
front:
container_name: neah-front
build:
context: ./front
dockerfile: Dockerfile
environment:
- NODE_ENV=production
labels:
- "traefik.enable=true"
- "traefik.http.routers.neah-front.rule=Host(`${MAIN_DOMAIN}`)"
- "traefik.http.services.neah-front.loadbalancer.server.port=3000"
extra_hosts:
- "${KEYCLOAK_HOST}.${MAIN_DOMAIN}:${KEYCLOAK_HOST_IP}"
networks:
- default
keycloak:
container_name: neah-keycloak
image: quay.io/keycloak/keycloak:latest
# TODO: Passer a "start" lors de la production
command: ["start-dev"]
environment:
KC_BOOTSTRAP_ADMIN_USERNAME: ${KEYCLOAK_USER}
KC_BOOTSTRAP_ADMIN_PASSWORD: ${KEYCLOAK_PASSWORD}
labels:
- "traefik.enable=true"
- "traefik.http.routers.neah-keycloak.rule=Host(`${KEYCLOAK_HOST}.${MAIN_DOMAIN}`)"
- "traefik.http.services.neah-keycloak.loadbalancer.server.port=8080"
volumes:
- keycloak_data:/opt/keycloak/data
ports:
- "8090:8080"
networks:
- default