split make files in myos project and install files in yaip project

This commit is contained in:
Yann Autissier
2022-11-11 23:37:27 +01:00
parent 99b9e5ecbe
commit 3d79bcdad3
222 changed files with 338 additions and 7880 deletions
+26
View File
@@ -0,0 +1,26 @@
version: '3.6'
services:
certbot:
build:
args:
- DOCKER_BUILD_DIR=docker/certbot
context: ../..
dockerfile: docker/certbot/Dockerfile
command: start
container_name: ${NODE_COMPOSE_PROJECT_NAME}-certbot
image: ${NODE_DOCKER_REPOSITORY}/certbot:${DOCKER_IMAGE_TAG}
network_mode: host
restart: always
volumes:
- myos:/etc/letsencrypt
volumes:
myos:
external: true
name: ${NODE_DOCKER_VOLUME}
networks:
public:
external: true
name: ${DOCKER_NETWORK_PUBLIC}
+51
View File
@@ -0,0 +1,51 @@
version: '3.6'
services:
consul:
build:
args:
- CONSUL_VERSION=1.11.1
- DOCKER_BUILD_DIR=docker/consul
context: ../..
dockerfile: docker/consul/Dockerfile
container_name: ${NODE_COMPOSE_PROJECT_NAME}-consul
image: ${NODE_DOCKER_REPOSITORY}/consul:${DOCKER_IMAGE_TAG}
environment:
CONSUL_BIND_INTERFACE: '${DOCKER_HOST_IFACE}'
CONSUL_CLIENT_INTERFACE: '${DOCKER_HOST_IFACE}'
CONSUL_HTTP_TOKEN: '${NODE_CONSUL_HTTP_TOKEN}'
CONSUL_LOCAL_CONFIG: '{ "log_level": "warn"
, "enable_script_checks": true
, "acl": { "enabled": true
, "default_policy": "deny"
, "down_policy": "extend-cache"
, "enable_token_persistence": true
, "tokens": { "initial_management": "${NODE_CONSUL_ACL_TOKENS_MASTER}"
, "agent": "${NODE_CONSUL_HTTP_TOKEN}"
}
}
}'
hostname: ${HOSTNAME}
labels:
- SERVICE_8300_IGNORE=true
- SERVICE_8301_IGNORE=true
- SERVICE_8302_IGNORE=true
- SERVICE_8500_CHECK_HTTP=/v1/health/service/consul
- SERVICE_8500_NAME=${NODE_COMPOSE_SERVICE_NAME}-consul-8500
- SERVICE_8500_TAGS=${NODE_CONSUL_SERVICE_8500_TAGS}
- SERVICE_8600_IGNORE=true
- SERVICE_ADDRESS=${DOCKER_HOST_INET4}
- SERVICE_CHECK_SCRIPT=docker-healthcheck ${DOCKER_HOST_INET4}
network_mode: host
restart: always
volumes:
- consul:/consul/data:delegated
- /var/run/docker.sock:/var/run/docker.sock
volumes:
consul:
networks:
public:
external: true
name: ${DOCKER_NETWORK_PUBLIC}
+2 -2
View File
@@ -1,2 +1,2 @@
NODE_CADVISOR_EXPORTER_SERVICE_8080_TAGS=urlprefix-cadvisor-exporter.${DOMAIN}/
NODE_EXPORTER_SERVICE_9100_TAGS=urlprefix-node-exporter.${DOMAIN}/
NODE_EXPORTER_CADVISOR_SERVICE_8080_TAGS=urlprefix-exporter-cadvisor.${DOMAIN}/
NODE_EXPORTER_NODE_SERVICE_9100_TAGS=urlprefix-exporter-node.${DOMAIN}/
+27
View File
@@ -0,0 +1,27 @@
version: '3.6'
services:
exporter-cadvisor:
container_name: ${NODE_COMPOSE_PROJECT_NAME}-exporter-cadvisor
hostname: ${HOSTNAME}
image: google/cadvisor:latest
labels:
- SERVICE_8080_CHECK_TCP=true
- SERVICE_8080_NAME=${NODE_COMPOSE_SERVICE_NAME}-exporter-cadvisor-8080
- SERVICE_8080_TAGS=${NODE_EXPORTER_CADVISOR_SERVICE_8080_TAGS}
- SERVICE_9200_IGNORE=true
networks:
- public
ports:
- 8080
restart: always
volumes:
- /:/rootfs:ro
- /sys:/sys:ro
- /var/lib/docker/:/var/lib/docker:ro
- /var/run:/var/run:rw
networks:
public:
external: true
name: ${DOCKER_NETWORK_PUBLIC}
-49
View File
@@ -1,49 +0,0 @@
version: '3.6'
services:
cadvisor-exporter:
container_name: ${NODE_COMPOSE_PROJECT_NAME}-cadvisor-exporter
hostname: ${HOSTNAME}
image: google/cadvisor:latest
labels:
- SERVICE_8080_CHECK_TCP=true
- SERVICE_8080_NAME=${NODE_COMPOSE_SERVICE_NAME}-cadvisor-exporter-8080
- SERVICE_8080_TAGS=${NODE_CADVISOR_EXPORTER_SERVICE_8080_TAGS}
- SERVICE_9200_IGNORE=true
networks:
- public
ports:
- 8080
restart: always
volumes:
- /:/rootfs:ro
- /sys:/sys:ro
- /var/lib/docker/:/var/lib/docker:ro
- /var/run:/var/run:rw
node-exporter:
command:
- --collector.filesystem.ignored-mount-points
- "^/(sys|proc|dev|host|etc|rootfs/var/lib/docker/containers|rootfs/var/lib/docker/overlay2|rootfs/run/docker/netns|rootfs/var/lib/docker/aufs)($$|/)"
- '--path.procfs=/host/proc'
- '--path.sysfs=/host/sys'
container_name: ${NODE_COMPOSE_PROJECT_NAME}-node-exporter
hostname: ${HOSTNAME}
image: prom/node-exporter:latest
labels:
- SERVICE_9100_CHECK_TCP=true
- SERVICE_9100_NAME=${NODE_COMPOSE_SERVICE_NAME}-node-exporter-9100
- SERVICE_9100_TAGS=${NODE_EXPORTER_SERVICE_9100_TAGS}
networks:
- public
ports:
- 9100
restart: always
volumes:
- /:/rootfs:ro
- /proc:/host/proc:ro
- /sys:/host/sys:ro
networks:
public:
external: true
name: ${DOCKER_NETWORK_PUBLIC}
+30
View File
@@ -0,0 +1,30 @@
version: '3.6'
services:
exporter-node:
command:
- --collector.filesystem.ignored-mount-points
- "^/(sys|proc|dev|host|etc|rootfs/var/lib/docker/containers|rootfs/var/lib/docker/overlay2|rootfs/run/docker/netns|rootfs/var/lib/docker/aufs)($$|/)"
- '--path.procfs=/host/proc'
- '--path.sysfs=/host/sys'
container_name: ${NODE_COMPOSE_PROJECT_NAME}-exporter-node
hostname: ${HOSTNAME}
image: prom/node-exporter:latest
labels:
- SERVICE_9100_CHECK_TCP=true
- SERVICE_9100_NAME=${NODE_COMPOSE_SERVICE_NAME}-exporter-node-9100
- SERVICE_9100_TAGS=${NODE_EXPORTER_NODE_SERVICE_9100_TAGS}
networks:
- public
ports:
- 9100
restart: always
volumes:
- /:/rootfs:ro
- /proc:/host/proc:ro
- /sys:/host/sys:ro
networks:
public:
external: true
name: ${DOCKER_NETWORK_PUBLIC}
+48
View File
@@ -0,0 +1,48 @@
version: '3.6'
services:
fabio:
build:
args:
- DOCKER_BUILD_DIR=docker/fabio
- DOCKER_MACHINE=${DOCKER_MACHINE}
- DOCKER_SYSTEM=${DOCKER_SYSTEM}
- FABIO_VERSION=1.6.2
context: ../..
dockerfile: docker/fabio/Dockerfile
container_name: ${NODE_COMPOSE_PROJECT_NAME}-fabio
image: ${NODE_DOCKER_REPOSITORY}/fabio:${DOCKER_IMAGE_TAG}
command: -registry.backend "consul" -registry.consul.addr "consul:8500" -registry.consul.token "${NODE_CONSUL_HTTP_TOKEN}" -proxy.addr ":80,:443;cs=local" -proxy.cs "cs=local;type=file;cert=/etc/letsencrypt/live/${DOMAIN}/fullchain.pem;key=/etc/letsencrypt/live/${DOMAIN}/privkey.pem"
depends_on:
- consul
extra_hosts:
- consul:${DOCKER_INTERNAL_DOCKER_HOST}
hostname: ${HOSTNAME}
labels:
- SERVICE_80_CHECK_TCP=true
- SERVICE_80_NAME=${NODE_COMPOSE_SERVICE_NAME}-fabio-80
- SERVICE_443_CHECK_TCP=true
- SERVICE_443_NAME=${NODE_COMPOSE_SERVICE_NAME}-fabio-443
- SERVICE_9998_CHECK_HTTP=/routes
- SERVICE_9998_NAME=${NODE_COMPOSE_SERVICE_NAME}-fabio-9998
- SERVICE_9998_TAGS=${NODE_FABIO_SERVICE_9998_TAGS}
- SERVICE_9999_IGNORE=true
ports:
- 80:80/tcp
- 443:443/tcp
- 9998/tcp
networks:
- public
restart: always
volumes:
- myos:/etc/letsencrypt:ro
volumes:
myos:
external: true
name: ${NODE_DOCKER_VOLUME}
networks:
public:
external: true
name: ${DOCKER_NETWORK_PUBLIC}
-125
View File
@@ -1,125 +0,0 @@
version: '3.6'
services:
certbot:
build:
args:
- DOCKER_BUILD_DIR=docker/certbot
context: ../..
dockerfile: docker/certbot/Dockerfile
command: start
container_name: ${NODE_COMPOSE_PROJECT_NAME}-certbot
image: ${NODE_DOCKER_REPOSITORY}/certbot:${DOCKER_IMAGE_TAG}
network_mode: host
restart: always
volumes:
- myos:/etc/letsencrypt
consul:
build:
args:
- CONSUL_VERSION=1.11.1
- DOCKER_BUILD_DIR=docker/consul
context: ../..
dockerfile: docker/consul/Dockerfile
container_name: ${NODE_COMPOSE_PROJECT_NAME}-consul
image: ${NODE_DOCKER_REPOSITORY}/consul:${DOCKER_IMAGE_TAG}
environment:
CONSUL_BIND_INTERFACE: '${DOCKER_HOST_IFACE}'
CONSUL_CLIENT_INTERFACE: '${DOCKER_HOST_IFACE}'
CONSUL_HTTP_TOKEN: '${NODE_CONSUL_HTTP_TOKEN}'
CONSUL_LOCAL_CONFIG: '{ "log_level": "warn"
, "enable_script_checks": true
, "acl": { "enabled": true
, "default_policy": "deny"
, "down_policy": "extend-cache"
, "enable_token_persistence": true
, "tokens": { "initial_management": "${NODE_CONSUL_ACL_TOKENS_MASTER}"
, "agent": "${NODE_CONSUL_HTTP_TOKEN}"
}
}
}'
hostname: ${HOSTNAME}
labels:
- SERVICE_8300_IGNORE=true
- SERVICE_8301_IGNORE=true
- SERVICE_8302_IGNORE=true
- SERVICE_8500_CHECK_HTTP=/v1/health/service/consul
- SERVICE_8500_NAME=${NODE_COMPOSE_SERVICE_NAME}-consul-8500
- SERVICE_8500_TAGS=${NODE_CONSUL_SERVICE_8500_TAGS}
- SERVICE_8600_IGNORE=true
- SERVICE_ADDRESS=${DOCKER_HOST_INET4}
- SERVICE_CHECK_SCRIPT=docker-healthcheck ${DOCKER_HOST_INET4}
network_mode: host
restart: always
volumes:
- consul:/consul/data:delegated
- /var/run/docker.sock:/var/run/docker.sock
fabio:
build:
args:
- DOCKER_BUILD_DIR=docker/fabio
- FABIO_VERSION=1.6.2
- SYSTEM=${SYSTEM}
- MACHINE=${MACHINE}
context: ../..
dockerfile: docker/fabio/Dockerfile
container_name: ${NODE_COMPOSE_PROJECT_NAME}-fabio
image: ${NODE_DOCKER_REPOSITORY}/fabio:${DOCKER_IMAGE_TAG}
command: -registry.backend "consul" -registry.consul.addr "consul:8500" -registry.consul.token "${NODE_CONSUL_HTTP_TOKEN}" -proxy.addr ":80,:443;cs=local" -proxy.cs "cs=local;type=file;cert=/etc/letsencrypt/live/${DOMAIN}/fullchain.pem;key=/etc/letsencrypt/live/${DOMAIN}/privkey.pem"
depends_on:
- consul
extra_hosts:
- consul:${DOCKER_INTERNAL_DOCKER_HOST}
hostname: ${HOSTNAME}
labels:
- SERVICE_80_CHECK_TCP=true
- SERVICE_80_NAME=${NODE_COMPOSE_SERVICE_NAME}-fabio-80
- SERVICE_443_CHECK_TCP=true
- SERVICE_443_NAME=${NODE_COMPOSE_SERVICE_NAME}-fabio-443
- SERVICE_9998_CHECK_HTTP=/routes
- SERVICE_9998_NAME=${NODE_COMPOSE_SERVICE_NAME}-fabio-9998
- SERVICE_9998_TAGS=${NODE_FABIO_SERVICE_9998_TAGS}
- SERVICE_9999_IGNORE=true
ports:
- 80:80/tcp
- 443:443/tcp
- 9998/tcp
networks:
- public
restart: always
volumes:
- myos:/etc/letsencrypt:ro
registrator:
build:
args:
- DOCKER_BUILD_DIR=docker/registrator
- GIT_AUTHOR_NAME=${GIT_AUTHOR_NAME}
- GIT_AUTHOR_EMAIL=${GIT_AUTHOR_EMAIL}
context: ../..
dockerfile: docker/registrator/Dockerfile
container_name: ${NODE_COMPOSE_PROJECT_NAME}-registrator
image: ${NODE_DOCKER_REPOSITORY}/registrator:${DOCKER_IMAGE_TAG}
command: -internal -cleanup -deregister always -resync=30 -useIpFromNetwork "${DOCKER_NETWORK_PUBLIC}" -useIpFromLabel SERVICE_ADDRESS consul://consul:8500
depends_on:
- consul
environment:
- CONSUL_HTTP_TOKEN=${NODE_CONSUL_HTTP_TOKEN}
- GL_DISABLE_VERSION_CHECK=true
extra_hosts:
- consul:${DOCKER_INTERNAL_DOCKER_HOST}
hostname: ${HOSTNAME}
network_mode: host
restart: always
volumes:
- /var/run/docker.sock:/tmp/docker.sock
volumes:
consul:
myos:
external: true
name: ${NODE_DOCKER_VOLUME}
networks:
public:
external: true
name: ${DOCKER_NETWORK_PUBLIC}
@@ -7,7 +7,7 @@ services:
- DOCKER_BUILD_DIR=docker/pdns-server
context: ../..
dockerfile: docker/pdns-server/Dockerfile
command: /usr/local/sbin/pdns_recursor --local-address='192.168.0.1:53' --allow-from='127.0.0.0/8, 192.168.1.0/24, 172.16.0.0/12'
command: /usr/local/sbin/pdns_recursor --allow-from='127.0.0.0/8, 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16'
container_name: ${NODE_COMPOSE_PROJECT_NAME}-pdns-recursor
hostname: ${HOSTNAME}
image: ${NODE_DOCKER_REPOSITORY}/pdns-recursor:${DOCKER_IMAGE_TAG}
+31
View File
@@ -0,0 +1,31 @@
version: '3.6'
services:
registrator:
build:
args:
- DOCKER_BUILD_DIR=docker/registrator
- GIT_AUTHOR_NAME=${GIT_AUTHOR_NAME}
- GIT_AUTHOR_EMAIL=${GIT_AUTHOR_EMAIL}
context: ../..
dockerfile: docker/registrator/Dockerfile
container_name: ${NODE_COMPOSE_PROJECT_NAME}-registrator
image: ${NODE_DOCKER_REPOSITORY}/registrator:${DOCKER_IMAGE_TAG}
command: -internal -cleanup -deregister always -resync=30 -useIpFromNetwork "${DOCKER_NETWORK_PUBLIC}" -useIpFromLabel SERVICE_ADDRESS consul://consul:8500
depends_on:
- consul
environment:
- CONSUL_HTTP_TOKEN=${NODE_CONSUL_HTTP_TOKEN}
- GL_DISABLE_VERSION_CHECK=true
extra_hosts:
- consul:${DOCKER_INTERNAL_DOCKER_HOST}
hostname: ${HOSTNAME}
network_mode: host
restart: always
volumes:
- /var/run/docker.sock:/tmp/docker.sock
networks:
public:
external: true
name: ${DOCKER_NETWORK_PUBLIC}