this post was submitted on 12 Jul 2023
124 points (93.1% liked)

Selfhosted

39435 readers
5 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 1 year ago
MODERATORS
 

For the vast majority of docker images, the documentation only mention a super long and hard to understand "docker run" one liner.

Why nobody is placing an example docker-compose.yml in their documentation? It's so tidy and easy to understand, also much easier to run in the future, just set and forget.

If every image had an yml to just copy, I could get it running in a few seconds, instead I have to decode the line to become an yml

I want to know if it's just me that I'm out of touch and should use "docker run" or it's just that an "one liner" looks much tidier in the docs. Like to say "hey just copy and paste this line to run the container. You don't understand what it does? Who cares"

The worst are the ones that are piping directly from curl to "sudo bash"...

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 8 points 1 year ago (3 children)

I've started replacing my docker compose files with pure ansible that is the equivilent of doing docker run. My ansible playbooks look almost exactly like my compose file but they can also create folders, set config files or cycle services when configs are updated.

It's been a bit of a learning process but it's replaced a lot what was previously documentation with code instead.

[–] [email protected] 4 points 1 year ago (1 children)

Check out the GitHub project ansible-nas

[–] [email protected] 2 points 1 year ago

ansible-nas

Wow, yeah this is exactly the sort of roles/playbooks that I've been building. I'm definitely using this as a source before starting my own from scratch. Thanks for sharing.

[–] xcjs 3 points 1 year ago (1 children)

I've done something similar, but I'm using compose files orchestrated by Ansible instead.

[–] [email protected] 1 points 1 year ago (2 children)

I'm actually doing both right now since I had quite a huge compose file that I haven't converted to ansible yet. The biggest frustration I have is that there doesn't seem to be an ansible module that works with compose v2 (the official plugin) which means I'm either stuck on the old version of compose or I have to use shell commands to run stuff like 'docker compose up -d'.

One nice thing I've gained though is for services like Plex. I have an 'update' playbook that I use and it will check to see if Plex is actively streaming before updating the container which isn't something I could do easily with compose.

[–] [email protected] 1 points 1 year ago

Well the v2 plugin is basically a binary, while v1 is written with Python, which makes it super easy to write an Ansible module

[–] xcjs 1 points 1 year ago

I'm still using the old docker-compose executable - my Docker role is still installing it until the Ansible module catches up.

[–] [email protected] 1 points 1 year ago (1 children)

I did the same, but I started from my list of run scripts... I used ChatGPT to create them, took 2 minutes...

[–] [email protected] 2 points 1 year ago

Hahaha, I've been using ChatGPT in the exact same way. It requires a bit of double-checking but it really speeds things up a lot.