From 8f65ee046b66f81f7a805c8f7e0b7a113082f85e Mon Sep 17 00:00:00 2001 From: whitney Date: Wed, 7 Aug 2024 16:42:11 -0700 Subject: [PATCH] Reorganize into by-container and monolith folders. --- Makefile => containers/Makefile | 0 .../code-server}/.gitignore | 0 .../code-server}/README.md | 0 .../code-server}/docker-compose.yml.blanked | 0 {covid19 => containers/covid19}/.gitignore | 0 {covid19 => containers/covid19}/README.md | 0 .../covid19}/docker-compose.yml.blanked | 0 {gitea => containers/gitea}/.gitignore | 0 {gitea => containers/gitea}/README.md | 0 .../gitea}/docker-compose.yml.blanked | 0 {grafana => containers/grafana}/.gitignore | 0 {grafana => containers/grafana}/README.md | 0 .../grafana}/docker-compose.yml.blanked | 0 {grafana => containers/grafana}/grafana.ini | 0 .../grafana}/prometheus.yml | 0 {homepage => containers/homepage}/.gitignore | 0 {homepage => containers/homepage}/Dockerfile | 0 {homepage => containers/homepage}/README.md | 0 .../homepage}/docker-compose.yml.blanked | 0 .../homepage}/nginx/nginx.conf | 0 .../homepage}/website/about.html | 0 .../homepage}/website/index.html | 0 .../homepage}/website/script.js | 0 .../homepage}/website/services.html | 0 .../website/static/about/mount-olomana.jpg | Bin .../website/static/about/olomana.jpg | Bin .../website/static/about/whitney.jpg | Bin .../homepage}/website/static/favicon.ico | Bin .../website/static/services/code-server.png | Bin .../website/static/services/covid-tracker.png | Bin .../website/static/services/discord.png | Bin .../website/static/services/gitea.png | Bin .../website/static/services/minecraft.png | Bin .../website/static/services/photoprism.png | Bin .../website/static/services/plex.png | Bin .../website/static/services/recipes.png | Bin .../homepage}/website/styles.css | 0 {jenkins => containers/jenkins}/.gitignore | 0 {jenkins => containers/jenkins}/README.md | 0 .../jenkins}/docker-compose.yml.blanked | 0 {metube => containers/metube}/.gitignore | 0 {metube => containers/metube}/README.md | 0 .../metube}/docker-compose.yml.blanked | 0 .../minecraft}/.gitignore | 0 {minecraft => containers/minecraft}/README.md | 0 .../minecraft}/docker-compose.yml.blanked | 0 {monica => containers/monica}/.gitignore | 0 {monica => containers/monica}/README.md | 0 .../monica}/docker-compose.yml.blanked | 0 {nordvpn => containers/nordvpn}/.gitignore | 0 {nordvpn => containers/nordvpn}/README.md | 0 .../nordvpn/docker-compose.yml.NORDLYNX | 38 +++++++++++++++ .../nordvpn}/docker-compose.yml.blanked | 0 .../photoprism}/.gitignore | 0 .../photoprism}/README.md | 0 .../photoprism}/docker-compose.yml.blanked | 0 {plex => containers/plex}/.gitignore | 0 {plex => containers/plex}/README.md | 0 .../plex}/docker-compose.yml.blanked | 0 .../portainer}/.gitignore | 0 {portainer => containers/portainer}/README.md | 0 .../portainer}/docker-compose.yml.blanked | 0 {traefik => containers/traefik}/.gitignore | 0 {traefik => containers/traefik}/README.md | 0 .../traefik}/docker-compose.yml.blanked | 0 .../traefik}/step1-docker-compose.yml | 0 .../traefik}/step2-docker-compose.yml | 0 .../traefik}/step3-docker-compose.yml | 0 .../traefik}/step4-docker-compose.yml | 0 .../traefik}/step5-docker-compose.yml | 0 .../traefik}/step5-traefik-dynamic.toml | 0 .../traefik}/step5-traefik.toml | 0 .../traefik}/traefik-dynamic.toml.blanked | 0 .../traefik}/traefik.toml.BLANKED | 0 monolith/README.md | 46 ++++++++++++++++++ monolith/docker-compose.yml | 46 ++++++++++++++++++ monolith/traefik/.gitignore | 3 ++ monolith/traefik/traefik-dynamic.toml.BLANKED | 18 +++++++ monolith/traefik/traefik.toml.BLANKED | 41 ++++++++++++++++ traefik/docker-compose.yml | 22 --------- 80 files changed, 192 insertions(+), 22 deletions(-) rename Makefile => containers/Makefile (100%) rename {code-server => containers/code-server}/.gitignore (100%) rename {code-server => containers/code-server}/README.md (100%) rename {code-server => containers/code-server}/docker-compose.yml.blanked (100%) rename {covid19 => containers/covid19}/.gitignore (100%) rename {covid19 => containers/covid19}/README.md (100%) rename {covid19 => containers/covid19}/docker-compose.yml.blanked (100%) rename {gitea => containers/gitea}/.gitignore (100%) rename {gitea => containers/gitea}/README.md (100%) rename {gitea => containers/gitea}/docker-compose.yml.blanked (100%) rename {grafana => containers/grafana}/.gitignore (100%) rename {grafana => containers/grafana}/README.md (100%) rename {grafana => containers/grafana}/docker-compose.yml.blanked (100%) rename {grafana => containers/grafana}/grafana.ini (100%) rename {grafana => containers/grafana}/prometheus.yml (100%) rename {homepage => containers/homepage}/.gitignore (100%) rename {homepage => containers/homepage}/Dockerfile (100%) rename {homepage => containers/homepage}/README.md (100%) rename {homepage => containers/homepage}/docker-compose.yml.blanked (100%) rename {homepage => containers/homepage}/nginx/nginx.conf (100%) rename {homepage => containers/homepage}/website/about.html (100%) rename {homepage => containers/homepage}/website/index.html (100%) rename {homepage => containers/homepage}/website/script.js (100%) rename {homepage => containers/homepage}/website/services.html (100%) rename {homepage => containers/homepage}/website/static/about/mount-olomana.jpg (100%) rename {homepage => containers/homepage}/website/static/about/olomana.jpg (100%) rename {homepage => containers/homepage}/website/static/about/whitney.jpg (100%) rename {homepage => containers/homepage}/website/static/favicon.ico (100%) rename {homepage => containers/homepage}/website/static/services/code-server.png (100%) rename {homepage => containers/homepage}/website/static/services/covid-tracker.png (100%) rename {homepage => containers/homepage}/website/static/services/discord.png (100%) rename {homepage => containers/homepage}/website/static/services/gitea.png (100%) rename {homepage => containers/homepage}/website/static/services/minecraft.png (100%) rename {homepage => containers/homepage}/website/static/services/photoprism.png (100%) rename {homepage => containers/homepage}/website/static/services/plex.png (100%) rename {homepage => containers/homepage}/website/static/services/recipes.png (100%) rename {homepage => containers/homepage}/website/styles.css (100%) rename {jenkins => containers/jenkins}/.gitignore (100%) rename {jenkins => containers/jenkins}/README.md (100%) rename {jenkins => containers/jenkins}/docker-compose.yml.blanked (100%) rename {metube => containers/metube}/.gitignore (100%) rename {metube => containers/metube}/README.md (100%) rename {metube => containers/metube}/docker-compose.yml.blanked (100%) rename {minecraft => containers/minecraft}/.gitignore (100%) rename {minecraft => containers/minecraft}/README.md (100%) rename {minecraft => containers/minecraft}/docker-compose.yml.blanked (100%) rename {monica => containers/monica}/.gitignore (100%) rename {monica => containers/monica}/README.md (100%) rename {monica => containers/monica}/docker-compose.yml.blanked (100%) rename {nordvpn => containers/nordvpn}/.gitignore (100%) rename {nordvpn => containers/nordvpn}/README.md (100%) create mode 100644 containers/nordvpn/docker-compose.yml.NORDLYNX rename {nordvpn => containers/nordvpn}/docker-compose.yml.blanked (100%) rename {photoprism => containers/photoprism}/.gitignore (100%) rename {photoprism => containers/photoprism}/README.md (100%) rename {photoprism => containers/photoprism}/docker-compose.yml.blanked (100%) rename {plex => containers/plex}/.gitignore (100%) rename {plex => containers/plex}/README.md (100%) rename {plex => containers/plex}/docker-compose.yml.blanked (100%) rename {portainer => containers/portainer}/.gitignore (100%) rename {portainer => containers/portainer}/README.md (100%) rename {portainer => containers/portainer}/docker-compose.yml.blanked (100%) rename {traefik => containers/traefik}/.gitignore (100%) rename {traefik => containers/traefik}/README.md (100%) rename {traefik => containers/traefik}/docker-compose.yml.blanked (100%) rename {traefik => containers/traefik}/step1-docker-compose.yml (100%) rename {traefik => containers/traefik}/step2-docker-compose.yml (100%) rename {traefik => containers/traefik}/step3-docker-compose.yml (100%) rename {traefik => containers/traefik}/step4-docker-compose.yml (100%) rename {traefik => containers/traefik}/step5-docker-compose.yml (100%) rename {traefik => containers/traefik}/step5-traefik-dynamic.toml (100%) rename {traefik => containers/traefik}/step5-traefik.toml (100%) rename {traefik => containers/traefik}/traefik-dynamic.toml.blanked (100%) rename {traefik => containers/traefik}/traefik.toml.BLANKED (100%) create mode 100644 monolith/README.md create mode 100644 monolith/docker-compose.yml create mode 100644 monolith/traefik/.gitignore create mode 100644 monolith/traefik/traefik-dynamic.toml.BLANKED create mode 100644 monolith/traefik/traefik.toml.BLANKED delete mode 100644 traefik/docker-compose.yml diff --git a/Makefile b/containers/Makefile similarity index 100% rename from Makefile rename to containers/Makefile diff --git a/code-server/.gitignore b/containers/code-server/.gitignore similarity index 100% rename from code-server/.gitignore rename to containers/code-server/.gitignore diff --git a/code-server/README.md b/containers/code-server/README.md similarity index 100% rename from code-server/README.md rename to containers/code-server/README.md diff --git a/code-server/docker-compose.yml.blanked b/containers/code-server/docker-compose.yml.blanked similarity index 100% rename from code-server/docker-compose.yml.blanked rename to containers/code-server/docker-compose.yml.blanked diff --git a/covid19/.gitignore b/containers/covid19/.gitignore similarity index 100% rename from covid19/.gitignore rename to containers/covid19/.gitignore diff --git a/covid19/README.md b/containers/covid19/README.md similarity index 100% rename from covid19/README.md rename to containers/covid19/README.md diff --git a/covid19/docker-compose.yml.blanked b/containers/covid19/docker-compose.yml.blanked similarity index 100% rename from covid19/docker-compose.yml.blanked rename to containers/covid19/docker-compose.yml.blanked diff --git a/gitea/.gitignore b/containers/gitea/.gitignore similarity index 100% rename from gitea/.gitignore rename to containers/gitea/.gitignore diff --git a/gitea/README.md b/containers/gitea/README.md similarity index 100% rename from gitea/README.md rename to containers/gitea/README.md diff --git a/gitea/docker-compose.yml.blanked b/containers/gitea/docker-compose.yml.blanked similarity index 100% rename from gitea/docker-compose.yml.blanked rename to containers/gitea/docker-compose.yml.blanked diff --git a/grafana/.gitignore b/containers/grafana/.gitignore similarity index 100% rename from grafana/.gitignore rename to containers/grafana/.gitignore diff --git a/grafana/README.md b/containers/grafana/README.md similarity index 100% rename from grafana/README.md rename to containers/grafana/README.md diff --git a/grafana/docker-compose.yml.blanked b/containers/grafana/docker-compose.yml.blanked similarity index 100% rename from grafana/docker-compose.yml.blanked rename to containers/grafana/docker-compose.yml.blanked diff --git a/grafana/grafana.ini b/containers/grafana/grafana.ini similarity index 100% rename from grafana/grafana.ini rename to containers/grafana/grafana.ini diff --git a/grafana/prometheus.yml b/containers/grafana/prometheus.yml similarity index 100% rename from grafana/prometheus.yml rename to containers/grafana/prometheus.yml diff --git a/homepage/.gitignore b/containers/homepage/.gitignore similarity index 100% rename from homepage/.gitignore rename to containers/homepage/.gitignore diff --git a/homepage/Dockerfile b/containers/homepage/Dockerfile similarity index 100% rename from homepage/Dockerfile rename to containers/homepage/Dockerfile diff --git a/homepage/README.md b/containers/homepage/README.md similarity index 100% rename from homepage/README.md rename to containers/homepage/README.md diff --git a/homepage/docker-compose.yml.blanked b/containers/homepage/docker-compose.yml.blanked similarity index 100% rename from homepage/docker-compose.yml.blanked rename to containers/homepage/docker-compose.yml.blanked diff --git a/homepage/nginx/nginx.conf b/containers/homepage/nginx/nginx.conf similarity index 100% rename from homepage/nginx/nginx.conf rename to containers/homepage/nginx/nginx.conf diff --git a/homepage/website/about.html b/containers/homepage/website/about.html similarity index 100% rename from homepage/website/about.html rename to containers/homepage/website/about.html diff --git a/homepage/website/index.html b/containers/homepage/website/index.html similarity index 100% rename from homepage/website/index.html rename to containers/homepage/website/index.html diff --git a/homepage/website/script.js b/containers/homepage/website/script.js similarity index 100% rename from homepage/website/script.js rename to containers/homepage/website/script.js diff --git a/homepage/website/services.html b/containers/homepage/website/services.html similarity index 100% rename from homepage/website/services.html rename to containers/homepage/website/services.html diff --git a/homepage/website/static/about/mount-olomana.jpg b/containers/homepage/website/static/about/mount-olomana.jpg similarity index 100% rename from homepage/website/static/about/mount-olomana.jpg rename to containers/homepage/website/static/about/mount-olomana.jpg diff --git a/homepage/website/static/about/olomana.jpg b/containers/homepage/website/static/about/olomana.jpg similarity index 100% rename from homepage/website/static/about/olomana.jpg rename to containers/homepage/website/static/about/olomana.jpg diff --git a/homepage/website/static/about/whitney.jpg b/containers/homepage/website/static/about/whitney.jpg similarity index 100% rename from homepage/website/static/about/whitney.jpg rename to containers/homepage/website/static/about/whitney.jpg diff --git a/homepage/website/static/favicon.ico b/containers/homepage/website/static/favicon.ico similarity index 100% rename from homepage/website/static/favicon.ico rename to containers/homepage/website/static/favicon.ico diff --git a/homepage/website/static/services/code-server.png b/containers/homepage/website/static/services/code-server.png similarity index 100% rename from homepage/website/static/services/code-server.png rename to containers/homepage/website/static/services/code-server.png diff --git a/homepage/website/static/services/covid-tracker.png b/containers/homepage/website/static/services/covid-tracker.png similarity index 100% rename from homepage/website/static/services/covid-tracker.png rename to containers/homepage/website/static/services/covid-tracker.png diff --git a/homepage/website/static/services/discord.png b/containers/homepage/website/static/services/discord.png similarity index 100% rename from homepage/website/static/services/discord.png rename to containers/homepage/website/static/services/discord.png diff --git a/homepage/website/static/services/gitea.png b/containers/homepage/website/static/services/gitea.png similarity index 100% rename from homepage/website/static/services/gitea.png rename to containers/homepage/website/static/services/gitea.png diff --git a/homepage/website/static/services/minecraft.png b/containers/homepage/website/static/services/minecraft.png similarity index 100% rename from homepage/website/static/services/minecraft.png rename to containers/homepage/website/static/services/minecraft.png diff --git a/homepage/website/static/services/photoprism.png b/containers/homepage/website/static/services/photoprism.png similarity index 100% rename from homepage/website/static/services/photoprism.png rename to containers/homepage/website/static/services/photoprism.png diff --git a/homepage/website/static/services/plex.png b/containers/homepage/website/static/services/plex.png similarity index 100% rename from homepage/website/static/services/plex.png rename to containers/homepage/website/static/services/plex.png diff --git a/homepage/website/static/services/recipes.png b/containers/homepage/website/static/services/recipes.png similarity index 100% rename from homepage/website/static/services/recipes.png rename to containers/homepage/website/static/services/recipes.png diff --git a/homepage/website/styles.css b/containers/homepage/website/styles.css similarity index 100% rename from homepage/website/styles.css rename to containers/homepage/website/styles.css diff --git a/jenkins/.gitignore b/containers/jenkins/.gitignore similarity index 100% rename from jenkins/.gitignore rename to containers/jenkins/.gitignore diff --git a/jenkins/README.md b/containers/jenkins/README.md similarity index 100% rename from jenkins/README.md rename to containers/jenkins/README.md diff --git a/jenkins/docker-compose.yml.blanked b/containers/jenkins/docker-compose.yml.blanked similarity index 100% rename from jenkins/docker-compose.yml.blanked rename to containers/jenkins/docker-compose.yml.blanked diff --git a/metube/.gitignore b/containers/metube/.gitignore similarity index 100% rename from metube/.gitignore rename to containers/metube/.gitignore diff --git a/metube/README.md b/containers/metube/README.md similarity index 100% rename from metube/README.md rename to containers/metube/README.md diff --git a/metube/docker-compose.yml.blanked b/containers/metube/docker-compose.yml.blanked similarity index 100% rename from metube/docker-compose.yml.blanked rename to containers/metube/docker-compose.yml.blanked diff --git a/minecraft/.gitignore b/containers/minecraft/.gitignore similarity index 100% rename from minecraft/.gitignore rename to containers/minecraft/.gitignore diff --git a/minecraft/README.md b/containers/minecraft/README.md similarity index 100% rename from minecraft/README.md rename to containers/minecraft/README.md diff --git a/minecraft/docker-compose.yml.blanked b/containers/minecraft/docker-compose.yml.blanked similarity index 100% rename from minecraft/docker-compose.yml.blanked rename to containers/minecraft/docker-compose.yml.blanked diff --git a/monica/.gitignore b/containers/monica/.gitignore similarity index 100% rename from monica/.gitignore rename to containers/monica/.gitignore diff --git a/monica/README.md b/containers/monica/README.md similarity index 100% rename from monica/README.md rename to containers/monica/README.md diff --git a/monica/docker-compose.yml.blanked b/containers/monica/docker-compose.yml.blanked similarity index 100% rename from monica/docker-compose.yml.blanked rename to containers/monica/docker-compose.yml.blanked diff --git a/nordvpn/.gitignore b/containers/nordvpn/.gitignore similarity index 100% rename from nordvpn/.gitignore rename to containers/nordvpn/.gitignore diff --git a/nordvpn/README.md b/containers/nordvpn/README.md similarity index 100% rename from nordvpn/README.md rename to containers/nordvpn/README.md diff --git a/containers/nordvpn/docker-compose.yml.NORDLYNX b/containers/nordvpn/docker-compose.yml.NORDLYNX new file mode 100644 index 0000000..b1c5e3a --- /dev/null +++ b/containers/nordvpn/docker-compose.yml.NORDLYNX @@ -0,0 +1,38 @@ +version: "3" + +services: + nordlynx: + image: ghcr.io/bubuntux/nordlynx:latest + container_name: nordlynx + restart: unless-stopped + cap_add: + - NET_ADMIN + environment: + - TOKEN=e9f2ab4999032b61f29845afdc0067aa389827546411b4891ff0ec4368ab6cc1 + - PRIVATE_KEY=mDnVa4EMbnlSF8Sg/i657hf+NRyWQxQjKTwkImD/HWE= + - NET_LOCAL=192.168.1.0/24 + - TZ=America/Los_Angeles + - QUERY=filters\[country_id\]=202 + ports: + - "8888:8888" + labels: + - traefik.enable=false + + qb: + image: ghcr.io/linuxserver/qbittorrent:latest + container_name: qb + restart: unless-stopped + network_mode: service:nordlynx + environment: + - PUID=1000 + - PGID=1000 + - WEBUI_PORT=8888 + volumes: + - /data/write/qb/appdata/config:/config + - /data/write/qb/downloads:/downloads + - ./plugins:/plugins + depends_on: + - nordlynx + labels: + - traefik.enable=false + diff --git a/nordvpn/docker-compose.yml.blanked b/containers/nordvpn/docker-compose.yml.blanked similarity index 100% rename from nordvpn/docker-compose.yml.blanked rename to containers/nordvpn/docker-compose.yml.blanked diff --git a/photoprism/.gitignore b/containers/photoprism/.gitignore similarity index 100% rename from photoprism/.gitignore rename to containers/photoprism/.gitignore diff --git a/photoprism/README.md b/containers/photoprism/README.md similarity index 100% rename from photoprism/README.md rename to containers/photoprism/README.md diff --git a/photoprism/docker-compose.yml.blanked b/containers/photoprism/docker-compose.yml.blanked similarity index 100% rename from photoprism/docker-compose.yml.blanked rename to containers/photoprism/docker-compose.yml.blanked diff --git a/plex/.gitignore b/containers/plex/.gitignore similarity index 100% rename from plex/.gitignore rename to containers/plex/.gitignore diff --git a/plex/README.md b/containers/plex/README.md similarity index 100% rename from plex/README.md rename to containers/plex/README.md diff --git a/plex/docker-compose.yml.blanked b/containers/plex/docker-compose.yml.blanked similarity index 100% rename from plex/docker-compose.yml.blanked rename to containers/plex/docker-compose.yml.blanked diff --git a/portainer/.gitignore b/containers/portainer/.gitignore similarity index 100% rename from portainer/.gitignore rename to containers/portainer/.gitignore diff --git a/portainer/README.md b/containers/portainer/README.md similarity index 100% rename from portainer/README.md rename to containers/portainer/README.md diff --git a/portainer/docker-compose.yml.blanked b/containers/portainer/docker-compose.yml.blanked similarity index 100% rename from portainer/docker-compose.yml.blanked rename to containers/portainer/docker-compose.yml.blanked diff --git a/traefik/.gitignore b/containers/traefik/.gitignore similarity index 100% rename from traefik/.gitignore rename to containers/traefik/.gitignore diff --git a/traefik/README.md b/containers/traefik/README.md similarity index 100% rename from traefik/README.md rename to containers/traefik/README.md diff --git a/traefik/docker-compose.yml.blanked b/containers/traefik/docker-compose.yml.blanked similarity index 100% rename from traefik/docker-compose.yml.blanked rename to containers/traefik/docker-compose.yml.blanked diff --git a/traefik/step1-docker-compose.yml b/containers/traefik/step1-docker-compose.yml similarity index 100% rename from traefik/step1-docker-compose.yml rename to containers/traefik/step1-docker-compose.yml diff --git a/traefik/step2-docker-compose.yml b/containers/traefik/step2-docker-compose.yml similarity index 100% rename from traefik/step2-docker-compose.yml rename to containers/traefik/step2-docker-compose.yml diff --git a/traefik/step3-docker-compose.yml b/containers/traefik/step3-docker-compose.yml similarity index 100% rename from traefik/step3-docker-compose.yml rename to containers/traefik/step3-docker-compose.yml diff --git a/traefik/step4-docker-compose.yml b/containers/traefik/step4-docker-compose.yml similarity index 100% rename from traefik/step4-docker-compose.yml rename to containers/traefik/step4-docker-compose.yml diff --git a/traefik/step5-docker-compose.yml b/containers/traefik/step5-docker-compose.yml similarity index 100% rename from traefik/step5-docker-compose.yml rename to containers/traefik/step5-docker-compose.yml diff --git a/traefik/step5-traefik-dynamic.toml b/containers/traefik/step5-traefik-dynamic.toml similarity index 100% rename from traefik/step5-traefik-dynamic.toml rename to containers/traefik/step5-traefik-dynamic.toml diff --git a/traefik/step5-traefik.toml b/containers/traefik/step5-traefik.toml similarity index 100% rename from traefik/step5-traefik.toml rename to containers/traefik/step5-traefik.toml diff --git a/traefik/traefik-dynamic.toml.blanked b/containers/traefik/traefik-dynamic.toml.blanked similarity index 100% rename from traefik/traefik-dynamic.toml.blanked rename to containers/traefik/traefik-dynamic.toml.blanked diff --git a/traefik/traefik.toml.BLANKED b/containers/traefik/traefik.toml.BLANKED similarity index 100% rename from traefik/traefik.toml.BLANKED rename to containers/traefik/traefik.toml.BLANKED diff --git a/monolith/README.md b/monolith/README.md new file mode 100644 index 0000000..b9d7331 --- /dev/null +++ b/monolith/README.md @@ -0,0 +1,46 @@ +# Olomana - All in One +This is the one-dockerfile version of olomana containing the stable "production" containers. +Better than going module by module but don't let that stop you. +Run everything with a simple `docker-compose down && docker system prune && docker-compose up -d` +Run one thing with a simple `docker-compose up serviceName` + +## Setup + +### Traefik + +#### Instructions + +##### Files +Create/Fill in the following files in a `traefik/` directory under this one using the provided templates: +- `traefik.toml` +- `traefik-dynamic.toml`. + +The file `traefik/acme.json` will be generated on first run. Make sure it eventually gets permission code 600. You might need to create a blank file before the first run. + +##### Volumes +Mount each of these files into the container, including the docker socket: +- `/var/run/docker.sock:/var/run/docker.sock:ro` +- `./traefik/traefik.toml:/etc/traefik/traefik.toml` +- `./traefik/traefik-dynamic.toml:/etc/traefik/dynamic/traefik-dynamic.toml` +- `./traefik/acme.json:/etc/acme.json` + +#### References +https://doc.traefik.io/traefik/getting-started/quick-start/ +https://doc.traefik.io/traefik/user-guides/docker-compose/basic-example/ + +### Code-Server + +#### Instructions + +##### Volumes +Mount the persistant storage somewhere. +- `/pwspool/software/code-server/config:/config` + +##### Metadata +Re-roll hashed passwords. + +#### References +https://docs.linuxserver.io/images/docker-code-server/ +https://coder.com/docs/code-server/latest/install#docker +https://hub.docker.com/r/linuxserver/code-server +https://github.com/coder/code-server/blob/main/docs/FAQ.md#can-i-store-my-password-hashed diff --git a/monolith/docker-compose.yml b/monolith/docker-compose.yml new file mode 100644 index 0000000..f72f10d --- /dev/null +++ b/monolith/docker-compose.yml @@ -0,0 +1,46 @@ +version: "3" + +networks: + traefik: + driver: bridge + name: traefik + +services: + traefik: + image: traefik:latest + container_name: traefik + restart: unless-stopped + networks: + - traefik + ports: + - "80:80" + - "8080:8080" + - "443:443" + volumes: + - /var/run/docker.sock:/var/run/docker.sock:ro + - ./traefik.toml:/etc/traefik/traefik.toml + - ./traefik-dynamic.toml:/etc/traefik/dynamic/traefik-dynamic.toml + - ./acme.json:/etc/acme.json + + code-server: + image: lscr.io/linuxserver/code-server:latest + container_name: code-server + restart: unless-stopped + networks: + - traefik + volumes: + - /pwspool/software/code-server/config:/config + environment: + - PUID=1000 + - PGID=1000 + - TZ=Etc/UTC + - HASHED_PASSWORD=$$argon2i$$v=19$$m=4096,t=3,p=1$$o70PqzdDrUvzijIN+Nd+uw$$8wsBelBomYLsaKFelBAf+v8KqpS7TMsfFvmouarbehg + - SUDO_PASSWORD_HASH=$$argon2i$$v=19$$m=4096,t=3,p=1$$o70PqzdDrUvzijIN+Nd+uw$$8wsBelBomYLsaKFelBAf+v8KqpS7TMsfFvmouarbehg + - PROXY_DOMAIN=code.whitney.rip + - DEFAULT_WORKSPACE=/config/workspace + labels: + - traefik.http.routers.code.rule=Host(`code.whitney.rip`) + - traefik.http.routers.code.tls=true + - traefik.http.routers.code.tls.certresolver=lets-encrypt + - traefik.http.services.code.loadbalancer.server.port=8443 + diff --git a/monolith/traefik/.gitignore b/monolith/traefik/.gitignore new file mode 100644 index 0000000..8736ec4 --- /dev/null +++ b/monolith/traefik/.gitignore @@ -0,0 +1,3 @@ +acme.json +traefik.toml +traefik-dynamic.toml diff --git a/monolith/traefik/traefik-dynamic.toml.BLANKED b/monolith/traefik/traefik-dynamic.toml.BLANKED new file mode 100644 index 0000000..3dd15ca --- /dev/null +++ b/monolith/traefik/traefik-dynamic.toml.BLANKED @@ -0,0 +1,18 @@ +# Whitney Traefik Dynamic Config + +[http.middlewares] + [http.middlewares.redirect-to-www.redirectRegex] + regex = "^https?://example.com(.*)" + replacement = "http://www.example.com$${1}" + permanent = true + [http.middlewares.simpleAuth.basicAuth] + users = ["olomana:HASHED_PASSWORD_HERE"] + +[http.routers.api] + rule = "Host(`monitor.example.rip`)" + entrypoints = "websecure" + middlewares = ["simpleAuth"] + service = "api@internal" + [http.routers.api.tls] + certResolver = "lets-encrypt" + diff --git a/monolith/traefik/traefik.toml.BLANKED b/monolith/traefik/traefik.toml.BLANKED new file mode 100644 index 0000000..e4d9f82 --- /dev/null +++ b/monolith/traefik/traefik.toml.BLANKED @@ -0,0 +1,41 @@ +# Whitney Traefik Static Config +[global] + checkNewVersion = true + sendAnonymousUsage = false + +[entryPoints] + [entryPoints.web] + address = ":80" + [entryPoints.web.http.redirections.entryPoint] + to = "websecure" + scheme = "https" + [entryPoints.websecure] + address = ":443" + +[api] + dashboard = true + +[file] + watch = true + +[certificatesResolvers.lets-encrypt.acme] + email = "your-email@example.com" + storage = "/etc/acme.json" + # Use LetsEncrypt Staging Server + # caServer: "https://acme-staging-v02.api.letsencrypt.org/directory" + # Use LetsEncrypt Prod Server + caServer = "https://acme-v02.api.letsencrypt.org/directory" + [certificatesResolvers.lets-encrypt.acme.tlsChallenge] + +[providers] + [providers.docker] + watch = true + network = "traefik" + [providers.file] + directory = "/etc/traefik/dynamic/" + filename = "traefik-dynamic.toml" + watch = true + +[log] + level = "info" + diff --git a/traefik/docker-compose.yml b/traefik/docker-compose.yml deleted file mode 100644 index 9a36ea7..0000000 --- a/traefik/docker-compose.yml +++ /dev/null @@ -1,22 +0,0 @@ -version: "3" - -networks: - traefik-network: - -services: - traefik: - image: traefik:latest - container_name: traefik - restart: unless-stopped - networks: - - traefik-network - ports: - - "80:80" - - "8080:8080" - - "443:443" - volumes: - - /var/run/docker.sock:/var/run/docker.sock:ro - - ./traefik.toml:/etc/traefik/traefik.toml - - ./traefik-dynamic.toml:/etc/traefik/dynamic/traefik-dynamic.toml - - ./acme.json:/etc/acme.json -