From dec11477a3c6c57a7ab7813821d0ebbf6b5a0592 Mon Sep 17 00:00:00 2001 From: Yax <1949284+kianby@users.noreply.github.com> Date: Sat, 5 Mar 2022 14:59:24 +0100 Subject: [PATCH] use service profiles --- README.md | 5 +++ netdata/docker-compose.netdata.yml | 2 ++ photo/docker-compose.photonix.yml | 4 ++- photo/docker-compose.photoview.yml | 2 ++ posteio/docker-compose.posteio.yml | 1 + set_perms_local | 43 ------------------------ set_perms_server | 34 ------------------- traefik/docker-compose.traefik-local.yml | 3 +- traefik/docker-compose.traefik.yml | 1 + 9 files changed, 16 insertions(+), 79 deletions(-) delete mode 100755 set_perms_local delete mode 100755 set_perms_server diff --git a/README.md b/README.md index b6b2489..0a26611 100644 --- a/README.md +++ b/README.md @@ -12,6 +12,11 @@ docker-compose () } ``` +Compose files refer to [service profiles](https://docs.docker.com/compose/profiles/): +- disabled: set for services I don't use +- testing: enable SSL configuration relying on https://traefik.me for local testing +- production: enable domain configuration on deployment server + ### Network diagram: ![network diag](__doc__/nwdiag.png) diff --git a/netdata/docker-compose.netdata.yml b/netdata/docker-compose.netdata.yml index 2a764ea..b82f9eb 100755 --- a/netdata/docker-compose.netdata.yml +++ b/netdata/docker-compose.netdata.yml @@ -3,6 +3,7 @@ services: netdata: image: netdata/netdata container_name: netdata + profiles: ["disabled"] hostname: ${HOST_NETDATA}.${DOMAIN} expose: - 19999 @@ -38,6 +39,7 @@ services: docker-proxy: image: tecnativa/docker-socket-proxy container_name: docker-proxy + profiles: ["disabled"] volumes: - /var/run/docker.sock:/var/run/docker.sock:ro environment: diff --git a/photo/docker-compose.photonix.yml b/photo/docker-compose.photonix.yml index 800e0b7..506c873 100755 --- a/photo/docker-compose.photonix.yml +++ b/photo/docker-compose.photonix.yml @@ -3,7 +3,8 @@ version: '3' services: postgres: container_name: photonix-postgres - image: postgres:11.1-alpine + image: postgres:11.1-alpine + profiles: ["disabled"] environment: POSTGRES_DB: photonix POSTGRES_PASSWORD: password @@ -21,6 +22,7 @@ services: photonix: container_name: photonix image: photonixapp/photonix:latest + profiles: ["disabled"] expose: - 80 environment: diff --git a/photo/docker-compose.photoview.yml b/photo/docker-compose.photoview.yml index 7dd4ffc..5ac4458 100755 --- a/photo/docker-compose.photoview.yml +++ b/photo/docker-compose.photoview.yml @@ -4,6 +4,7 @@ services: photoview-db: container_name: photoview-db image: mariadb:10.5 + profiles: ["disabled"] restart: unless-stopped environment: - MYSQL_DATABASE=photoview @@ -18,6 +19,7 @@ services: photoview: container_name: photoview image: viktorstrate/photoview:2 + profiles: ["disabled"] restart: unless-stopped expose: - 80 diff --git a/posteio/docker-compose.posteio.yml b/posteio/docker-compose.posteio.yml index 8eb1d95..c547764 100755 --- a/posteio/docker-compose.posteio.yml +++ b/posteio/docker-compose.posteio.yml @@ -4,6 +4,7 @@ services: poste-io: container_name: poste-io image: analogic/poste.io + profiles: ["disabled"] volumes: - ${ROOT_INSTALL}/data/poste.io:/data environment: diff --git a/set_perms_local b/set_perms_local deleted file mode 100755 index cd911a5..0000000 --- a/set_perms_local +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/bash - -export DOCKER_COMPOSE_BIN='/usr/local/bin/docker-compose' -docker-compose () -{ - $DOCKER_COMPOSE_BIN $(find -name 'docker-compose*.yml' -type f -perm -u+x -printf '%p\t%d\n' 2>/dev/null | sort -n -k2 | cut -f 1 | awk '{print "-f "$0}') $@ -} - -# =========================================================================== -# Configure - -if [[ $# -eq 0 ]] ; then - echo 'Nothing to do' - exit 0 -fi - -case "$1" in - "on") - # disable unused services - chmod -x baikal/docker-compose.baikal.yml - chmod -x posteio/docker-compose.posteio.yml - chmod -x netdata/docker-compose.netdata.yml - chmod -x photo/docker-compose.photonix.yml - chmod -x photo/docker-compose.photoview.yml - # local testing - chmod -x traefik/docker-compose.traefik.yml - exit 0;; - "off") - # restore state - chmod +x baikal/docker-compose.baikal.yml - chmod +x posteio/docker-compose.posteio.yml - chmod +x netdata/docker-compose.netdata.yml - chmod +x photo/docker-compose.photonix.yml - chmod +x photo/docker-compose.photoview.yml - chmod +x traefik/docker-compose.traefik.yml - exit 0;; - *) - echo "Unknown command: on/off are valid values" - exit 1;; -esac - - - diff --git a/set_perms_server b/set_perms_server deleted file mode 100755 index 3d1bd17..0000000 --- a/set_perms_server +++ /dev/null @@ -1,34 +0,0 @@ -#!/bin/bash - -if [[ $# -eq 0 ]] ; then - echo 'Nothing to do' - exit 0 -fi - -case "$1" in - "on") - # disable unused services - chmod -x baikal/docker-compose.baikal.yml - chmod -x posteio/docker-compose.posteio.yml - chmod -x netdata/docker-compose.netdata.yml - chmod -x photo/docker-compose.photonix.yml - chmod -x photo/docker-compose.photoview.yml - # live server - chmod -x traefik/docker-compose.traefik-local.yml - exit 0;; - "off") - # restore state - chmod +x baikal/docker-compose.baikal.yml - chmod +x posteio/docker-compose.posteio.yml - chmod +x netdata/docker-compose.netdata.yml - chmod +x photo/docker-compose.photonix.yml - chmod +x photo/docker-compose.photoview.yml - chmod +x traefik/docker-compose.traefik-local.yml - exit 0;; - *) - echo "Unknown command: on/off are valid values" - exit 1;; -esac - - - diff --git a/traefik/docker-compose.traefik-local.yml b/traefik/docker-compose.traefik-local.yml index c13f131..1d766de 100755 --- a/traefik/docker-compose.traefik-local.yml +++ b/traefik/docker-compose.traefik-local.yml @@ -3,7 +3,8 @@ version: '3' services: traefik: container_name: traefik-local - image: traefik:v2.5.3 + image: traefik:v2.5.3 + profiles: ["testing"] ports: - 80:80 - 443:443 diff --git a/traefik/docker-compose.traefik.yml b/traefik/docker-compose.traefik.yml index b2caeab..f3e54d3 100755 --- a/traefik/docker-compose.traefik.yml +++ b/traefik/docker-compose.traefik.yml @@ -4,6 +4,7 @@ services: traefik: container_name: traefik image: traefik:v2.5.3 + profiles: ["production"] command: - --providers.docker=true - --providers.docker.exposedbydefault=false