this post was submitted on 19 Mar 2024
28 points (93.8% liked)

Selfhosted

39964 readers
238 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
 

Hi, everyone! I'm kinda new at self-hosting, so I need a few tips to get started. Is there any guides that you can recommend for the begginer? My goal is to run a vps with self-hosting tools for daily usage, like Jellyfin, Navidrome, Baïkal, proxy-tool, maybe a Gitea instance etc. I have a domain purchased and basic nginx configured, but I'm not sure where I should go next or if I need to take any special steps. Thanks in advance.

top 11 comments
sorted by: hot top controversial new old
[–] ad_on_is@lemmy.world 7 points 7 months ago (1 children)

If you haven't, get yourself familiar with Docker and docker compose, and then use portainer to manage all your stuff. It's a lifesaver.

[–] JustMarkov@lemmy.ml 1 points 7 months ago (1 children)

I'm already a little familiar with Docker, but I'll definetly need to get to know it better. Thanks!

[–] khorak@lemmy.dbzer0.com 3 points 7 months ago

And remember, friends don't let friends use latest. Pin the versions in your manifests and version control everything.

[–] paradox2011@lemmy.ml 5 points 7 months ago* (last edited 7 months ago) (2 children)

Definitely check DB Tech's videos put on YouTube. He covers a ton of self-hosted apps and how to set them up. You'll have to sift through a bit, not all the apps he talks about are really necessary, but I basically learned self-hosting through his channel.

Look for stuff on authelia, crowdsec or fail2ban with regards security for your server and decide what direction you want to go there.

Christian Lempa's channel is also good, though can be more technically oriented.

EDIT: also, this github repo has an amazing (though overwhelming) list if self-hosted services. Awesome Self-hosted.

[–] JustMarkov@lemmy.ml 1 points 7 months ago (1 children)

Thanks for the advice! I'll definetly look into these channels. Btw, I already know about awesome-selfhosted, but I'll need to spend some more time going through the whole list and picking what suits me best.

[–] paradox2011@lemmy.ml 6 points 7 months ago* (last edited 7 months ago) (2 children)

Yeah, I hear you there. I usually get overwhelmed by the time I get to the "B" section.

I think (looking back at your post) the most important thing that helped me was learning how to use docker-compose. All of my services are in docker containers and are much more manageable then trying to do a bare metal install.

With that comes the struggle of security though, as docker containers use their own set of firewall rules distinct from the main firewall rules you might have setup on your server. If you end up using docker, do a few searches on how to secure those firewall rules for the containers themselves.

I have definitely benefited from other peoples current set up lists, I'll leave mine here in case it sparks some interesting directions for you.

  • Diun - notification service for when new images are released for any running docker apps I have up.

  • Immich - self-hosted photos backup. Incredible app, its extremely refined and feature complete.

  • Jellyfin (Linuxserver.io image) - personal media streaming service. The Linuxserver.io version was much easier to set up than the stock jellyfin version.

  • Joplin server - self-hosted back end for Joplin notes sync. Much faster and more reliable than the 3rd party sync targets like one drive or Dropbox.

  • Mealie - recipe management.

  • Nextcloud - so many things. Calendar, files, kanban, contacts, etc... Personally I find Nextcloud's documentation hard to follow, so I've linked the video tutorial I used to set mine up.

  • Nginx proxy manager - reverse proxy with basic protections built in. I'm on the fence on suggesting this one and have been considering switching to something else, as it rarely gets updates these days. It is the only one I've been able to wrap my head around though. Zoraxy, Traefic and Swag are all other options. You mentioned having Nginx set up already, so this might not even be an issue for you.

  • Paperless-NGX - document server and archive. All you need is the docker-compose.env and docker-compose.postgres.yml from the linked directory. Tweak the compose and env values as you see fit and remove the "postgres" from the file name before firing it up.

  • Portainer - basically just a GUI for viewing docker services. You can manage docker images and stacks with portainer, but I would recommend just learning the docker-compose method in general.

If you ever run into instructions for setting something up with a regular docker command but want to convert it to a docker-compose.yml file instead, this site is super useful: composerize.com

[–] unlogic@lemmy.zip 3 points 7 months ago (1 children)

As an aside you can use Nextcloud’s WebDAV to sync Joplin if you wanted to reduce the number of services running on your server. Not sure how it compares in performance though.

[–] paradox2011@lemmy.ml 3 points 7 months ago

I initially started out with that, it worked fairly well but I did notice a significant speed increase when syncing after getting the Joplin server set up. The downside is having another service publicly exposed though, a more minimal set up does have its benefits.

[–] PipedLinkBot@feddit.rocks 1 points 7 months ago

Here is an alternative Piped link(s):

Nextcloud

Piped is a privacy-respecting open-source alternative frontend to YouTube.

I'm open-source; check me out at GitHub.

[–] PipedLinkBot@feddit.rocks 1 points 7 months ago

Here is an alternative Piped link(s):

this guy's

Piped is a privacy-respecting open-source alternative frontend to YouTube.

I'm open-source; check me out at GitHub.

[–] genie@lemmy.world 2 points 7 months ago* (last edited 7 months ago)

My process for project identification has been:

  1. Be annoyed at ads/payment structure/whatever in some app or service
  2. Search https://alternativeto.net/ for alternatives to the thing I'm annoyed with (filtering by Open Source and my devices)
  3. Try out 1-2 of the top alternatives
  4. Settle on what service I want to run
  5. Install, route the subdomain, etc. if necessary (otherwise just access via my tailnet)

As for how to deploy, docker / podman are great! With podman I'd recommend looking into their systemd integrations too. Incus is a neat LXC option too, meant more for longer term services (less micro service focused, good and bad).

Hope this helps!