Chris Pomeroy
2023-05-19 a8be60d99d66fe67767cd5389603412467b2afe7
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
45
46
47
48
49
50
51
52
53
version: "3.8"
 
networks:
  traefik_default:
    external: true
  agents:
    driver: overlay
    attachable: true
    labels:
      - "jenkins=true"
 
services: 
  jenkins:
    image: ${IMAGE}
    networks:
      agents:
        aliases:
          - jenkins.darkurthe.net
      traefik_default:
    logging:
      options:
        max-size: "10m"
        max-file: "3"
    deploy:
      placement:
        constraints:
          - node.platform.os == linux
          - node.platform.arch == x86_64
      resources:
        reservations:
          memory: 512m
      labels:
        - traefik.enable=true
        - traefik.docker.network=traefik_default
        - traefik.http.routers.jenkins.rule=Host( "jenkins.darkurthe.net" )
        - traefik.http.routers.jenkins.entrypoints=web
        - traefik.http.services.jenkins-service.loadbalancer.server.port=8080
        # - traefik.tcp.routers.jenkins.entrypoints=jenkins-agents
        # - traefik.tcp.routers.jenkins.rule=Host( "jenkins.darkurthe.net" )
        # - traefik.tcp.services.jenkins.loadbalancer.server.port=40981
        # - traefik.http.routers.jenkins.tls=true
        # - traefik.http.routers.jenkins.tls.certresolver=myresolver
    volumes:
      - jenkins_home:/var/jenkins_home
      - "/var/run/docker.sock:/var/run/docker.sock"
 
volumes:
  jenkins_home:
    driver: local
    driver_opts: 
      type: nfs
      o: addr=zombienas.darkurthe.net,rw,async,hard,intr,nfsvers=4
      device: ":/jenkins_home"