73 lines
1.9 KiB
YAML
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
|