this post was submitted on 07 Nov 2024
24 points (85.3% liked)

Selfhosted

40728 readers
355 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 just start using my homelab to host some new good services, and I want to know what is the approach of a docker setup, what is the best distro for? How to deploy them correctly? Basically I'm a real noob in this subject. Thank you

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

Anything.

Personally I use Debian. But Docker doesn't care. I chose Debian because it is very stable and simple

[–] [email protected] 3 points 1 month ago (1 children)

Yep, Debian and then add Portainer - for me this is the easiest setup to manage.

[–] [email protected] 6 points 1 month ago (3 children)

would prefer to not use portainer

[–] [email protected] 7 points 1 month ago

I just said what works best for me. Use the command line and compose files if you want.

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

I love the one click pull from git option. Don't like the corporate direction they seem to be taking.

I haven't seen aby alternative docker GUI managers that have the git pull for the compose.

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

I can appreciate this. You might want to look at Lazydocker as a SSH TUI management tool.

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

And what is the good way of deploying it? After pulling the image, how do we autostart it etc...

[–] lka1988 5 points 1 month ago (1 children)

The Docker documentation is pretty terrible, but it's a decent start. Start by looking at docker-compose.yml files for the services you want to run and the write-ups for those.

Something nobody ever told me, that I had to figure out myself, is that docker-compose.yml files can be placed anywhere you want.

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

Should I make the docker compose files or pull the image from hub.docker.com?

[–] [email protected] 4 points 1 month ago

Your compose file will pull the image when you run it, from the registry it's in

[–] [email protected] 3 points 1 month ago

in a docker compose file you can set the option "restart: unless-stopped"

https://docs.docker.com/reference/compose-file/services/#restart

[–] atzanteol 3 points 1 month ago (1 children)

At its simplest:

docker run -d --name servicename --restart unless-stopped container

That'll get you going. Youi'll have containers running, they restart, etc. There are more sophisticated ways of doing things (create a systemd file that starts/stops the container, use kubernetes, etc.) but if you're just starting this will likely work fine.

[–] [email protected] 1 points 1 month ago* (last edited 1 month ago) (1 children)

Are they starting automatically at boot?

EDIT : how do you run a container with a simple name instead of using his id?

[–] atzanteol 2 points 1 month ago* (last edited 1 month ago) (1 children)

Yes - they'll start automatically. There are other options for "restart" that define the behavior.

You can give whatever you like to "servicename" and use that rather than the ID.

For example:

docker run -d --name mysite --restart unless-stopped nginx

docker stop mysite

docker start mysite
[–] [email protected] 1 points 1 month ago

Create a systemctl service for it, create a cron, or of there is a lot of interconnectivity between your containers look at something like K3S.