Changes for page Software Stacks

Last modified by chrisby on 2024/08/29 14:47

From version 1.1
edited by chrisby
on 2023/09/03 16:40
Change comment: There is no comment for this version
To version 1.3
edited by chrisby
on 2023/09/03 18:57
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -1,2 +1,23 @@
1 -{{children/}}
1 +(% style="text-align: justify;" %)
2 +=== Introduction ===
2 2  
4 +(% style="text-align: justify;" %)
5 +I love open source software, especially when it can be deployed seamlessly via Docker. I often combine deployments with Traefik, which greatly simplifies the reverse proxying process and certificate generation. However, individual projects often have unique nuances and configurations. So I've created this section to show you how to deploy the software I'm working on with no more than two commands.
6 +
7 +(% style="text-align: justify;" %)
8 +All the configurations described in the subsections use Traefik as a reverse proxy. It's also possible to combine all the stacks below on a single device behind a single Traefik container. Just copy the service configuration in one docker-compose.yml to another docker-compose.yml and run "docker-compose up -d" to do the rest.
9 +
10 +(% style="text-align: justify;" %)
11 +Traefik will automatically generate an appropriate LetsEncrypt certificate on startup. It's worth noting that there is currently a limit of 5 LetsEncrypt certificates per 24 hour period. However, there's an option in the Traefik settings in docker-compose.yml to manually disable this and use dummy certificates instead. This comes in handy if you're in the experimental phase and are initiating multiple deployments per day. If you want to get rid of the dummy certificates, just shut down Traefik, delete its volume and restart it.
12 +
13 +(% style="text-align: justify;" %)
14 +In each docker-compose.yml, unambiguous docker image tags are set. The reason for this is to keep the deployment stable. Nothing is more frustrating than having bugs during deployment and having to find a working set of image versions when you just want to test the software. If you intend to use the software in production, I recommend deploying the latest version of the containers to avoid unnecessary security vulnerabilities and to get the latest features.
15 +
16 +
17 +(% style="text-align: justify;" %)
18 +=== Requirements ===
19 +
20 +* A Linux server
21 +** with a public IP address
22 +** where docker and docker-compose are installed
23 +* A domain (e.g. "crispy-coding.org") and DNS records pointing from subdomains (e.g. gitea.crispy-coding.org, openproject.crispy-coding.org) to the public IP address of the Linux server.