I just recently started playing around with an old pc as my homeserver and am curious of any recommendations for lesser known self hostable foss software that you would recommend

  • vandrw@lemmy.ml
    link
    fedilink
    arrow-up
    9
    ·
    edit-2
    1 year ago

    Here are a few I like:

    • Jellyfin - a media server software that allows you to organize and stream your personal media collection.
    • NextCloud - a self-hosted file sync and sharing platform. Not as good as Google Drive (of course), but it can do the job.
    • Bitwarden (with a Rust-written alternative named [vaultwarden] (https://github.com/dani-garcia/vaultwarden)) - a password manager for storing and autofilling login credentials.
    • Matrix - an open network for secure, decentralized communication. WhatsApp, but in the Fediverse.
    • PiHole - a DNS sinkhole that blocks ads and other unwanted content.
    • Mycroft - an open-source voice assistant. You can make your own Google Home with it.
    • OctoPrint - web interface that allows you to control 3D printers. Pretty handy if you have one!
    • Gitea - a lightweight self-hostable GitHub
    • Home Assistant - an open-source home automation platform. Can integrate a lot of other things in your house.
    • The X-arr initiative - a collection of tools for managing and organizing media libraries. Pretty good if you deploy your own media server:
      • Sonarr - Select TV shows and it will automatically download episodes for you.
      • Radarr -> movies
      • Lidarr -> music
  • priapus@lemmy.one
    link
    fedilink
    arrow-up
    2
    ·
    1 year ago

    Jellyfin with Sonarr, Radarr, Prowlarr and some torrent client makes a great automated media server. Just don’t forget a VPN!

  • Father_Redbeard@lemmy.ml
    link
    fedilink
    arrow-up
    1
    ·
    1 year ago

    I really like Memos. It’s a micro blogging site that is minimal, but has a lot of neat features. I’m using it as a replacement for DayOne’s journal app.

    And I’ll second Veloren. My kids and I are having a blast playing.

  • !ozoned@lemmy.world@beehaw.org
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    1 year ago
    • Caddy - Reverse proxy
    • Owncast - Twitch alternative
    • Jellyfin - Home video streaming application
    • Joplin - Note taking app that syncs
    • Syncthing - syncs files from my LineageOS (Android) phones to PC
    • PiHole - AD blocker
    • Minetest - open source voxel game engine (basically Minecraft)
    • Veloren - open source adventure game
    • Invidious - frontend for Youtube
    • Libreddit - frontend for Reddit (about to stop working)
    • Proxitok - frontend for TikTok
    • Nitter - frontend for Twitter
    • Rimgo - frontend for Imgur
    • Libremdb - frontend for IMDB

    Edit: Fixed PiHole from saying “VPN” blocker to “AD” :-D

  • luna@beehaw.org
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    1 year ago

    conduit is a lightweight Matrix homeserver. If you tried running synapse and found it to be an utter mess, conduit is much better!

    mpd is a music server daemon with many clients. It scans your music (either stored locally or on a network) and creates a database (either stored locally or accessed from another mpd server on the network).

    minidlna is a DLNAReadyMedia server which is a plug and play media server. Many hardware devices (e.g. AVRs) which don’t support anything else do support DLNA, so you can e.g. serve music or video directly to your AVR instead of needing a set top box like an Apple TV or Roku.

    If you have a problem with collecting machines like I do, set up DNS with dnsmasq. It’s pretty easy to get started, all you need to do is write your /etc/hosts file (and, likely, disable the DHCP server). Additionally, if you have a problem with collecting machines like I do, invest in some kind of config management so it’s easy to handle all the different things you’re running.

    Also, if you want to actually learn, I would strongly recommend against using Docker containers for everything. Besides being stuck with what the developers prefer, all the work of installing things is already done. Build things from source (optional), configure all the pieces yourself, work out all the dependencies and actually learn how things work. That’s the fun, at least in my opinion. That’s why I have yet another SBC with no OS to fiddle with this weekend: I’m looking to migrate from OpenWRT to real Linux so I can do everything myself instead of relying on OpenWRT’s scripts.

    • Nitrousoxide@beehaw.org
      link
      fedilink
      arrow-up
      4
      ·
      1 year ago

      Also, if you want to actually learn, I would strongly recommend against using Docker containers for everything. Besides being stuck with what the developers prefer, all the work of installing things is already done.

      I really disagree on this point. You should use docker or podman (preferably Podman) to containerize your applications on your server to keep them ephemeral and separated from the host OS wherever possible. This improves security, makes setups reproducible, and eases backup and restore procedure. If you want to build from source do so with a containerfile/docker file to keep your build environment fresh and clean.

  • alehel@beehaw.org
    link
    fedilink
    arrow-up
    0
    ·
    1 year ago

    I’ve got a pretty booring setup compared to most 🤣. Ubuntu Server running the following in docker,

    • Plex
    • Audiobookshelf
    • Komga

    Audiobookshelf has come a really long way. The version out now is heaps and bounds better than what it was 1 year ago.

  • Parsnip8904@beehaw.org
    link
    fedilink
    arrow-up
    0
    ·
    1 year ago
    • Portainer server and agent for monitoring all docker hosts in one place
    • Traefik as reverse proxy
    • Dashy (complex) and Homarr (simpler) as dashboards
    • Gluetun for VPN access for containers and proxy for everyone on the network
    • Radarr/Sonarr for managing Movies and TV shows
    • Navidrome for music
    • Audiobookshelf for audiobooks
    • Transmission/qbittorrent/rtorrent/deluge as torrent clients
    • Pinhole for DNS
    • Technitium for more advanced DNS and DHCP (might replace all piholes with this or blocky in the future)
    • Plex/Jellyfin for media streaming
    • JellyfinVue - awesome frontend to jellyfin
    • Bazarr - for subtitles
    • DengueDucky@lemmy.ml
      link
      fedilink
      arrow-up
      0
      ·
      1 year ago

      Caddy is simpler for the reverse proxy. Just sharing for people that get scared when they try to set up Traefik.

      • pattern@beehaw.org
        link
        fedilink
        arrow-up
        0
        ·
        1 year ago

        Honestly I started using traefik first and I agree, the learning curve is steep. I’m only just now starting to understand what my labels are doing. But now, I’ve tried caddy and literally cannot get it to work, or find how to port what I have on traefik over to caddy lol.

      • Parsnip8904@beehaw.org
        link
        fedilink
        arrow-up
        0
        ·
        edit-2
        1 year ago

        Ngnix-proxy-manager is even simpler :) But along with the automatic router creation using labels, I’ve found traefik to be the most robust of all three.

        The traefik syntax and configuration using yaml is really initutive. I can link a good guide here if someone wants it. The official documentation isn’t that good.

        One of my favourite guides explaining the configuration files for traefik.

        • DidacticDumbass@lemmy.one
          link
          fedilink
          arrow-up
          0
          ·
          1 year ago

          Please do! I have been trying to set up remote access to a server I have, and there seems to be so many solutions and all seem very complex.

          • Parsnip8904@beehaw.org
            link
            fedilink
            arrow-up
            0
            ·
            edit-2
            1 year ago

            Have linked one :) For remote access, I wouldn’t necessarily use traefik at the edge. The safest solution would probably installing zerotier/tailscale on the remote server and accessing traefik through that. That way you don’t have to expose unnecessary parts or worry about robustness of authentication etc.

            If it is a single computer you can easily make a two computer network using the instructions from wireguard archwiki page and you’re all set :)

            • DidacticDumbass@lemmy.one
              link
              fedilink
              arrow-up
              0
              ·
              1 year ago

              Ooh. I signed up for tailscale, but havent gotten the configuration right I think. Also signed up for NextDNS. Got some work to do but no longer have the time.

              What I actually want to do is make it so I can give out accounts to services to my family and girlfriend so they can watch movies and whatever.

              Tailscale is one step to many. I think I will need to purchase a domain name or set up a VPN, which seems a little scary to me.

              • Parsnip8904@beehaw.org
                link
                fedilink
                arrow-up
                0
                ·
                1 year ago

                I think you might have confused it with something else. I will explain how to what you want :)

                1. Make an account with tailscale. You can login with your Google account.
                2. Install tailscale on the computer that has plex.
                3. Go to the terminal and run sudo tailscaled up or just run the tailscale executable in windows/mac.
                4. It will ask you to go to a url and Authorize it, login here with your tailscale account.
                5. Install tailscale in your gf’s computer.
                6. Ask her to send you the url, login and Authorize that.
                7. Now if you go to tailscale website you should be able to see both computers. Look up the IP of the Plex comuter.
                8. http://plexip:32400/web from your gf’s computer will let her access Plex.

                That’s it :)

        • constantokra@lemmy.one
          link
          fedilink
          arrow-up
          0
          ·
          1 year ago

          Nginx proxy manager is simple, but I can’t manage to make it work with https on porkbun. Nginx-proxy works just fine and it’s probably the simplest i’ve seen.

          • Parsnip8904@beehaw.org
            link
            fedilink
            arrow-up
            0
            ·
            1 year ago

            That is pretty cool :) I have a domain on porbunk too but even up putting DNS on cloudflare because porkbum uses cloudflare anyway but doesn’t expose most of the features. Kind of a loss loss. Cloudflare works with pretty much everything.

            I’ll check out nginx-proxy. Have heard good things about swag too. How is the setup on nginx-proxy compared to other options?

            • constantokra@lemmy.one
              link
              fedilink
              arrow-up
              2
              ·
              1 year ago

              I didn’t know that about porkbun.

              Basically you run the container and then put a couple environment variables in the containers you want to proxy and it handles all of it for you, including certs. Just works.

              • Parsnip8904@beehaw.org
                link
                fedilink
                arrow-up
                1
                ·
                1 year ago

                Thanks. Seems pretty much identical to traefik which makes sense because I think most of reverse proxies just use LetsEncrypt underneath.

  • JurassicPork@lemmy.one
    link
    fedilink
    arrow-up
    0
    ·
    edit-2
    1 year ago

    On my 2 raspberry pi’s I am running Pihole, Pivpn, Syncthing, Photoprism, Unify controller, Heimdall (webpage that has all my servers…locally accessible, or non local via wireguard connection via pivpn) Might be more can’t remember! Prob more from other suggestions on here over next few days 😂

    • Parsnip8904@beehaw.org
      link
      fedilink
      arrow-up
      0
      ·
      1 year ago

      Might I suggest Dashy/Homarr? Heimdall has been abandoned I think. I went from Heimdall to Organizarr to Dashy/Homarr.

  • jvalleroy@lemmy.ml
    link
    fedilink
    arrow-up
    0
    ·
    1 year ago

    These are the ones I use most actively, on my FreedomBox:

    • bepasty for moving around or sharing temporary files
    • Quassel for staying connected to IRC servers
    • Radicale for synchronizing my calendar and tasks.
    • Syncthing for files I want to have available between my laptop, desktop, phone.
    • Tiny Tiny RSS for following blogs.
  • GreyBeard@lemmy.one
    link
    fedilink
    arrow-up
    0
    ·
    1 year ago

    You may be way ahead of me on this, but I highly recommend using docker for this endeavor(or podman), as it really allows you to try a lot out without making a mess of your system.

    I run pihole, syncthing, and gitea locally(among less interesting things.)

    • DidacticDumbass@lemmy.one
      link
      fedilink
      arrow-up
      0
      ·
      1 year ago

      Can you share with me what OS you are running? At the moment I am using MX Linux because it is familiar to me, but is likely suboptimal for running a server.

      I think docker is really cool, but felt like a lot of work compared to using flatpaks or a package manager, but I am really limiting myself and it is probably not that hard to learn.

      • GreyBeard@lemmy.one
        link
        fedilink
        arrow-up
        0
        ·
        1 year ago

        Strange, Lemmy didn’t tell me you replied. Well, I run mostly Ubuntu Server OSs for Linux for work, but at home I am cheating and using a Synology NAS as my home server with docker installed on it. CentOS used to be a good go-to for servers, but I think Redhat made some changes to the way it releases and I think a lot of the CentOS users moved to other distros.

        • Carl George@beehaw.org
          link
          fedilink
          arrow-up
          2
          ·
          1 year ago

          CentOS still works great for servers. The problem with classic CentOS and other RHEL clones is that they can’t fix bugs or accept contributions that change the OS. CentOS finally fixed these problems by moving upstream of RHEL (but still downstream of Fedora). It is now the major version that RHEL minor versions branch off from, so it’s still very stable and highly compatible. I’ve got a thread with diagrams that may help.

          https://fosstodon.org/@carlwgeorge/109985597904896856

        • DidacticDumbass@lemmy.one
          link
          fedilink
          arrow-up
          0
          ·
          1 year ago

          Interesting. I never used CentOS, but I think it makes sense to run an OS designed to be used in servers. That would probably make my life a hell of a lot easier than setting up everything on my own.

          Good call.

          • GreyBeard@lemmy.one
            link
            fedilink
            arrow-up
            0
            ·
            1 year ago

            Honestly, with Linux, the biggest difference between server distros and desktop distros is if a GUI is installed by default. But one advantage of using a well known server distro like Ubuntu Server is that most articles on the Internet assume you are running it.

            • DidacticDumbass@lemmy.one
              link
              fedilink
              arrow-up
              1
              ·
              1 year ago

              True. I think the software I would download anyways is installes by default, which makes it easier.

              I don’t need a server to have a gui since most of the interfaces for services are browser based anyways.

              I am in no rush! It would do me well to explore and become more familiar with the networking side of linux.

              • GreyBeard@lemmy.one
                link
                fedilink
                arrow-up
                0
                ·
                1 year ago

                No doubt, there is an endless amount to learn with Linux. I’ve been using it for servers since the early '00s, and have been using it as my main OS on my personal devices since probably 2016, and I still regularly learn new things. If you are trying server stuff out on PC hardware, I suggest looking into virtualization. Proxmox is a great OS to start with for a virtual host. Then you can try out as many OSs as you want as virtual machines. You may be way ahead of me on that, but back when I was first learning what it meant to run a server it was of great help to me. That was before the days of docker and most containers(although I did use BSD Jails a little).

      • constantokra@lemmy.one
        link
        fedilink
        arrow-up
        0
        ·
        1 year ago

        The thing about docker is, you can set it up with all your data mounted into a folder in your home directory. So, for instance, ~/docker/jellyfin/data, and your docker compose file for jellyfin is in the jellyfin folder. So if you want to move it to a different system, you just rsync the folder over and run docker-compose up and it’s done. Also, backups are super simple, because you just stop the container, rsync (or Borg or duplicati, restic… whatever) your container’s folder over. Of your server gets completely trashed, you just restore your backup to another computer and you’re good. Usually the better maintained projects are even architecture aware, so you can move from Intel to arm or whatever. It’s totally worth learning.

        • DidacticDumbass@lemmy.one
          link
          fedilink
          arrow-up
          0
          ·
          1 year ago

          Okay. Awesome. I was seriously thinking about getting NAS or a specialized media box like an NVIDIA Shield or Dune HD, but I have plenty of older computers that can do the job, so it seems like a waste. I have Rokus that handle video playback, so I just need to set up streaming.

          I do need to get better at backing up! My computer has like, 250 GB SSD and a TB HDD I never mount, but definitely need to use for offloading all my data. Just downloading a few games really eats up my disk space. Need to get that sorted out too.

          Damn I am so lazy with computers.

          • constantokra@lemmy.one
            link
            fedilink
            arrow-up
            0
            ·
            1 year ago

            I used a really old laptop with a bunch of USB disks for quite a while. Then I made a naskiller 4, and it was super easy to migrate because I used docker for everything. I’d recommend searching up the nasskiller builds whenever you do want a NAS. They price everything out and tell you exactly what you need and what options you have, and it emphasizes getting used hardware off eBay for cheap.

            Backing up is always a challenge. I’d suggest looking into duplicati, because it’s super easy for servers and desktops.

            • DidacticDumbass@lemmy.one
              link
              fedilink
              arrow-up
              0
              ·
              1 year ago

              Nice! Thanks for the tip. They get so expensive.

              I believe in used hardware. Most of my computers I inherited or got at flea markets, yard sales, and thrift stores. Ebay is no different, and probably significantly better if refurbished.

              • constantokra@lemmy.one
                link
                fedilink
                arrow-up
                0
                ·
                1 year ago

                Oh yeah. I love old hardware. I’m hesitant to use desktops as servers anymore because of the power they use, but laptops in particular are great. You can get an old Dell for next to nothing and replacing their batteries is super cheap. It has its own battery backup. I even got a USB 3 card for mine. Used it for several years and when I went to migrate to my nas I found out the LCD had gone dead. Hadn’t noticed or cared.

                • DidacticDumbass@lemmy.one
                  link
                  fedilink
                  arrow-up
                  0
                  ·
                  1 year ago

                  That is actually a good point. I was considering getting a couple of UPS for my main computer and server, but a laptop would do the job. I should pick one up anyways.

                  Yeah, power consumption sucks. I do not want to contribute to the waste culture, but I also don’t want to overspend on resources.

      • constantokra@lemmy.one
        link
        fedilink
        arrow-up
        0
        ·
        edit-2
        1 year ago

        Oh, as for os, i’d recommend dietpi on a SBC that uses a memory card, because it logs to RAM so you don’t wear the card as much, and Debian for everything else. You don’t run Into problems with Debian. Unless you like snaps, then go with Ubuntu. As much as I hate snaps, they are good for some services that tend to break on upgrades, like has been my experience with nextcloud.

        • DidacticDumbass@lemmy.one
          link
          fedilink
          arrow-up
          0
          ·
          1 year ago

          Ooh. I have a RPI 3 that I never use. Maybe I am overcomplicating this. I tried to use it for managing my 3D printers but it was just a hassle. I think it is actually cheaper to get one of those Creality boxes at this point instead of rolling my own.

          Plus SBCs are quiet. Okay, I will try it.

          • constantokra@lemmy.one
            link
            fedilink
            arrow-up
            0
            ·
            1 year ago

            Octoprint on a pi is great for 3d printers. You can even use a pi zero of you disable Bluetooth (it uses the better serial chip otherwise). I’ve never seen the creality boxes. I’ll have to look into it.

            • DidacticDumbass@lemmy.one
              link
              fedilink
              arrow-up
              0
              ·
              1 year ago

              Yeah, I was using octoprint. I think I just do not understand networking enough to get over random problems I have.

              Actually, I got it working. It was fine for one printer, the set the z offset into the bed so that was a no go. Never got the webcam to work, which is most of the reason I wanted it in the first place.

              • constantokra@lemmy.one
                link
                fedilink
                arrow-up
                0
                ·
                1 year ago

                The webcam is… not easy. Or anyway, it worked when I used a raspberry pI with a raspberry pi camera. Now I use some orange pi zeros with USB cameras, and the setup was tricky. Even worse, it seems to change the camera device every few reboots, so it’s basically useless. My printer is by my desk though, so it’s not a priority for me. If I really wanted a camera i’d probably set up a cheap WiFi camera that exposed a stream and just set octoprint to point to that stream instead of serving a local one itself. I also use a relay to power my printer on and off, and I think if I was going to set it up again i’d just use a smart plug and one of the plugins to turn it on and off.

  • BinaryEnthusiast@beehaw.org
    link
    fedilink
    arrow-up
    0
    ·
    1 year ago

    One of my most used softwares on my server is calibre and calibre-web. It allows me to self host my own book server with a very nice looking front end

    • beerd@beehaw.orgOP
      link
      fedilink
      arrow-up
      0
      ·
      1 year ago

      Thanks, i think this will be my next project. By the way it migt interest you that you can self host the entire gutenberg project using kiwix

      • BinaryEnthusiast@beehaw.org
        link
        fedilink
        arrow-up
        0
        ·
        1 year ago

        Ohh that is very interesting. I really like hosting media like that. I feel it’s very important to share knowledge with people in what ways you can, especially literature

    • Parsnip8904@beehaw.org
      link
      fedilink
      arrow-up
      0
      ·
      1 year ago

      How is the workflow with this? Also what kind of frontend client can be used for reading? I’m curious to try but haven’t got the time to set this up so far.

      • BinaryEnthusiast@beehaw.org
        link
        fedilink
        arrow-up
        0
        ·
        1 year ago

        So I use calibre as my backend client essentially. My library is managed through there, and I load my books in there as I get new books. It’s a bit clunky, but it’s reliable for what it does, and can even be set to auto tag your books and grab new covers for them

        Calibre-web is what I mainly use to interact with it in my day to day uses. It’s a very clean front end that connects to my calibre server, and even has account management if that’s your thing. It’s hosted as a website, so I can access it from anywhere in the world. When I click on a book, I can either read it in the browser, or I can download it. Usually I just download them to my tablet and read them there as you would any other pdf/ebook. It’s a super clean way to manage a ton of books

        • espais@programming.dev
          link
          fedilink
          arrow-up
          0
          ·
          1 year ago

          Is this effectively like having a Kindle account without needing a Kindle? I just ordered an eink tab and am immensely curious about ebook options now that are non-Kindle

          • BinaryEnthusiast@beehaw.org
            link
            fedilink
            arrow-up
            0
            ·
            1 year ago

            It’s more of an ebook manager. I haven’t used a kindle myself, so I can’t give you the best comparison there. It gives me an easy way to access my books from anywhere though since it’s essentially a website connected to my home lab. As long as your e-reader supports downloading epubs and pdfs from websites, this should be a good solution for maintaining your ebook collection

  • dnu@beehaw.org
    link
    fedilink
    arrow-up
    0
    ·
    edit-2
    1 year ago

    For a real hands off approach take a look at Yunohost or CapRover. Both are very easy installs and will give you a gui to manage your applications and other self-hosted services. It’s a great way to dip your toes in. The only difference is that with yunohost, they bundle most of the self-hosted services with their own local-sso implementation, so you only need one login for all your services. This is nice if you want a set it and forget it solution. With CapRover, you basically just have a nice gui to manipulate docker installs, so if you find it a bit too restricting, you could just manipulate the docker installs yourself via command line.

    Both are great entry points!

    EDIT: Honorable mention of DietPi !

  • bird@beehaw.org
    link
    fedilink
    arrow-up
    0
    ·
    1 year ago

    I have two instances of BookStack. A public-facing one for bird stuff, and one for home stuff. I also self-host an instance of Plausible Analytics as a privacy-respecting alternative to Google Analytics.