You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Several updates 2023_05_26. See full commit log.
* A ton of changes.
* Renamed docker-compose.yml to docker-compose-npm.yml to align with the naming convention used for traefik.
* I was getting tired of my experiments affecting media servers and databases, which were needed 24/7. So split media apps and databases into their own compose. I run this on a separate Ubuntu LXC (unprivileged) container on Proxmox.
* Deleted docker-compose-t2-obsolete.yml. Moved all obsolete apps into their own yml files in the archives folder.
* Major changes on docker-compose-t2.yml (my home server). Extension fields were killing the readability and made it difficult to write guides without explaining. Therefore, I removed extension fields. This will be replicated to Synology and Web Server compose files in future.
* Updated hardware and docker version details in compose files.
* Added docker profiles with the aim of symplifying starting and stopping specific group of services.
* Updated some paths to reflect the new setup.
* Replaced Nzbget with SABnzbd. Nzbget development stopped.
* Archived handbrake, mkvtoolnix, makemkv - rarely used them.
* Temporarily removed glances, qdirstat, AdGuard-Home Sync
* Add IT-Tools, Sitespeed.io (to monitor my site performance)
* Added Lidarr, Radarr, Prowlarr, SABnzbd, and Sonarr exporters to send metrics to Prometheus - I may remove some of this information is also available via Home Assistant InfluxDB.
* Added Node-Exporter to scrape Docker host metrics into Prometheus for Grafana dashboarding.
* Updated milddlewares.yml removed old settings and cleaned things up a bit.
* Update media-services.txt - This might go away in future after I implement docker profiles.
* Updated README.
* Whats coming: Move traefik CLI commands to traefik.yml to clean up the compose. Add Traefik plugins.
Copy file name to clipboardExpand all lines: README.md
+50-74Lines changed: 50 additions & 74 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,47 +7,55 @@ This is the updated docker-compose repo of all the media, home, and web server a
7
7
-[WordPress on Docker with Nginx, Traefik, LE SSL, Security, and Speed](https://www.smarthomebeginner.com/wordpress-on-docker-traefik/)
8
8
-[Ultimate Synology NAS Docker Compose Media Server 2022](https://www.smarthomebeginner.com/synology-nas-docker-media-server-2022/)
9
9
10
+
# Support My Work
11
+
12
+
Documenting, writing guides, and keeping this repo update-to-date takes hundreds of hours of work. Please consider supporting my work to show your appreciation.
13
+
14
+
# Did this Repo help you?
15
+
- Become a patron and show us your strongest support.
- Do you need support or just want to chat with like-minded people. Join our discord.
28
+
- The authors will try our best to help but support is not guaranteed. But you will find others who might have went through what you are going through and may be willing to pay it forward and help.
29
+
10
30
<divstyle="padding:20px;border: 3pxsolidred;">
11
31
<h3>IMPORTANT</h3>
12
32
If you are going to start from scratch using this repo, be prepared to be patient and start slow. There are so many details to pay attention to. First start with the basic Docker Media Server guide linked above (with Nginx Proxy Manager instead of Traefik).
13
33
14
-
When you are ready to upgrade to Traefik or prefer Traefik over Nginx Proxy Manager, I strongly suggest getting Traefik and Traefik dashboard up and running before adding any other app. Here is the order I would recommend:
15
-
16
-
<ol>
17
-
<li>Traefik with HTTP Authentication. This requires:</li>
18
-
<ul>
19
-
<li>.env file</li>
20
-
<li>secrets</li>
21
-
<li>network definition</li>
22
-
<li>middlewares and chains</li>
23
-
</ul>
24
-
<li>Socket Proxy</li>
25
-
<li>Check to ensure Traefik still works</li>
26
-
<li>OAuth or Authelia (optional)</li>
27
-
<li>Check to ensure OAuth works</li>
28
-
<li>Put Traefik dashboard behind OAuth or Authelia and disable HTTP Authentication</li>
29
-
<li>Ensure Traefik dashboard works behind OAuth/Authelia</li>
30
-
<li>Proceed to add portainer and other apps/services</li>
31
-
</ol>
34
+
When you are ready to upgrade to Traefik or prefer Traefik over Nginx Proxy Manager, I strongly suggest getting Traefik and Traefik dashboard up and running before adding any other app.
32
35
33
36
Go step-by-step. If you bite too big of a piece, I guarantee you will choke.
34
37
35
38
</div>
36
39
37
-
<strong>Supporting Articles:</strong>
40
+
<strong>Supporting Guides:</strong>
38
41
39
42
-[How to Install Docker and Docker Compose on Ubuntu 22.04 LTS](https://www.smarthomebeginner.com/install-docker-on-ubuntu-22-04/)[[VIDEO](https://youtu.be/nwFh4JBGD_0)]
40
43
-[How to Install Docker and Docker Compose on Ubuntu 20.04 LTS](https://www.smarthomebeginner.com/install-docker-on-ubuntu-20-04/)
41
44
-[Cloudflare Settings for Traefik Docker: DDNS, CNAMEs, & Tweaks](https://www.smarthomebeginner.com/cloudflare-settings-for-traefik-docker/)
45
+
-[Ultimate Docker to Podman Migration Guide: It's NOT difficult](https://www.smarthomebeginner.com/docker-to-podman-migration-guide/)
46
+
-[Nextcloud Docker with Traefik Reverse Proxy for Beginners](https://www.smarthomebeginner.com/traefik-docker-nextcloud/)
47
+
48
+
<strong>Security Guides:</strong>
49
+
42
50
-[Google OAuth 2 MFA Protection for Docker](https://www.smarthomebeginner.com/traefik-forward-auth-google-oauth-2022/)
43
51
-[Authelia MFA Protection for Docker](https://www.smarthomebeginner.com/docker-authelia-tutorial/)
44
52
-[Traefik Docker Security Best Practices](https://www.smarthomebeginner.com/traefik-docker-security-best-practices/)
45
53
-[Crowdsec Docker Compose Guide Part 1: Powerful IPS with Firewall Bouncer](https://www.smarthomebeginner.com/crowdsec-docker-compose-1-fw-bouncer/)
46
54
-[CrowdSec Docker Part 2: Improved IPS with Cloudflare Bouncer](https://www.smarthomebeginner.com/crowdsec-cloudflare-bouncer/)
47
55
-[CrowdSec Docker Part 3: Traefik Bouncer for Additional Security](https://www.smarthomebeginner.com/crowdsec-traefik-bouncer/)
48
56
-[CrowdSec Multiserver Docker (Part 4): For Ultimate Protection](https://www.smarthomebeginner.com/crowdsec-multiserver-docker/)
49
-
-[Ultimate Docker to Podman Migration Guide: It's NOT difficult](https://www.smarthomebeginner.com/docker-to-podman-migration-guide/)
50
-
-[Nextcloud Docker with Traefik Reverse Proxy for Beginners](https://www.smarthomebeginner.com/traefik-docker-nextcloud/)
57
+
58
+
For security, I implemented CrowdSec multi-server setup in 2022. From the stats, it is blocking/mitigating well over 600 intrusion attempts per day on my servers. I will cover this in a separate guide later but you will find the docker-compose CrowdSec, Traefik Bouncer, and Cloudflare Bouncer Bouncers in my repo already.
51
59
52
60
### Obsolete Posts (for educational purposes):
53
61
@@ -58,45 +66,33 @@ The following posts have been updated/replaced by the posts linked above:
58
66
-[Docker Media Server with Traefik 1 Reverse Proxy](https://www.smarthomebeginner.com/traefik-reverse-proxy-tutorial-for-docker/)
59
67
-[Synology Docker Media Server with Traefik, Docker Compose, and Cloudflare](https://www.smarthomebeginner.com/synology-docker-media-server/)
60
68
61
-
## Docker, Docker Compose, and Traefik Versions (updated September, 2022)
62
-
63
-
- Docker: 20.10.18
64
-
- Docker Compose: v2.10.2
65
-
- Traefik: 2.8
66
-
67
-
<strong>Update (September 13, 2021):</strong> I moved from TOML to YAML for Traefik 2 dynamic configurations. I have included example configuration files for both. However, since I do not use TOML anymore, there may be minor syntax errors or typos.
68
-
69
69
### Description of Compose Files in this Repo
70
70
71
-
- docker-compose.yml - this is the basic media server stack with Nginx Proxy Manager instead of Traefik
72
-
- docker-compose-t2.yml - this is my main stack with most apps/services, including Traefik
71
+
- docker-compose-t2.yml - this is my main stack with most apps/services (home aserver), including Traefik
72
+
- docker-compose-npm.yml - this is the basic media server stack with Nginx Proxy Manager instead of Traefik
73
73
- docker-compose-t2-web.yml - web server specific stack for WordPress and non-WordPress sites with Nginx and Traefik
74
74
- docker-compose-t2-synology.yml - apps/services that I run on Synology NAS using Docker Compose for Homelab use
75
-
- docker-compose-t2-obsolete.yml - apps/services that I once tried/used but don't use anymore (future compatibility not guaranteed)
76
-
77
-
Almost any app/service from the docker-compose files listed above can be copy-pasted to any other compose file in this repo.
I use Syncthing to keep certain key files synched between various systems.
93
90
94
-
### Security
95
-
For security, I implemented CrowdSec multi-server setup recently. From the stats, it is blocking/mitigating well over 600 intrusion attempts per day on my servers. I will cover this in a separate guide later but you will find the docker-compose CrowdSec, Traefik Bouncer, and Cloudflare Bouncer Bouncers in my repo already.
96
-
97
91
## What apps are included in this stack?
98
92
99
-
The apps I use are scattered around in several different docker-compose files. Some apps are used in more than one host and some on only one.
93
+
The apps I use are scattered around in several different docker-compose files. Click the links below for specific installation guides.
94
+
95
+
Some apps are used in more than one host and some on only one.
100
96
101
97
### FRONTENDS
102
98
@@ -106,7 +102,7 @@ The apps I use are scattered around in several different docker-compose files. S
@@ -204,6 +200,7 @@ The apps I use are scattered around in several different docker-compose files. S
204
200
- MergerFS - Merge local and remote file systems
205
201
- Gluetun - VPN client for docker containers and more
206
202
- DeUnhealth - Auto restart containers on VPN restart
203
+
-[AdGuard Home](https://www.smarthomebeginner.com/adguard-home-docker-compose-guide/) - DNS Sinkhole / Ad-blocker
207
204
208
205
### WEB
209
206
@@ -219,12 +216,6 @@ The apps I use are scattered around in several different docker-compose files. S
219
216
- Cloudflare Companion - Automatic CNAME creation for services
220
217
- WhoAmI - For testing.
221
218
222
-
# Installation and Usage
223
-
224
-
Follow the guides linked at the beginning of this readme.
225
-
226
-
--------- ANYTHING THAT HAS "example" IN THE NAME WILL HAVE TO BE RENAMED APPROPRIATELY ---------
227
-
228
219
## Starting and Stopping
229
220
230
221
I use bash_aliases to simplify starting and stopping containers/stack. Included in the repo is an example of bash_aliases I use (replace USER with your Linux username). Here are some example alias commands:
@@ -235,19 +226,4 @@ I use bash_aliases to simplify starting and stopping containers/stack. Included
235
226
- <strong>dcstop2</strong> - Stop a specific service
236
227
- <strong>dcrestart2</strong> - Restart a specific service
237
228
- <strong>dclogs2</strong> - See real-time logs for the corresponding stack or service
238
-
- <strong>dcpull2</strong> - Pull new images for the corresponding stack or service
239
-
240
-
## Join our Community
241
-
- Do you need support or just want to chat with like-minded people. Join our discord.
242
-
- The authors will try our best to help but support is not guaranteed. But you will find others who might have went through what you are going through and may be willing to pay it forward and help.
0 commit comments