diff --git a/Config/DNS/README.md b/Config/DNS/README.md index f6f0767..33833b3 100644 --- a/Config/DNS/README.md +++ b/Config/DNS/README.md @@ -1,5 +1,5 @@ # Local DNS Host a local DNS server in case your router/gateway is not cutting it. Allows the ability to use simple names across the network witrhout editing `/etc/hosts` -on each machine. The IP of this server should be added to the router/gateway's +on each machine. The IP of this server will be added to the router/gateway's settings so that all machines on the network know to use it and can benefit. diff --git a/Config/DynamicDNS/update_dns.sh b/Config/DynamicDNS/update_dns.sh index 383518a..72435cc 100755 --- a/Config/DynamicDNS/update_dns.sh +++ b/Config/DynamicDNS/update_dns.sh @@ -42,7 +42,7 @@ function usage { } function check { - # Accepts parameter of status and whether the program should quit. + # Accepts parameter of status and whether the program is needs to quit. status=$1 quit=$2 if [[ $status != 0 ]]; then diff --git a/Config/Gitea/example.env b/Config/Gitea/example.env index e266b64..cae4228 100644 --- a/Config/Gitea/example.env +++ b/Config/Gitea/example.env @@ -1,4 +1,4 @@ -# This file should be copied as `.env`. +# This file wll need copied as `.env`. ## Docker ## diff --git a/Config/Hyperling.com/example.env b/Config/Hyperling.com/example.env index e67a4d9..16fde40 100644 --- a/Config/Hyperling.com/example.env +++ b/Config/Hyperling.com/example.env @@ -1,4 +1,4 @@ -# This file should be renamed '.env' and have any private values modified. +# This file will need renamed '.env' and have any private values modified. ## 2025-06-16 ## Performance Notes for Enabling BAKE @@ -10,7 +10,7 @@ COMPOSE_BAKE=true ## Branch ## # Allow choosing the branch. By leaving it blank, the main branch will be used. -# Should be in the full "--branch my-branch" syntax. +# Needs to be in the full "--branch my-branch" syntax. BRANCH= #BRANCH="--branch dev" diff --git a/Config/LibreTranslate/example.env b/Config/LibreTranslate/example.env index 309f2f7..3f0ef58 100644 --- a/Config/LibreTranslate/example.env +++ b/Config/LibreTranslate/example.env @@ -1,4 +1,4 @@ -# This file should be renamed '.env' and have any private values modified. +# This file will need renamed '.env' and have any private values modified. COMPOSE_BAKE=true diff --git a/Config/Nextcloud/cron.sh b/Config/Nextcloud/cron.sh index 6e5d239..b66805d 100755 --- a/Config/Nextcloud/cron.sh +++ b/Config/Nextcloud/cron.sh @@ -1,7 +1,7 @@ #!/bin/bash # 2023-08-25 Hyperling # Put the cron command in a script as well as other automation. -# This should be added to root's crontab with the full path, such as: +# This will need added to root's crontab with the full path, such as: # */5 * * * * /opt/Docker/Config/Nextcloud/cron.ksh DIR="$(dirname -- "${BASH_SOURCE[0]}")" diff --git a/Config/Nextcloud/env.micro b/Config/Nextcloud/env.micro index 96d3b94..7cada33 100644 --- a/Config/Nextcloud/env.micro +++ b/Config/Nextcloud/env.micro @@ -1,4 +1,4 @@ -# Example environment file for Nextcloud stack, should be copied as `.env`. +# Example environment file for Nextcloud stack, needs copied as `.env`. # The variables here only apply to the compose file. If you need it passed to a # container then it also needs specified in its `environment:` operator. @@ -32,7 +32,7 @@ PHP_UPLOAD_LIMIT=32M # ## MariaDB ## # -# Should load automatically the first run. Then config.php is the source of +# Will load automatically the first run. Then config.php is the source of # truth for these values. So, if something like the DB password is changed, # updating it here will have no effect. This is only used for the install. @@ -53,7 +53,7 @@ REDIS_HOST_PASSWORD=someredispassword ### #### OnlyOffice ## ### -### How Nextcloud's ONLYOFFICE Admin Settings should be set up: +### How Nextcloud's ONLYOFFICE Admin Settings needs set up: ### OO Address: https://FQDN-For-Reverse-Proxied-OO-Server ### OO Secret: Contents-Of-$JWT_SECRET ### OO Header: diff --git a/Config/Nextcloud/env.standard b/Config/Nextcloud/env.standard index 37bf875..ac8d093 100644 --- a/Config/Nextcloud/env.standard +++ b/Config/Nextcloud/env.standard @@ -1,4 +1,4 @@ -# Example environment file for Nextcloud stack, should be copied as `.env`. +# Example environment file for Nextcloud stack, needs copied as `.env`. # The variables here only apply to the compose file. If you need it passed to a # container then it also needs specified in its `environment:` operator. @@ -32,7 +32,7 @@ PHP_UPLOAD_LIMIT=5G # ## MariaDB ## # -# Should load automatically the first run. Then config.php is the source of +# Will load automatically the first run. Then config.php is the source of # truth for these values. So, if something like the DB password is changed, # updating it here will have no effect. This is only used for the install. @@ -53,7 +53,7 @@ REDIS_HOST_PASSWORD=someredispassword # ## OnlyOffice ## # -# How Nextcloud's ONLYOFFICE Admin Settings should be set up: +# How Nextcloud's ONLYOFFICE Admin Settings needs set up: # OO Address: https://FQDN-For-Reverse-Proxied-OO-Server # OO Secret: Contents-Of-$JWT_SECRET # OO Header: diff --git a/Config/PhotoPrism/example.env b/Config/PhotoPrism/example.env index b3c004a..e560201 100644 --- a/Config/PhotoPrism/example.env +++ b/Config/PhotoPrism/example.env @@ -15,7 +15,7 @@ PHOTOPRISM_ADMIN_USER = "admin" # admin login username PHOTOPRISM_ADMIN_PASSWORD = "PleaseChangeMe" # initial admin password (8-72 characters) # External FQDN -# Should be in the format "http(s)://domain.name(:port)/(path)". +# In the format "http(s)://domain.name(:port)/(path)". # Seems to work best if you leave off the s if behind a revese proxy, # such as: PHOTOPRISM_SITE_URL = "http://photoprism.example.com" PHOTOPRISM_SITE_URL = "http://localhost:2342" diff --git a/Config/ProvisionTests/example.env b/Config/ProvisionTests/example.env index 1165a5b..e5dec47 100644 --- a/Config/ProvisionTests/example.env +++ b/Config/ProvisionTests/example.env @@ -1,4 +1,4 @@ -# This file should be renamed '.env' and have any private values modified. +# This file will need renamed '.env' and have any private values modified. COMPOSE_BAKE=true diff --git a/Config/ReverseProxy/README.md b/Config/ReverseProxy/README.md index 544d6a5..6c2c4d4 100644 --- a/Config/ReverseProxy/README.md +++ b/Config/ReverseProxy/README.md @@ -59,7 +59,7 @@ If the proxy needs turned off either stop or down may be used. ## Upgrade -Upgrading the containers should be as easy as this: +Upgrading the containers is as easy as this: ``` # docker compose down @@ -93,4 +93,4 @@ If wanted as a one-line command: 1. Restart the project based on Update Config above. 1. (Optional) Now you may run the letsencrypt script for a real certificate. 1. (Optional) Run another Update Config to make sure the certs are loaded. -1. Done! If set up correctly the site should be live. +1. Done! If set up correctly the site will be live. diff --git a/Config/ReverseProxy/config/conf.d/git.example.com b/Config/ReverseProxy/config/conf.d/git.example.com index 6e07e1f..e8dfd5a 100644 --- a/Config/ReverseProxy/config/conf.d/git.example.com +++ b/Config/ReverseProxy/config/conf.d/git.example.com @@ -1,6 +1,6 @@ # 2024-12-31 Hyperling # A dummy test file since true scripts are being kept private. -# This should help anyone understand how the project is being used. +# This will help anyone understand how the project is being used. ## Instructions ## # Add this without the comment to your /etc/hosts to test that it is working, @@ -11,9 +11,9 @@ # cd $DOCKER_HOME/Config/ReverseProxy && docker compose build && docker compose up -d # Then from the system with the modified /etc/hosts, # curl --insecure git.example.com -# You should see activity in the container log as well as the contents of the +# You will see activity in the container log as well as the contents of the # proxied website in the terminal, NOT git.example.com. If using a browser then you -# should notice that the URL is still git.example.com but the website is correct. +# will notice that the URL is still git.example.com but the website is correct. # Force HTTPS server { diff --git a/Config/ReverseProxy/config/conf.d/html.example.com b/Config/ReverseProxy/config/conf.d/html.example.com index 4a01d29..ff9866a 100644 --- a/Config/ReverseProxy/config/conf.d/html.example.com +++ b/Config/ReverseProxy/config/conf.d/html.example.com @@ -1,6 +1,6 @@ # 2023-07-08 Hyperling # A dummy test file since true scripts are being kept private. -# This should help anyone understand how the project is being used. +# This will help anyone understand how the project is being used. ## Instructions ## # Add this without the comment to your /etc/hosts to test that it is working, @@ -11,9 +11,9 @@ # cd $DOCKER_HOME/Config/ReverseProxy && docker compose build && docker compose up -d # Then from the system with the modified /etc/hosts, # curl --insecure html.example.com -# You should see activity in the container log as well as the contents of the -# proxied website in the terminal, NOT html.example.com. If using a browser then you -# should notice that the URL is still html.example.com but the website is correct. +# You will see activity in the container log as well as the contents of the +# proxied website in the terminal, NOT git.example.com. If using a browser then you +# will notice that the URL is still git.example.com but the website is correct. # Force HTTPS server { diff --git a/Config/ReverseProxy/config/conf.d/nextcloud.example.com b/Config/ReverseProxy/config/conf.d/nextcloud.example.com index 5cd2d99..b98d374 100644 --- a/Config/ReverseProxy/config/conf.d/nextcloud.example.com +++ b/Config/ReverseProxy/config/conf.d/nextcloud.example.com @@ -1,6 +1,6 @@ # 2025-01-02 Hyperling # A dummy test file since true scripts are being kept private. -# This should help others understand how to get Nextcloud working. +# This will help others understand how to get Nextcloud working. ## Instructions ## # Add this without the comment to your /etc/hosts to test that it is working, @@ -11,9 +11,9 @@ # cd $DOCKER_HOME/Config/ReverseProxy && docker compose build && docker compose up -d # Then from the system with the modified /etc/hosts, # curl --insecure cloud.example.com -# You should see activity in the container log as well as the contents of the -# proxied website in the terminal, NOT cloud.example.com. If using a browser then you -# should notice that the URL is still cloud.example.com but the website is correct. +# You will see activity in the container log as well as the contents of the +# proxied website in the terminal, NOT git.example.com. If using a browser then you +# will notice that the URL is still git.example.com but the website is correct. server { listen 80; diff --git a/Config/ReverseProxy/config/conf.d/proxy.example.com b/Config/ReverseProxy/config/conf.d/proxy.example.com index cbf481c..36b432e 100644 --- a/Config/ReverseProxy/config/conf.d/proxy.example.com +++ b/Config/ReverseProxy/config/conf.d/proxy.example.com @@ -1,6 +1,6 @@ # 2022-10-05 Hyperling # A dummy test file since true scripts are being kept private. -# This should help anyone understand how the project is being used. +# This will help anyone understand how the project is being used. ## Instructions ## # Add this without the comment to your /etc/hosts to test that it is working, @@ -11,9 +11,9 @@ # cd $DOCKER_HOME/Config/ReverseProxy && docker compose build && docker compose up -d # Then from the system with the modified /etc/hosts, # curl --insecure proxy.example.com -# You should see activity in the container log as well as the contents of the +# You will see activity in the container log as well as the contents of the # proxied website in the terminal, NOT proxy.example.com. If using a browser then you -# should notice that the URL is still proxy.example.com but the website is correct. +# will notice that the URL is still proxy.example.com but the website is correct. # Force HTTPS server { @@ -67,7 +67,7 @@ server { # Or alternatively, do it like the force of HTTPS if not your server. #return 301 https://website.name/$request_uri; - # This should forward you from 'proxy.example.com' to a real site: + # This will forward you from 'proxy.example.com' to a real site: proxy_pass https://hyperling.com; } diff --git a/Config/ReverseProxy/config/html/README.md b/Config/ReverseProxy/config/html/README.md index 97b93b6..a69786d 100644 --- a/Config/ReverseProxy/config/html/README.md +++ b/Config/ReverseProxy/config/html/README.md @@ -2,5 +2,5 @@ If the reverse proxy also serves static HTML sites, the root directories of each can be placed here. Then in `../conf.d` add a file which points the domain to the HTML web root, such as `/etc/nginx/html/www.website.name`. An example for -this exists called `html.example.com`. It should be fairly easy to recreate for +this exists called `html.example.com`. It is fairly easy to recreate for another website. diff --git a/Config/WordpressExample/docker-compose.example.yml b/Config/WordpressExample/docker-compose.example.yml index 656f35f..fc60497 100644 --- a/Config/WordpressExample/docker-compose.example.yml +++ b/Config/WordpressExample/docker-compose.example.yml @@ -1,7 +1,7 @@ # 2025-10-17 Hyperling # Copied and modified from the example here: # https://hub.docker.com/_/wordpress -# This file should be copied to `docker-compose.yml`. +# This file needs copied to `docker-compose.yml`. # Most configration changes can be done in the env file rather than here. ## TBDs ## diff --git a/Config/WordpressExample/example.env b/Config/WordpressExample/example.env index da7d110..90ae2c6 100644 --- a/Config/WordpressExample/example.env +++ b/Config/WordpressExample/example.env @@ -1,4 +1,4 @@ -# This file should be copied to `.env` and have its values changes as needed. +# This file needs copied to `.env` and have its values changes as needed. ## Docker ## diff --git a/README.md b/README.md index 291d81c..41a92ef 100644 --- a/README.md +++ b/README.md @@ -1,18 +1,22 @@ # My Docker Setup + Scripting my way into the Docker world. I was unable to find a good tutorial on using and managing containers so this is what made sense to me based on practice with `docker-compose`. Also has some usages of `Dockerfile` to build some apps. ## Disclaimer + Currently the project only focuses on `apt` based operating systems, and is being used in production by the latest Debian release. ## Other README's + Each `Config/PROJECT/` folder also contains its own README file with specific information to running that sub project. This file's job is to cover the general Docker installation. The others then contain details on their program setup. ## How To Use + Most of these commands benefit from being root. Something like a `sudo su -` if you feel comfortable with it. Otherwise be aware that using sudo may cause file permission conflicts when interacting with the configuration files and folders. @@ -70,17 +74,20 @@ Cross your fingers and hope to succeed! ## Folders ### Config -Compose projects are set up here. Each folder should have a `docker-compose.yml` -file set up unless it is for utility such as DynamicDNS, which is used in CRON. + +Compose projects are set up here. Each folder needs `docker-compose.yml` and `.env` +files set up unless it is for utility such as DynamicDNS, which is used in CRON. ### Volumes + The data of the files go here if the Config is done correctly. I think this -should be easier to remember than `/var/lib/docker/volumes` when it comes time +will be easier to remember than `/var/lib/docker/volumes` when it comes time for migrations. Hopefully all that'd be needed is to rsync `/opt/Docker` and run `install.sh` and then `start.sh` on the new server. You are welcome to use a directory other than `/opt/Docker`, this project is location agnostic. ### bin + Scripts to help make life easier. Some are pretty basic, but others do nice things like handle the container IDs. - `create.sh` @@ -94,4 +101,4 @@ things like handle the container IDs. - Start, stop, update, rebuild, etc all compose containers. - `uninstall.sh` - If something goes wrong and you'd like to start from scratch without - provisioning a new server then this should do the job. + provisioning a new server then this will do the job. diff --git a/bin/pull_backup.sh b/bin/pull_backup.sh index e63c15f..1eeede0 100755 --- a/bin/pull_backup.sh +++ b/bin/pull_backup.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash # 2024-01-29 Hyperling # Example of how to pull the polled Backip.zip file. This would be placed on -# the machine holding the backups in the directory that it should land. +# the machine holding the backups in the directory that it needs to land. DIR="$(dirname -- "${BASH_SOURCE[0]}")" PROG="$(basename -- "${BASH_SOURCE[0]}")" diff --git a/cron.example b/cron.example index 77dd8eb..e877a73 100644 --- a/cron.example +++ b/cron.example @@ -1,4 +1,4 @@ -# The entries below should be added to the root crontab, taking into account +# The entries below need to be added to the root crontab, taking into account # where you have placed your Docker Home. This assumes `/opt/Docker`. ## Dynamic DNS ##