aboutsummaryrefslogtreecommitdiff
path: root/services/templates/docker-compose.yaml.template
blob: 3410c97452ad02507268858748fe35eb132f29bf (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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
services:

  nginx:
    pull_policy: build
    build:
      context: "./@@CRUPEST_DOCKER_DIR@@/nginx"
      additional_contexts:
        - "www=./www"
      dockerfile: Dockerfile
      pull: true
    ports:
      - "80:80"
      - "443:443"
      - "443:443/udp"
    env_file:
      - "./@@CRUPEST_GENERATED_DIR@@/envs/nginx.env"
      - "./@@CRUPEST_GENERATED_DIR@@/envs/v2ray-common.env"
    volumes:
      - "./@@CRUPEST_DATA_CERTBOT_DIR@@/certs:/etc/letsencrypt"
      - "./@@CRUPEST_DATA_CERTBOT_DIR@@/data:/var/lib/letsencrypt"
      - "./@@CRUPEST_DATA_CERTBOT_DIR@@/webroot:/srv/acme:ro"
      - "./@@CRUPEST_DATA_CERTBOT_DIR@@/webroot:/var/www/certbot"
    networks:
      default:
        ipv4_address: "172.21.5.2"
    restart: "on-failure:3"

  git-server:
    pull_policy: build
    build:
      context: "./@@CRUPEST_DOCKER_DIR@@/git-server"
      dockerfile: Dockerfile
      pull: true
    hostname: git-server
    environment:
      - "CRUPEST_ROOT_URL=@@CRUPEST_ROOT_URL@@"
    volumes:
      - "./@@CRUPEST_DATA_GIT_DIR@@:/git"
    networks:
      default:
        ipv4_address: "172.21.5.3"
    restart: on-failure:3

  roundcubemail:
    image: "roundcube/roundcubemail"
    pull_policy: always
    hostname: roundcubemail
    env_file:
      - "./@@CRUPEST_GENERATED_DIR@@/envs/roundcubemail.env"
    volumes:
      - "./@@CRUPEST_DATA_SECRET_DIR@@/gnupg:/var/roundcube/enigma"
      - "./@@CRUPEST_DATA_ROUNDCUBE_DIR@@/www/html:/var/www/html"
      - "./@@CRUPEST_DATA_ROUNDCUBE_DIR@@/db:/var/roundcube/db"
      - "./@@CRUPEST_GENERATED_DIR@@/roundcube.inc.php:/var/roundcube/config"
      - "roundcubemail-temp:/tmp/roundcube-temp"
    networks:
      default:
        ipv4_address: "172.21.5.4"
    restart: on-failure:3

  v2ray:
    pull_policy: build
    build:
      context: "./@@CRUPEST_DOCKER_DIR@@/v2ray"
      dockerfile: Dockerfile
      pull: true
    hostname: v2ray
    env_file:
      - "./@@CRUPEST_GENERATED_DIR@@/envs/v2ray-common.env"
      - "./@@CRUPEST_GENERATED_DIR@@/envs/v2ray.env"
    networks:
      default:
        ipv4_address: "172.21.5.5"
    restart: "on-failure:3"

  auto-backup:
    pull_policy: build
    build:
      context: "./@@CRUPEST_DOCKER_DIR@@/auto-backup"
      dockerfile: Dockerfile
      pull: true
    env_file:
      - "./@@CRUPEST_GENERATED_DIR@@/envs/auto-backup.env"
    volumes:
      - "./data:/data:ro"
      - "./data/auto-backup:/data/auto-backup"
    restart: "on-failure:3"

volumes:
  roundcubemail-temp:

networks:
  default:
    enable_ipv6: false
    ipam:
      config:
        - subnet: "172.21.5.0/24"
          ip_range: "172.21.5.64/26"