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

Selfhosted

61207 readers
393 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:

Detailed Rules Post

  1. Be civil.

  2. No spam.

  3. Posts are to be related to self-hosting.

  4. Don't duplicate the full text of your blog or readme if you're providing a link.

  5. Submission headline should match the article title.

  6. No trolling.

  7. Promotion posts require active participation, with an account that is at least 30 days old. F/LOSS without a paywall has exceptions, with requirements. See the rules link for details. Tags [CBH] or [AIP] are required, see the links in Rule 8 for details.

  8. AI-related discussions and AI-involved promotional posts have additional requirements for tagging, as noted in Rule 7 and the AI & Promotional Post Expanded Rules post, and find example disclosures here.

Resources:

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

Questions? DM the mods!

founded 3 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
[–] Dust0741@lemmy.world 8 points 2 years ago (2 children)

Anything.

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

[–] funkajunk@lemm.ee 3 points 2 years ago (1 children)

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

[–] foremanguy92_@lemmy.ml 6 points 2 years ago (3 children)

would prefer to not use portainer

[–] funkajunk@lemm.ee 7 points 2 years ago

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

[–] ikidd@lemmy.world 2 points 2 years ago

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

[–] Lem453@lemmy.ca 2 points 2 years 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.

[–] foremanguy92_@lemmy.ml 1 points 2 years ago (4 children)

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

[–] lka1988@sh.itjust.works 5 points 2 years 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.

[–] foremanguy92_@lemmy.ml 1 points 2 years ago (1 children)

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

[–] mhzawadi@lemmy.horwood.cloud 4 points 2 years ago

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

[–] ryan_harg@discuss.tchncs.de 3 points 2 years ago

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

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

[–] atzanteol@sh.itjust.works 3 points 2 years 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.

[–] foremanguy92_@lemmy.ml 1 points 2 years ago* (last edited 2 years 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@sh.itjust.works 2 points 2 years ago* (last edited 2 years 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
[–] Itwasthegoat@lemmy.world 1 points 2 years 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.