this post was submitted on 23 Jul 2023
156 points (97.0% liked)

Selfhosted

40439 readers
706 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 2 years ago
MODERATORS
 

I jumped into Docker feet first a few months ago and have not had a real good time with it. Networking doesn't make sense, I can't ever seem to access config files without dropping to su -, all the tutorials and videos I find are pretty top level and assume the user already has a firm grasp on it. It's great for drop in stuff like open speed test and Vaultwarden but I recently tried setting up dashy and I can't even find the config files to edit. The Dashy documentation says the easiest way to edit the configs is to use code-server, so I spun up a code-server VM and can't even get it to open the files because the web based VSC doesn't allow for SSH editing. There's nothing explained in the documentation beyond that.

Yes I'm frustrated but I'm not bitching as if these solutions are trash, I'm simply asking where can I go to learn this shit from the ground up? It doesn't make any sense to me from the perspective that I've approached it. Networking seems to be silly and weird, entering an interactive TTY to the container seems to be useless as there's no package manager and doesn't seem to have vim, nano, or any native way to edit configs. It's been extremely frustrating so I ask you, where can I learn what I'm doing wrong and how to properly work with Docker?

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

I took a look at Dashy, I think I see the confusion. If you are looking at this article, then yes they mention Code Server, but that's purely in the context of using Dashy in a non-docker context. But to be honest, any text editor works.

But I think that's a red herring. That in itself has nothing to do with docker.

What you'll need to do, once you understand the fundamentals of running docker, pull images, start a container based on an imagine, is to expose a docker volume that points to /public/conf.yaml. A docker volume ensures that the file or directory it's mapped to in the container is available and persists outside of the container. This allows you to persist files and directories without losing them once the container stops or restarts.

Once the volume is exposed, then you can use your favorite text editor to update the dashy config file. Code Server is fine, powerful, but overkill.

But first, try getting familiar with pulling, starting stopping docker images using the cli. Gotta start there first before tinkering with docker parameters like volumes.

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

Yeah Dashy isn't really important to me, it's just another fun project to learn more about Docker. However, what I learned is that I don't know shit about what I'm doing lol. It proved to be a great tool at exposing my absolute ignorance of something I thought I was getting a good grasp on.

Yeah I think I'm gonna shit can Portainer and go through that LinkedIn course someone else posted. Thanks for your insight.

[–] unscholarly_source 2 points 1 year ago (1 children)

Portainer is definitely useful (I use it on a daily basis), but probably a bad place to start...

I started with the following progression:

  1. Docker CLI
  2. Docker-Compose
  3. Writing my own scripts to build and manage docker-compose configs (purely optional and skippable)
  4. Portainer
  5. Purely optional, but in a professional setting, kubernetes and various container orchestration tools.

Good luck in your journey!

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

Docker-compose got it done. Once I learned about Volumes and using compose to pass in volumes from other instances I was able to pass in a directory with a custom yaml to the Dashy container then pass the same directory into the code-server container and both are working as I expected they should. Compose and volumes were the missing pieces. I also learned that stacks is how to use compose in Portainer. Not sure why they felt the need to change the naming but it works.

[–] unscholarly_source 1 points 1 year ago* (last edited 1 year ago)

That is AWESOME! Congrats!

Yes that's right, portainer stacks equate to compose.. I might be wrong, but I remember reading somewhere a while back that they (and other container orchestration tools) were not permitted to reference "Docker" or its products (including compose) due to legal and licensing restrictions by Docker.

Not to the level of Reddit, but Docker has its fair share of questionable business decisions.