diff --git a/docker-compose.yml b/docker-compose.yml deleted file mode 100644 index 68d8fb1..0000000 --- a/docker-compose.yml +++ /dev/null @@ -1,72 +0,0 @@ -version: "2" -services: - tinc: - build: - context: . - dockerfile: Dockerfile.tinc - volumes: - - /etc/tinc/${netname}:/etc/tinc/${netname} - - /usr/bin/docker-proxy:/usr/bin/docker-proxy - environment: - - RUNMODE=server - - NETNAME=${netname} - cap_add: - - NET_ADMIN - devices: - - /dev/net/tun:/dev/net/tun - restart: always - networks: - internal: - ipv4_address: ${internal_address} - bird: - network_mode: 'service:tinc' - depends_on: - - tinc - build: - context: . - dockerfile: Dockerfile.bird - volumes: - - /etc/bird/${netname}/:/etc/bird/ - - bird-run:/var/run/bird/ - cap_add: - - NET_ADMIN - restart: always - bind: - network_mode: 'service:tinc' - build: - context: . - dockerfile: Dockerfile.bind - volumes: - - /etc/bind/${netname}/:/etc/bind/ - restart: always - bird_exporter: - network_mode: 'service:tinc' - image: czerwonk/bird_exporter - command: '-bird.v2=true -bird.socket=/var/run/bird/bird.ctl' - depends_on: - - bird - volumes: - - bird-run:/var/run/bird/ - restart: always - ping_exporter: - network_mode: 'service:tinc' - image: czerwonk/ping_exporter - command: './ping_exporter --config.path /pinger.yml' - depends_on: - - tinc - volumes: - - /etc/tinc/${netname}/pinger.yml:/pinger.yml - restart: always - -volumes: - bird-run: -networks: - internal: - driver: macvlan - driver_opts: - parent: ${internal_interface} - ipam: - config: - - subnet: ${internal_subnet} - gateway: ${internal_gateway} - diff --git a/docker-compose.yml.tmpl b/docker-compose.yml.tmpl new file mode 100644 index 0000000..2690257 --- /dev/null +++ b/docker-compose.yml.tmpl @@ -0,0 +1,16 @@ +version: "2" + +services: +{{ range files "docker/services" }} {{ . }}: +{{ include (print "docker/services/" .) }} +{{ end }} + +volumes: +{{ range files "docker/volumes" }} {{ . }}: +{{ include (print "docker/volumes/" .) }} +{{ end }} + +networks: +{{ range files "docker/networks" }} {{ . }}: +{{ include (print "docker/networks/" .) }} +{{ end }}