So, I am soon going to finally set up my first home server. Exams are not that far away, I am motivated as shit, my first own domain is bought and I want to level up my sysadmin skills.

Currently my plans look like this:

  • Host Jellyfin
  • Host my own NAS
  • Some form of hosted musicstreaming integration with my local music
  • Automate Backups and push them on my server
  • make all of the above things available where ever I want using my own self hosted domain.
  • run my own dns

In the long term I also want to be able to host my own webapps, since I will soon start to develop one for someone.

Now I want to know what suggestions do you have, for stuff thats really cool and that I can selfhost.

Edit: thanks for all the replies. Definitely going to look into this.

  • cecilkorik@lemmy.ca
    link
    fedilink
    English
    arrow-up
    12
    arrow-down
    1
    ·
    2 months ago

    Before you even start, consider adopting an ‘infrastructure as code’ approach. It will make your life a lot easier in the future.

    Start with any actual code: If you have any existing source code, get it under git version control immediately, then prioritize getting it into a git hub like forgejo to make your life easier in the future. Make a git repository for your infrastructure documentation, and record (and comment/document too if you’re feeling ambitious) every command you run in a txt file or an md file or a script, and do that as religiously as you can while you’re setting up all this self-hosted stuff. You may want to dig it up later to try and remember exactly what you did or in case stuff goes wrong and you need to back off and try again. It might seem pointless now, but a year from now, you’ll thank me.

    Especially prioritize getting your git stuff moved into a self-hosted forgejo if any of your stuff is hosted on the microsoft technoplague called github.

  • dimjim@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    10
    ·
    2 months ago

    The comments give some great advice on what to self host, but my advice to you before you start spinning up a million services is to DOCUMENT EVERYTHING.

    Seriously, document as you go and you will thank yourself later. Document niche commands you found online that worked, docker compose files, IP addresses/hostnames, where you put that random config file.

    There are some great self hosted wiki and documentation products out there, start with that, then build the fun stuff!

  • dantheclamman@lemmy.world
    link
    fedilink
    English
    arrow-up
    10
    ·
    2 months ago

    Syncthing so you never have to mail files to yourself again.

    FreshRSS for RSS reading

    Readeck for saving articles for later (or wallabag, many alternatives)

    HomeAssistant

    Calibre-web for ebooks

    PiHole

    Joplin for self hosted notes

    Searxng is fun for self hosted metasearch but has sadly been having trouble with Google lately

  • Synapse@lemmy.world
    link
    fedilink
    English
    arrow-up
    8
    ·
    2 months ago
    • pihole: DNS ad-blocker abd also a DNS (and optionally DHCP) server for your home
    • Wireguard: VPN very simple to setup, for remote access to your services from outside your home. What I do: wireguard is running (as a server) on a VPS, with all the security measures in place (ssh password login turn off, firewall bocks everything but wireguard and ssh connection changed to another port, failban) then my NAS at home connects to this VPS, as well as my phone, laptop, etc.
    • Caddy: reverse proxy to address your service using your domain, it’s easy to setup, actually it’s the only reverse proxy I managed to setup successfully 😅. You can use the Nameservers from your domain provider to point to your NAS via the wireguard IP address for connection from the outside, and Pihole DNS to point to local IP address when at home.
      • Encrypt-Keeper@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        2 months ago

        I’m wondering if Android has something nicer looking. Plex has PlexAmp which looks great, Emby’s built in music player in their main app looks terrific, FinAmp is like aestheticslly like the stock standard JellyFin app which is awful.

        Discrete in iOS at least is just an attempt at looking like a carbon copy of Apple Music. There must be some good looking g Jellyfin music player on Android.

        Maybe https://www.symfonium.app/

  • slazer2au@lemmy.world
    link
    fedilink
    English
    arrow-up
    3
    ·
    2 months ago

    Bentopdf if you deal with PDFs

    Omni-tools if you need to convert between 2 formats or units

    It-tools for the fun of it.

  • starshipwinepineapple@programming.dev
    link
    fedilink
    English
    arrow-up
    3
    ·
    2 months ago

    Host Jellyfin

    Some form of hosted musicstreaming integration with my local music

    For the music, jellyfin can do this and it uses subsonic api which means you can connect to the music server with some mobile and desktop apps. Alternatively i like navidrome for more specialized music service that still uses subsonic api. Some people prefer not having a second service if jellyfin is good enough for their needs.

    Automate Backups and push them on my server

    For backups look into borg if your NAS doesn’t have anything native.

    make all of the above things available where ever I want using my own self hosted domain.

    Look into doing let’s encrypt DNS-01challenges via something like acme.sh if your domain registrar has an api. this will let you get your own certs for local use without exposing the subdomains on the domains dns. If you’re going to make them public then that is less important but it’s still a good way to automate renewals and deploying regardless.

    run my own dns

    Pihole unbound can offer a recursive dns server. Very easy set up.

    In the long term I also want to be able to host my own webapps, since I will soon start to develop one for someone.

    Now I want to know what suggestions do you have, for stuff thats really cool and that I can selfhost.

    Outside of the obvious segmenting public zones and firewall, you could self host an SSO service. This would allow you to easily put forward auth on a dev build if you were needing to keep it selectively private until/if you made it public.

    In general though, i just wait until i come across a problem or need and then i see if a service exists to solve that. Occasionally looking through the awesome selfhosted list or similar helps find blind spots i didn’t know i had.

  • GreenKnight23@lemmy.world
    link
    fedilink
    English
    arrow-up
    3
    ·
    2 months ago

    I would start with the NAS first. with a proper NAS and a solid network the storage requirements for the rest of your servers lessens.

    for example, I’ve got an off-the-shelf NAS solution that hosts all my movies, music, etc that is mounted via docker in my Plex container on a different server. because it’s usually streaming to four different devices at any given moment, and the torrent’s running against the same NAS, I’m using a 10gbe copper line.

    depending on your needs, a 1gbe should suffice.

    having a NAS would also help with backups. I have a 5 bay NAS, one of them is dedicated for backups of both servers and cloud storage from the NAS (personal files, tax documents, etc).

    also, when building your NAS whatever you think you need, double it. if you think 5tb is enough, you’ll want to get 10tb or even 15tb. I current run 15tb(8tb drives) in a raid 10 with a 20tb backup drive.

    this kind of configuration allows me to run 1tb or even sub tb drives on my servers and reduces my overall costs to replace if anything goes wrong. with a raid 10 on my primary storage array I can easily replace bad drives.

    the only time I’ll really hurt is if my backup drive fails. since it was so expensive due to the volume. but backup drives never fail, right? 😉

    unfortunately because of AI all those prices have increased. if I were to build it today it would cost me around $1700. adjusted for current pricing my whole lab would probably cost around $10k (thanks ram!).

    good luck and god speed

  • rollerbang@lemmy.world
    link
    fedilink
    English
    arrow-up
    3
    arrow-down
    1
    ·
    2 months ago

    Technitium dns (and dhcp) server instead of pihole maybe, with advanced blocking app.

  • blueryth@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    ·
    2 months ago

    Headscale, for one. This is probably implied as part of one of your above stacks, but let’s list it out loud. Tailscale is great and all, but it’s downright icky to offload routing of any variety to a third party.

    Immich. Turn off Apple or Google’s automatic scraping of all photos, keep usability. Even if you’re not a photo person, at least some of your users are.

    Syncthing is or Nextcloud, or something in the family. This may already be part of your NAS plans.

    One of the code forges like forgejo, gitea, gitlab. Even when not a developer. Self hosting involves configuration and if you can get that into text and into a history, it makes things so much easier. Add bells and whistles to your hearts content, but these are good suites for a lot of functionality. Forgejo does have federation on its road map, but it’s a while off still.

    These are ones I find pretty ubiquitous. There’s so many options once you have initial infrastructure. Email, for instance, isn’t as daunting as the horror stories make it sound, though not as simple as many hope. My suggestion is to take time and do it correctly. There’s a lot of backtracking involved as you learn more, but it’s usually worth it. Best of luck!