chore(docs): release our docker-compose blog and docs

This commit is contained in:
kjeld Schouten-Lebbing
2022-03-06 16:36:03 +01:00
parent a08886b2c7
commit e51afebf95
4 changed files with 105 additions and 14 deletions
+35
View File
@@ -0,0 +1,35 @@
# Docker-Compose on TrueNAS SCALE using TrueCharts
From the early stages of TrueNAS SCALE development, weve read many complaints about the fact docker-compose wasnt supported by TrueNAS SCALE. Its understandable, as its one of the most used docker deployment options for home users.
The TrueNAS SCALE community has figured out interesting ways to enable Docker-Compose. But this approaches all have a number of downsides:
- It's not future proof, it can be nuked permanently and without warning, with any TrueNAS SCALE update.
- It inherently breaks SCALE Applications and often even requires those to be disabled.
- There is no support for this work-around.
To solve this problem, weve decided to take matters into our own hands. We are glad to finally announce our solution:
**Docker-Compose Application for TrueNAS SCALE by TrueCharts**
Its designed from the ground up, to give users nearly the same experience as running Docker-Compose on the host system, and even contains some nice tweaks:
- Its fully backed by TrueNAS SCALE Applications, so it will survive updates.
- There is a GUI option to input your Docker-Compose file, that will survive reboots.
- Completely self-contained, and will not modify the default docker stack.
- Fully compatible to run alongside other TrueNAS SCALE Applications, so you can easily migrate your Docker-Compose applications to TrueNAS SCALE Applications.
- We are your support if the application does not work as advertised.
All with just one caveat:
- The Docker-Compose command has to be executed from inside the container shell.
We based our solution on the official Docker-in-Docker container by Docker, with some added tooling to optimize it for single-container deployments. Perhaps most interestingly, the container has native access to `/mnt`, `/root` and `/cluster`, so you can work with your containers like youre working on the host.
With this in place we hope that TrueNAS SCALE can finally start to fill the big shoes of solutions like Unraid and TrueNAS Core and give the community what they want, not just what they need!
+30 -6
View File
@@ -3,14 +3,38 @@
---
## Last Post:
### Introducing: TrueCharts Container Repository
### Docker-Compose on TrueNAS SCALE using TrueCharts
The last year weve grown at an ever-increasing pace, doubling code and users every few months. Some issues could be fixed quickly and easily, while other issues were vastly more complex. One of those issues happened to be the convoluted mess of different container sources.
From the early stages of TrueNAS SCALE development, weve read many complaints about the fact docker-compose wasnt supported by TrueNAS SCALE. Its understandable, as its one of the most used docker deployment options for home users.
These container sources all had different tag formats, rate limits, downtimes, and one even decided to start deleting tags, leading to applications breaking. This, obviously, was not the experience we wanted our users to have.
The TrueNAS SCALE community has figured out interesting ways to enable Docker-Compose. But this approaches all have a number of downsides:
Therefore, weve spent the better part of December setting up our own container distribution system. The TrueCharts Container Repository, or TCCR in short. TCCR is a combination of containers weve fully built ourselves and containers we mirror, screen and re-tag into a standardized format. Doing this also allowed us to ensure *all* containers are available from multiple sources: GHCR, Quay and Dockerhub.
- It's not future proof, it can be nuked permanently and without warning, with any TrueNAS SCALE update.
To achieve this, weve partnered with scarf.sh, which allows us to easily switch between container sources for our repository, while also giving us something new: metrics. We can finally see which containers are popular and which are not, but we can also see if there are people still using older versions of applications. This allows us to improve our decision-making process: which apps to work on and which older versions to keep supporting.
- It inherently breaks SCALE Applications and often even requires those to be disabled.
All of you have (under the hood), already been running TCCR and weve only had a handful of issues related to it. Were happy to have created something that again, highlights us as the number 1 source for TrueNAS SCALE Applications.
- There is no support for this work-around.
To solve this problem, weve decided to take matters into our own hands. We are glad to finally announce our solution:
**Docker-Compose Application for TrueNAS SCALE by TrueCharts**
Its designed from the ground up, to give users nearly the same experience as running Docker-Compose on the host system, and even contains some nice tweaks:
- Its fully backed by TrueNAS SCALE Applications, so it will survive updates.
- There is a GUI option to input your Docker-Compose file, that will survive reboots.
- Completely self-contained, and will not modify the default docker stack.
- Fully compatible to run alongside other TrueNAS SCALE Applications, so you can easily migrate your Docker-Compose applications to TrueNAS SCALE Applications.
- We are your support if the application does not work as advertised.
All with just one caveat:
- The Docker-Compose command has to be executed from inside the container shell.
We based our solution on the official Docker-in-Docker container by Docker, with some added tooling to optimize it for single-container deployments. Perhaps most interestingly, the container has native access to `/mnt`, `/root` and `/cluster`, so you can work with your containers like youre working on the host.
With this in place we hope that TrueNAS SCALE can finally start to fill the big shoes of solutions like Unraid and TrueNAS Core and give the community what they want, not just what they need!
@@ -0,0 +1,40 @@
# 13 - Docker-Compose on SCALE
While Docker-Compose is not officially supported by iX Systems, we have designed a special "Docker-Compose" App, that is available in the "core" train.
This App can be used to easily deploy a compose file in a completely isolated docker-compose environment.
Our Docker-Compose app has the following features:
- Binding ports to the host, directly from docker-compose
- Internal Docker-Compose networks
- `/mnt`, `/root` and `/mnt` are directly accessable inside the Docker-Compose container by default
- The docker-images and docker volumes, are saved in a special PVC inside the Apps system of TrueNAS SCALE
- Compose files can be automatically loaded on the start of our Docker-Compose App
- Will fully survive updates of TrueNAS SCALE
- Will not alter the Host OS
- Can be combined with SCALE App, to enable users to slowly migrate from docker-compose to native SCALE Apps
A few things to be aware of:
- To issue commands to docker or docker compose, you need to be inside the Docker-Compose App shell (not the host Shell)
- Please ensure your Docker-Compose networks do not conflict with the Kubernetes networks listed in the settings of the SCALE Apps system.
- Please be aware that Docker-Compose containers, by cannot reach inside the kubernetes network. So you cannot combine a "Launch Docker" container with a Docker-Compose hosted database for example.
Simply put:
Our docker-compose solution works almost like using it on the host, but without compromising the Appliance OS that is TrueNAS SCALE.
#### Video Guide
TBD
##### Additional Documentation
@@ -1,8 +0,0 @@
# 13 - Migrate from Docker-Compose
#### Video Guide
TBD
##### Additional Documentation