commit d838f6f2bb733fa3c06029c38f384f1ce577f4ae Author: capntack Date: Mon Apr 10 20:55:50 2023 -0500 Creation of repo diff --git a/LICENSE.md b/LICENSE.md new file mode 100755 index 0000000..f50ef62 --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,24 @@ +This is free and unencumbered software released into the public domain. + +Anyone is free to copy, modify, publish, use, compile, sell, or +distribute this software, either in source code form or as a compiled +binary, for any purpose, commercial or non-commercial, and by any +means. + +In jurisdictions that recognize copyright laws, the author or authors +of this software dedicate any and all copyright interest in the +software to the public domain. We make this dedication for the benefit +of the public at large and to the detriment of our heirs and +successors. We intend this dedication to be an overt act of +relinquishment in perpetuity of all present and future rights to this +software under copyright law. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +For more information, please refer to diff --git a/README.md b/README.md new file mode 100644 index 0000000..46ebc75 --- /dev/null +++ b/README.md @@ -0,0 +1,11 @@ +# Biulerplates + +> **Thank you for visiting!** If you are viewing this repo on GitHub or GitLab, please note that this is just a mirror. Please visit the [originating repo](https://tacksupport.net/git/capntack/Boilerplates) for any comments, issues, pull requests, etc. You can sign in with your GitHub or GitLab account via Oauth2. + +
+ +This repository is my personal collection of templates and configurations for various services and tools. + +
+ +> **Disclaimer:** While I will try my best to keep these updated to both what I run in production as well as with the services themselves as they update, I cannot garauntee that they will be. As always, perform your own due dilligence. And never run code that you don't understand. \ No newline at end of file diff --git a/ROADMAP.md b/ROADMAP.md new file mode 100644 index 0000000..c7b943a --- /dev/null +++ b/ROADMAP.md @@ -0,0 +1,4 @@ +# Roadmap + +- Flesh out READMEs for each image +- Remove variables to an .env file \ No newline at end of file diff --git a/docker-compose/README.md b/docker-compose/README.md new file mode 100644 index 0000000..50d55c9 --- /dev/null +++ b/docker-compose/README.md @@ -0,0 +1,34 @@ +# README + +### Style Guide + +I like consistency and readability/understandability. As such, I've defined myself a Boilerplate Style Guide for when creating new docker compose files. On a case by case basis, I may go against this template if it makes sense. + +The official documentation for how the Docker Compose specification works can be found [here](https://docs.docker.com/compose/compose-file/). + +Note that, [starting with Docker Compose 1.27.0+](https://docs.docker.com/compose/compose-file/compose-versioning/), it is no longer necessary to specify the Docker Compose version (i.e. `version: "3.1`) as this option has been deprecated. + +The order of operations for how the `cap_add` and `cap_drop` options can be found [here](https://stackoverflow.com/questions/63162665/docker-compose-order-of-cap-drop-and-cap-add/63219871#63219871) or reference the image below: + +![cap_add and cap_drop matrix](https://i.imgur.com/rDhRS4U.jpg) + +You can name Docker Compose files hower you like as long as it has a .yml or .yaml extension. However, if you name it anything other than `docker-compose.yml` or `docker-compose.yaml`, you must pass the filename in the docker compose command. i.e. `docker compose up -d` + +I've left the default host side ports in these boilerplates. Which means several of them would conflict with each other. Please update accordingly to your setup. + +I use [custom networks](https://docs.docker.com/compose/networking/#specify-custom-networks) for all of my containers that are able to utilize them. Feel free to adjust to your own setup. + +```yaml +# .yml +# Docker Hub: +# Documentation: +# + +volumes: + +networks: + +services: + : + +``` \ No newline at end of file diff --git a/docker-compose/checkmk/README.md b/docker-compose/checkmk/README.md new file mode 100644 index 0000000..e69de29 diff --git a/docker-compose/checkmk/docker-compose.yml b/docker-compose/checkmk/docker-compose.yml new file mode 100644 index 0000000..72b3824 --- /dev/null +++ b/docker-compose/checkmk/docker-compose.yml @@ -0,0 +1,26 @@ +# docker-compose.yml +# Docker Hub: https://hub.docker.com/r/checkmk/check-mk-raw +# Documentation: https://docs.checkmk.com/latest/en/ +# The WebUI can be found at http://: + +networks: + : + external: true + +services: + checkmk: + container_name: checkmk + image: checkmk/check-mk-raw: + networks: + - + ports: + - "5000:5000" # WebUI Port + - "8000:8000" # Checkmk Agent Port + restart: unless-stopped + tmpfs: + - /opt/omd/sites/cmk/tmp:uid=1000,gid=1000 + ulimits: + nofile: 1024 + volumes: + - /etc/localtime:/etc/localtime:ro + - ./sites:/omd/sites \ No newline at end of file diff --git a/docker-compose/freshrss/README.md b/docker-compose/freshrss/README.md new file mode 100644 index 0000000..e69de29 diff --git a/docker-compose/freshrss/docker-compose.yml b/docker-compose/freshrss/docker-compose.yml new file mode 100644 index 0000000..78d93bf --- /dev/null +++ b/docker-compose/freshrss/docker-compose.yml @@ -0,0 +1,24 @@ +# docker-compose.yml +# Docker Hub: https://hub.docker.com/r/freshrss/freshrss +# The WebUI can be found at http://: + +networks: + : + external: true + +services: + freshrss: + container_name: freshrss + environment: + - PUID=1000 + - PGID=1000 + image: lscr.io/linuxserver/freshrss: + networks: + - + ports: + - "80:80" # WebUI Port + restart: unless-stopped + security_opt: + - no-new-privileges:true + volumes: + - ./config:/config \ No newline at end of file diff --git a/docker-compose/ghost-stack/README.md b/docker-compose/ghost-stack/README.md new file mode 100644 index 0000000..e69de29 diff --git a/docker-compose/ghost-stack/docker-compose.yml b/docker-compose/ghost-stack/docker-compose.yml new file mode 100644 index 0000000..bd9b0bc --- /dev/null +++ b/docker-compose/ghost-stack/docker-compose.yml @@ -0,0 +1,39 @@ +# docker-compose.yml +# Docker Hub: https://hub.docker.com/_/ghost +# The WebUI can be found at http://: +# Ghost is very particular about it's variables, hence the odd format + +networks: + : + external: true + +services: + ghost: + container_name: ghost + depends_on: + - ghost-db + environment: + database__client: mysql + database__connection__host: ghost-db + database__connection__user: root + database__connection__database: ghost + database__connection__password: + url: + image: ghost: + networks: + - + ports: + - "2368:2368" + restart: unless-stopped + volumes: + - ./ghost:/var/lib/ghost/content + ghost-db: + container_name: ghost-db + environment: + - MYSQL_ROOT_PASSWORD= + image: mysql: + networks: + - + restart: unless-stopped + volumes: + - ./ghost-db:/var/lib/mysql \ No newline at end of file diff --git a/docker-compose/gitea/README.md b/docker-compose/gitea/README.md new file mode 100644 index 0000000..e69de29 diff --git a/docker-compose/gitea/docker-compose.yml b/docker-compose/gitea/docker-compose.yml new file mode 100644 index 0000000..6021f5e --- /dev/null +++ b/docker-compose/gitea/docker-compose.yml @@ -0,0 +1,26 @@ +# docker-compose.yml +# Docker Hub: https://hub.docker.com/r/gitea/gitea +# Documentation: https://docs.gitea.io/en-us/ +# The WebUI can be found at http://: + +networks: + : + external: true + +services: + gitea: + container_name: gitea + environment: + - USER_UID=1000 + - USER_GID=1000 + image: gitea/gitea: + networks: + - + ports: + - "3000:3000" # WebUI Port + - "22:22" # SSH Port + restart: unless-stopped + volumes: + - ./data:/data + - /etc/timezone:/etc/timezone:ro + - /etc/localtime:/etc/localtime:ro \ No newline at end of file diff --git a/docker-compose/it-tools/README.md b/docker-compose/it-tools/README.md new file mode 100644 index 0000000..e69de29 diff --git a/docker-compose/it-tools/docker-compose.yml b/docker-compose/it-tools/docker-compose.yml new file mode 100644 index 0000000..98b4a1e --- /dev/null +++ b/docker-compose/it-tools/docker-compose.yml @@ -0,0 +1,17 @@ +# docker-compose.yml +# Docker Hub: https://hub.docker.com/r/corentinth/it-tools +# The WebUI can be found at http://: + +networks: + : + external: true + +services: + it-tools: + container_name: it-tools + image: corentinth/it-tools: + networks: + - + ports: + - "80:80" # WebUI PORT + restart: unless-stopped \ No newline at end of file diff --git a/docker-compose/linkding-stack/README.md b/docker-compose/linkding-stack/README.md new file mode 100644 index 0000000..e69de29 diff --git a/docker-compose/linkding-stack/docker-compose.yml b/docker-compose/linkding-stack/docker-compose.yml new file mode 100644 index 0000000..0dd17fb --- /dev/null +++ b/docker-compose/linkding-stack/docker-compose.yml @@ -0,0 +1,42 @@ +# docker-compose.yml +# linkding Docker Hub: https://hub.docker.com/r/sissbruecker/linkding +# The linkding WebUI can be found at http://: +# postgres Docker Hub: https://hub.docker.com/_/postgres + +networks: + : + external: yes + +services: + linkding: + container_name: linkding + depends_on: + - linkding-db + environment: + - LD_DB_ENGINE=postgres + - LD_DB_DATABASE=linkding + - LD_DB_USER=linkding + - LD_DB_PASSWORD= + - LD_DB_HOST=linkding-db + image: sissbruecker/linkding: + networks: + - + ports: + - "9090:9090" # linkding WebUI Port + restart: unless-stopped + volumes: + - ./linkding/data:/etc/linkding/data + linkding-db: + container_name: linkding-db + environment: + - POSTGRES_DB=linkding + - POSTGRES_USER=linkding + - POSTGRES_PASSWORD= + image: postgres: + logging: + driver: "none" + networks: + - + restart: unless-stopped + volumes: + - ./linkding-db/data:/var/lib/postgresql/data diff --git a/docker-compose/littlelink-server/README.md b/docker-compose/littlelink-server/README.md new file mode 100644 index 0000000..e69de29 diff --git a/docker-compose/littlelink-server/docker-compose.yml b/docker-compose/littlelink-server/docker-compose.yml new file mode 100644 index 0000000..e94337b --- /dev/null +++ b/docker-compose/littlelink-server/docker-compose.yml @@ -0,0 +1,22 @@ +# docker-compose.yml +# Docker Hub: https://hub.docker.com/r/timothystewart6/littlelink-server +# Documentation: https://github.com/techno-tim/littlelink-server +# The WebUI can be found at http://: + +networks: + : + external: true + +services: + littlelink-server: + container_name: littleLink-server + environment: + - + image: timothystewart6/littlelink-server: + networks: + - + ports: + - "3000:3000" # WebUI Port + restart: unless-stopped + security_opt: + - no-new-privileges:true \ No newline at end of file diff --git a/docker-compose/nginx-proxy-manager/README.md b/docker-compose/nginx-proxy-manager/README.md new file mode 100644 index 0000000..e69de29 diff --git a/docker-compose/nginx-proxy-manager/docker-compose.yml b/docker-compose/nginx-proxy-manager/docker-compose.yml new file mode 100644 index 0000000..4007882 --- /dev/null +++ b/docker-compose/nginx-proxy-manager/docker-compose.yml @@ -0,0 +1,23 @@ +# docker-compose.yml +# Docker Hub: https://hub.docker.com/r/jlesage/nginx-proxy-manager +# The WebUI can be found at http://: +# Default credentials are admin@example.com \ changeme + +networks: + : + external: true + +services: + nginx-proxy-manager: + container_name: nginx-proxy-manager + image: jc21/nginx-proxy-manager: + networks: + - + ports: + - "80:80" # HTTP Port + - "81:81" # WebUI Port + - "443:443" # HTTPS Port + restart: unless-stopped + volumes: + - ./data:/data + - ./letsencrypt:/etc/letsencrypt \ No newline at end of file diff --git a/docker-compose/openspeedtest/README.md b/docker-compose/openspeedtest/README.md new file mode 100644 index 0000000..e69de29 diff --git a/docker-compose/openspeedtest/docker-compose.yml b/docker-compose/openspeedtest/docker-compose.yml new file mode 100644 index 0000000..dce623f --- /dev/null +++ b/docker-compose/openspeedtest/docker-compose.yml @@ -0,0 +1,17 @@ +# docker-compose.yml +# Docker Hub: https://hub.docker.com/r/openspeedtest/latest +# The WebUI can be found at http://: + +networks: + : + external: true + +services: + openspeedtest: + container_name: openspeedtest + image: openspeedtest/latest: + networks: + - + ports: + - "3000:3000" # WebUI Port + restart: unless-stopped \ No newline at end of file diff --git a/docker-compose/organizr/README.md b/docker-compose/organizr/README.md new file mode 100644 index 0000000..e69de29 diff --git a/docker-compose/organizr/docker-compose.yml b/docker-compose/organizr/docker-compose.yml new file mode 100644 index 0000000..f88e69d --- /dev/null +++ b/docker-compose/organizr/docker-compose.yml @@ -0,0 +1,22 @@ +# docker-compose.yml +# Docker Hub: https://hub.docker.com/r/organizr/organizr/ +# The WebUI can be found at http://: + +networks: + : + external: true + +services: + organizr: + container_name: organizr + environment: + - PUID=1000 + - PGID=1000 + image: organizr/organizr: + networks: + - + ports: + - "80:80" # WebUI Port + restart: unless-stopped + volumes: + - ./config:/config \ No newline at end of file diff --git a/docker-compose/pi-hole/README.md b/docker-compose/pi-hole/README.md new file mode 100644 index 0000000..e69de29 diff --git a/docker-compose/pi-hole/docker-compose.yml b/docker-compose/pi-hole/docker-compose.yml new file mode 100644 index 0000000..b166fd8 --- /dev/null +++ b/docker-compose/pi-hole/docker-compose.yml @@ -0,0 +1,16 @@ +# docker-compose.yml +# Docker Hub: https://hub.docker.com/r/pihole/pihole +# The WebUI can be found at http:///admin + +services: + pi-hole: + container_name: pi-hole + environment: + - TZ= + - WEBPASSWORD= + image: pihole/pihole: + network_mode: host + restart: unless-stopped + volumes: + - ./pihole:/etc/pihole + - ./dnsmasq.d:/etc/dnsmasq.d \ No newline at end of file diff --git a/docker-compose/portainer-agent/README.md b/docker-compose/portainer-agent/README.md new file mode 100644 index 0000000..e69de29 diff --git a/docker-compose/portainer-agent/docker-compose.yml b/docker-compose/portainer-agent/docker-compose.yml new file mode 100644 index 0000000..75210c3 --- /dev/null +++ b/docker-compose/portainer-agent/docker-compose.yml @@ -0,0 +1,20 @@ +# docker-compose.yml +# Docker Hub: https://hub.docker.com/r/portainer/agent +# Documentation: https://docs.portainer.io/admin/environments/add/docker#connecting-via-the-portainer-agent + +networks: + : + external: true + +services: + portainer-agent: + container_name: portainer-agent + image: portainer/agent: + networks: + - + ports: + - "9001:9001" # Portainer Agent Port + restart: always + volumes: + - /var/run/docker.sock:/var/run/docker.sock + - /var/lib/docker/volumes:/var/lib/docker/volumes \ No newline at end of file diff --git a/docker-compose/portainer-ce/README.md b/docker-compose/portainer-ce/README.md new file mode 100644 index 0000000..e69de29 diff --git a/docker-compose/portainer-ce/docker-compose.yml b/docker-compose/portainer-ce/docker-compose.yml new file mode 100644 index 0000000..6bf6522 --- /dev/null +++ b/docker-compose/portainer-ce/docker-compose.yml @@ -0,0 +1,26 @@ +# docker-compose.yml +# Docker Hub: https://hub.docker.com/r/portainer/portainer-ce +# The WebUI can be found at http://: +# I would suggest unchecking the data checkbox during setup +# Then navigating to the Users tab, selecting the admin user, and renaming +# Then navigating to the Settins tab, check Force HTTPS only, then Apply Changes + +networks: + : + external: true + +services: + portainer-ce: + container_name: portainer-ce + image: portainer/portainer-ce: + networks: + - + ports: + - "9443:9443" # WebUI Port + restart: unless-stopped + security_opt: + - no-new-privileges:true + volumes: + - /etc/localtime:/etc/localtime:ro + - /var/run/docker.sock:/var/run/docker.sock:ro + - ./data:/data \ No newline at end of file diff --git a/docker-compose/uptime-kuma/README.md b/docker-compose/uptime-kuma/README.md new file mode 100644 index 0000000..e69de29 diff --git a/docker-compose/uptime-kuma/docker-compose.yml b/docker-compose/uptime-kuma/docker-compose.yml new file mode 100644 index 0000000..a0ae5e2 --- /dev/null +++ b/docker-compose/uptime-kuma/docker-compose.yml @@ -0,0 +1,19 @@ +# docker-compose.yml +# Docker Hub: https://hub.docker.com/r/louislam/uptime-kuma +# The WebUI can be found at http://: + +networks: + : + external: true + +services: + uptime-kuma: + container_name: uptime-kuma + image: louislam/uptime-kuma: + networks: + - + ports: + - "3001:3001" # WebUI Port + restart: unless-stopped + volumes: + - ./data:/app/data diff --git a/docker-compose/watchtower/README.md b/docker-compose/watchtower/README.md new file mode 100644 index 0000000..e69de29 diff --git a/docker-compose/watchtower/docker-compose.yml b/docker-compose/watchtower/docker-compose.yml new file mode 100644 index 0000000..d155fbb --- /dev/null +++ b/docker-compose/watchtower/docker-compose.yml @@ -0,0 +1,21 @@ +# docker-compose.yml +# Docker Hub: https://hub.docker.com/r/containrrr/watchtower +# Documentation: https://containrrr.dev/watchtower/ +# Watchtower is very particular about it's variables, hence the odd format + +networks: + : + external: true + +services: + watchtower: + container_name: watchtower + environment: + TZ: + : + image: containrrr/watchtower: + networks: + - + restart: unless-stopped + volumes: + - /var/run/docker.sock:/var/run/docker.sock \ No newline at end of file diff --git a/docker-compose/wikijs-stack/README.md b/docker-compose/wikijs-stack/README.md new file mode 100644 index 0000000..e69de29 diff --git a/docker-compose/wikijs-stack/docker-compose.yml b/docker-compose/wikijs-stack/docker-compose.yml new file mode 100644 index 0000000..92eb0f6 --- /dev/null +++ b/docker-compose/wikijs-stack/docker-compose.yml @@ -0,0 +1,44 @@ +# docker-compose.yml +# Wiki.js Docker Hub: https://hub.docker.com/r/requarks/wiki +# The Wiki.js WebUI can be found at http://: +# postgres Docker Hub: https://hub.docker.com/_/postgres + +volumes: + db: + +networks: + : + external: true + +services: + wikijs: + container_name: wikijs + depends_on: + - wikijs-db + environment: + - DB_TYPE=postgres + - DB_HOST=Wikijs-db + - DB_PORT=5432 + - DB_USER=wikijs + - DB_NAME=wiki + - DB_PASS= + image: requarks/wiki: + networks: + - + ports: + - "3000:3000" # Wiki.js WebUI Port + restart: unless-stopped + wikijs-db: + container_name: wikijs-db + environment: + - POSTGRES_USER=wikijs + - POSTGRES_DB=wiki + - POSTGRES_PASSWORD= + image: postgres: + logging: + driver: "none" + networks: + - + restart: unless-stopped + volumes: + - db:/var/lib/postgresql/data \ No newline at end of file