summaryrefslogtreecommitdiff
path: root/playbooks/roles/kanidm/templates/stacks/docker-compose.yml
blob: f9d8cbe867b3bcf5c8ab9ce0aa0f4db019b0a912 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
services:
  kanidm:
    image: kanidm/server:latest
    volumes:
      - {{ kanidm_base }}/volumes/data:/data
      - {{ letsencrypt_certs }}:/certs:ro
    ports:
      - 3636:3636
    networks:
      - proxy
{% if homelab_build %}
    command:
      - /bin/sh
      - -c
      - |
        [ ! -f "/certs/{{ idm_domain }}.pem" ] && sleep 60
        /sbin/kanidmd server -c /data/server.toml
    healthcheck:
      disable: true
{% endif %}
    environment:
      - TZ={{ timezone }}
      - DEPLOYMENT_TIME={{ deployment_time }}
    deploy:
      mode: replicated
      replicas: 1
      update_config:
        parallelism: 1
        order: start-first
        failure_action: rollback
        monitor: 5s
      labels:
        - traefik.enable=true
        - traefik.swarm.network=proxy
        - traefik.http.routers.kanidm.tls=true
        - traefik.http.routers.kanidm.tls.certResolver=letsencrypt
        - traefik.http.routers.kanidm.rule=Host(`{{ idm_domain }}`)
        - traefik.http.routers.kanidm.entrypoints=websecure
        - traefik.http.services.kanidm.loadbalancer.server.port=8443
        - traefik.http.services.kanidm.loadbalancer.server.scheme=https

networks:
  proxy:
    external: true