this post was submitted on 28 Jun 2023
43 points (95.7% liked)

Selfhosted

39435 readers
4 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
 

Or maybe a two click solution? :)

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

Okay. I keep reading about docker. What's the difference between a docker and just installing an app on rented server space?

Does each dock (?) have its own server? (Apache or nginx or whatever?)

Does each dock host a whole site, or do you have a dock for your database and a dock for your web app?

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

What's the difference between a docker and just installing an app on rented server space?

Functionally? Not much. But people who selfhost typically want everything on computers they own. Whether it's for learning purposes, or to not have their stuff on "someone else's computer" selfhosting usually means you're running software on computers you own, almost always within your own house.

Does each dock (?) have its own server? (Apache or nginx or whatever?)

Each docker image usually has a web server built in. The philosophy of docker is that it contains everything needed to run the app. Even a small linux OS (LibELEC or Alpine are favorites for docker images). So while you're not managing the web server in a docker image each docker image will have its own web server if web access is needed

Does each dock host a whole site, or do you have a dock for your database and a dock for your web app?

Docker the program is what runs all the docker images on a computer. Each docker image is built as per the software's developer. Some docker images will have a web app and a database combined into a single image, while others will expect a separate database server running independent of the image (It won't care if the database server is a docker image or not; just that it has access)

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

Docker is basically a virtual machine image you write your software in. Then when you run the software you don’t need to worry about compatibility or having the right dependencies installed, it’s all included in the docker image.

Think of Docker as being Nintendo cartridges that you can take to any friends house, plug them in, and play. Servers can run more than one Docker container.

The approach greatly simplifies writing code and having it work on your server, reduces errors, and adds a layer of security.

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

I've read and reread, listened and relistened to info on docker/containers and I still feel like I'm missing something tbh.

Let's say you have a docker container for something and it's for a Linux distro, that won't run on another OS, will it? Maybe not even a different Linux distro from the one it was made for (e.g. Ubuntu or Arch or Fedora or whatever).

To go off your example, Docker's not like an expansion module to make your Switch games work on a PlayStation or Xbox...Right? There seems to be some kind of mixed messaging on this, the way they're so readily recommended (which seems to be related to a presumption of familiarity that often isn't there toward those inquiring).

I guess I've also been confused because like...Shouldn't old installers handle bundling or pulling relevant dependencies as they're run? I'd imagine that's where containers' security benefits come into play though, alongside being virtualized processes if I'm not mistaken.

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

More control and security (you can set a command to run as "nobody" -- which is an user with the least amount of permissions/privileges. Plus isolation/sandbox features).

Optimization is also a thing to consider and even saving time... depending of how "complex" the command is.