version: '3' services: keycloack: image: jboss/keycloak depends_on: - db environment: - TZ=Europe/Paris - PUID=1000 - PGID=1000 - DB_VENDOR=postgres - DB_ADDR=db - DB_PORT=5432 - DB_DATABASE=keycloack - DB_USER=user - DB_PASSWORD=pwd - PROXY_ADDRESS_FORWARDING=true volumes: - config:/opt/jboss/keycloak/standalone/configuration/ networks: - dmz - keycloack deploy: resources: limits: cpus: '0.5' memory: 1G reservations: cpus: '0.1' memory: 500M labels: - "traefik.enable=true" - "traefik.frontend.rule=Host:auth.arnaud-pc.fr" - "traefik.port=8080" - "traefik.docker.network=dmz" - "traefik.protocol=http" - "traefik.backend.loadbalancer.swarm=true" db: image: postgres:latest environment: - POSTGRES_USER=user - POSTGRES_PASSWORD=keycloack - POSTGRES_DB=pwd volumes: - postgres_data:/var/lib/postgresql/data deploy: resources: limits: cpus: '0.5' memory: 200M reservations: cpus: '0.1' memory: 50M networks: - keycloack adminer: image: adminer networks: - keycloack - dmz deploy: mode: replicated replicas: 0 resources: limits: cpus: '0.5' memory: 200M reservations: cpus: '0.1' memory: 50M labels: - "traefik.enable=false" - "traefik.frontend.rule=Host:auth.arnaud-pc.fr" - "traefik.port=8080" - "traefik.docker.network=dmz" - "traefik.protocol=http" - "traefik.backend.loadbalancer.swarm=true" networks: keycloack: driver: overlay dmz: external: name: dmz volumes: config: driver: convoy postgres_data: driver: convoy