⁽¹⁾ Note: All README have english translation, but comments inside individual files are only in Spanish at the moment.
-
Each service has its own folder and
README.md
. Check out each one to better understand how they work. -
They can be run from CLI or be imported to Portainer, Dockge...
-
Although they can be deployed at any time, it's interesting to follow this order to fulfill dependencies:
1. Socket Proxy 2. Traefik 3. Authelia 4. Nextcloud 5. Crowdsec 6. MariaDB 7. Any other container with Traefik labels
All services are fully functional, but I am aware that there are different (infinite) ways to approach each one. Although all of them could be improved, I tried that each one have at least one new technique that we can apply in other contexts.
- In Socket Proxy we will see the general structure of a docker-compose:
- Services, networks, volumes and environment variables.
- The inclusion of
privileged
to create containers with elevated privileges on the host machine.
- In Traefik we will see the use of labels and also:
- The correlation between files within the container and their mount points on the host machine's file system.
- Create networks external to the compose.
- Create Tokens on Cloudflare.
- In Authelia we will introduce the use of secrets as a security measure for our sensitive data.
- We will also learn how to generate strong passwords on a Linux system.
- We will see how to run commands within a container that has not yet been started.
- In Nextcloud we will see a multi-service compose:
- One container for the application, another one for the relational database and another one for the in-memory database.
- The use of
command
as a mean of launching a container always with the same initial conditions.
- In Crowdsec how to run commands in a container:
- From outside in our shell and from inside with interactive mode.
- We will also look at the use of plugins in Traefik.
- In Dashy we'll setup a healthcheck for our container.
- In OPNdash how to create preset volumes in Docker.
- In Proxmox Backup Server how to create a preset volume but have the container see it as a physical storage device.
- And other things I'll think about along the way...
- Docker Socket Proxy
- Træfik
- Authelia
- Nextcloud
- Crowdsec
- Dashy
- Atuin
- Cloudflare DDNS
- Code Server
- jDownloader
- MariaDB
- Minecraft Bedrock Server
- OPNSense Dashboard
- Proxmox Backup Server
- Proxmox Dashboard
Today almost everything is invented. Each case is unique and you've to adapt all the info on Internet to your needs. I wouldn't have begun if it weren't for the countless gentle experts who we're lucky to have nowadays on Internet. Therefore,
- Timothy Stewart (Techno Tim)
- Jay LaCroix (Learn Linux TV)
- Carlos (Computadoras y Sensores)
- Anand (Smart Home Beginner)
- Christopher Barnatt (Explaining Computers)
- The Linux de facto Bible
- Online docs
To every developer whose containers I've used in my projects. There's a reference to their work within each README.md
. Thank you all for your effort and willingness to share.