From 0083bc01a19a7c3caa9baf47c1bba3fe9fb3e32c Mon Sep 17 00:00:00 2001 From: xcad2k <28359525+xcad2k@users.noreply.github.com> Date: Thu, 30 Dec 2021 11:46:21 +0100 Subject: [PATCH] some general updates --- docker-compose/authelia/README.md | 0 docker-compose/authelia/docker-compose.yml | 22 ++++++++++++ docker-compose/grafana/README.md | 3 ++ docker-compose/grafana/docker-compose.yml | 15 ++++++++ docker-compose/influxdb/README.md | 0 docker-compose/influxdb/docker-compose.yml | 0 docker-compose/portainer/README.md | 34 ++++++++++++++++++ docker-compose/portainer/docker-compose.yml | 4 ++- docker-compose/prometheus/README.md | 0 docker-compose/prometheus/docker-compose.yml | 18 ++++++++++ docker-compose/traefik/README.md | 37 ++++++++++++++++++++ 11 files changed, 132 insertions(+), 1 deletion(-) create mode 100644 docker-compose/authelia/README.md create mode 100644 docker-compose/authelia/docker-compose.yml create mode 100644 docker-compose/grafana/README.md create mode 100644 docker-compose/grafana/docker-compose.yml create mode 100644 docker-compose/influxdb/README.md create mode 100644 docker-compose/influxdb/docker-compose.yml create mode 100644 docker-compose/portainer/README.md create mode 100644 docker-compose/prometheus/README.md create mode 100644 docker-compose/prometheus/docker-compose.yml diff --git a/docker-compose/authelia/README.md b/docker-compose/authelia/README.md new file mode 100644 index 0000000..e69de29 diff --git a/docker-compose/authelia/docker-compose.yml b/docker-compose/authelia/docker-compose.yml new file mode 100644 index 0000000..37abd29 --- /dev/null +++ b/docker-compose/authelia/docker-compose.yml @@ -0,0 +1,22 @@ +version: '3' + +services: + authelia: + image: authelia/authelia + container_name: authelia + volumes: + - /etc/authelia:/config + labels: + - 'traefik.enable=true' + - 'traefik.http.routers.authelia.rule=Host(`authelia.example.com`)' + - 'traefik.http.routers.authelia.entrypoints=https' + - 'traefik.http.routers.authelia.tls=true' + # - 'traefik.http.routers.authelia.tls.certresolver=letsencrypt' + - 'traefik.http.middlewares.authelia.forwardauth.address=http://authelia:9091/api/verify?rd=https://authelia.example.com' # yamllint disable-line rule:line-length + - 'traefik.http.middlewares.authelia.forwardauth.trustForwardHeader=true' + - 'traefik.http.middlewares.authelia.forwardauth.authResponseHeaders=Remote-User,Remote-Groups,Remote-Name,Remote-Email' # yamllint disable-line rule:line-length + expose: + - 9091 + restart: unless-stopped + healthcheck: + disable: true \ No newline at end of file diff --git a/docker-compose/grafana/README.md b/docker-compose/grafana/README.md new file mode 100644 index 0000000..0b9d3e2 --- /dev/null +++ b/docker-compose/grafana/README.md @@ -0,0 +1,3 @@ +## tmp + +Grafana default username and password: `admin` \ No newline at end of file diff --git a/docker-compose/grafana/docker-compose.yml b/docker-compose/grafana/docker-compose.yml new file mode 100644 index 0000000..2058c2e --- /dev/null +++ b/docker-compose/grafana/docker-compose.yml @@ -0,0 +1,15 @@ +version: '3' + +volumes: + grafana-data: + driver: local + +services: + grafana: + image: grafana/grafana-oss:latest + container_name: grafana + ports: + - "3000:3000" + volumes: + - grafana-data:/var/lib/grafana + restart: unless-stopped diff --git a/docker-compose/influxdb/README.md b/docker-compose/influxdb/README.md new file mode 100644 index 0000000..e69de29 diff --git a/docker-compose/influxdb/docker-compose.yml b/docker-compose/influxdb/docker-compose.yml new file mode 100644 index 0000000..e69de29 diff --git a/docker-compose/portainer/README.md b/docker-compose/portainer/README.md new file mode 100644 index 0000000..d57bbc4 --- /dev/null +++ b/docker-compose/portainer/README.md @@ -0,0 +1,34 @@ +# Installing + +## Manage local environment + +Allows Portainer to manage the local Docker Environment + +```yaml + volumes: + - /var/run/docker.sock:/var/run/docker.sock +``` + +## Data Persistence + +Storing Data in a `portainer-data` volume on docker + +```yaml + volumes: + - portainer-data:/data +``` + +# Best-Practices + +### (Option 1): Upload custom certificates + +- [ ] Upload your custom certificates +- [ ] Force HTTPS only +- [ ] Expose Port `9443` + +![Force HTTPS Only and Certificates](https://imagedelivery.net/yG07CmQlapjZ95zez0HJMA/5cf8fa46-d548-4f0b-570e-0caf8ee6d700/medium) + + +### (Option 2): Use a Reverse Proxy + +Use a Reverse Proxy to securely expose administrative services. diff --git a/docker-compose/portainer/docker-compose.yml b/docker-compose/portainer/docker-compose.yml index 3828fd7..c8db461 100644 --- a/docker-compose/portainer/docker-compose.yml +++ b/docker-compose/portainer/docker-compose.yml @@ -2,10 +2,12 @@ version: '3' services: app: + container_name: portainer image: 'portainer/portainer-ce:latest' ports: - '9000:9000' + - '9443:9443' - '8000:8000' volumes: - /var/run/docker.sock:/var/run/docker.sock - - /AmberPro/portainer/data:/data + - portainer-data:/data diff --git a/docker-compose/prometheus/README.md b/docker-compose/prometheus/README.md new file mode 100644 index 0000000..e69de29 diff --git a/docker-compose/prometheus/docker-compose.yml b/docker-compose/prometheus/docker-compose.yml new file mode 100644 index 0000000..6eb6a6d --- /dev/null +++ b/docker-compose/prometheus/docker-compose.yml @@ -0,0 +1,18 @@ +version: '3' + +volumes: + prometheus-data: + driver: local + +services: + prometheus: + image: prom/prometheus:latest + container_name: prometheus + ports: + - "9090:9090" + volumes: + - /etc/prometheus:/etc/prometheus + - prometheus-data:/prometheus + restart: unless-stopped + command: + - "--config.file=/etc/prometheus/prometheus.yml" \ No newline at end of file diff --git a/docker-compose/traefik/README.md b/docker-compose/traefik/README.md index e69de29..2d1623a 100644 --- a/docker-compose/traefik/README.md +++ b/docker-compose/traefik/README.md @@ -0,0 +1,37 @@ +# Installing + + +# Customization + +## Data Persistence +... Storing Data in the `/etc/traefik` directory on the host, passing through... +```yaml + volumes: + - /etc/traefik:/etc/traefik +``` + +## Self-Signed Certificates +According to traefik's documentation it will automatically generate self-signed Certificates if no Default Certificate is provided. If you'd like to overwrite the self-signed Certificate with your own, uncomment the section for +```yaml +# (Optional) Overwrite Default Certificates +tls: + stores: + default: + defaultCertificate: + certFile: /etc/traefik/certs/cert.pem + keyFile: /etc/traefik/certs/cert-key.pem +``` +Replace the `/etc/traefik/certs/cert.pem` with your certificate file, and the `/etc/traefik/certs/cert-key.pem` with your certificate key. + + +# Best-Practices + +```yaml +providers: + docker: + exposedByDefault: false # Default is true + file: + # watch for dynamic configuration changes + directory: /etc/traefik + watch: true +``` \ No newline at end of file