Hey selfhosters.

I have a question about starting self hosting; I have run Jellyfin on an old MacBook for a bit and wanna dip more than a toe into the self host pool. Are there any guides out there you’d recommend for actual, complete beginners who knows nothing but wants to learn?

I’ve searched a lot but it feels like they’re pretty advanced for beginners. Is it just a really sharp learning curve to this, or am I not finding the good ones?

Edit: To clarify what level I’m really, truly at: I run the Jellyfin server on regular macOS and have an external 5TB drive connected via usb. That’s it.

  • fozid@feddit.uk
    link
    fedilink
    English
    arrow-up
    2
    ·
    12 minutes ago

    There isn’t one. Build incrementally, and adapt and modify as it grows. Starting out, you have no idea where you will eventually end up. It’s a journey and a learning experience bespoke to you. Start with a basic dedicated device as a server that’s cheap. Add a service and get it safe and secure. Once you are happy with it and it is reliable and solid, add another service… Rinse and repeat.

  • placebo@lemmy.zip
    link
    fedilink
    English
    arrow-up
    6
    arrow-down
    1
    ·
    4 hours ago

    An ultimate guide could be a few tomes long not because you need to know that much, but because there are so many options and solutions. I’d recommend learning basics: core utils (i.e. command line tools), docker, network security basics (vpn, firewall).

    Then as you start adding more services, you can identify gaps in your knowledge and close them (e.g. what is a database, how to manage it, how to back it up and then restore if it fails).

  • talkingpumpkin@lemmy.world
    link
    fedilink
    English
    arrow-up
    2
    ·
    edit-2
    4 hours ago

    You’ll need networking basics for anything you do (there are lots of courses on youtube).

    After that, you can just follow wherever you curiosity carries you :)

    • atzanteol@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      1
      ·
      19 minutes ago

      Underrated comment.

      A “howto” that just gives you scripts and commands to run is pointless. You need to understand the technology, and networking in particular.

  • ohshit604@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    3
    ·
    edit-2
    2 hours ago

    If you manage to get Docker Compose installed on that Mac (I don’t know Dockers limitations with Macs) create a docker-compose.yaml file with the contents of;

    services:
    
      jellyfin:
    
        image: jellyfin/jellyfin
    
        container_name: jellyfin
    
        # Optional - specify the uid and gid you would like Jellyfin to use instead of root
    
        user: uid:gid
    
        ports:
    
          - 8096:8096/tcp
    
          - 7359:7359/udp
    
        volumes:
    
          - /path/to/config:/config
    
          - /path/to/cache:/cache
    
          - type: bind
    
            source: /path/to/media
    
            target: /media
    
          - type: bind
    
            source: /path/to/media2
    
            target: /media2
    
            read_only: true
    
          # Optional - extra fonts to be used during transcoding with subtitle burn-in
    
          - type: bind
    
            source: /path/to/fonts
    
            target: /usr/local/share/fonts/custom
    
            read_only: true
    
        restart: 'unless-stopped'
    
        # Optional - alternative address used for autodiscovery
    
        environment:
    
          - JELLYFIN_PublishedServerUrl=http://example.com/
    
        # Optional - may be necessary for docker healthcheck to pass if running in host network mode
    
        extra_hosts:
    
          - 'host.docker.internal:host-gateway'
    

    Edit the volumes so that the drive you want to use is exposed to the container and then run;

    sudo docker compose up -d

    In a shell while in the folder with the docker-compose.yaml file you just created. If everything works then the server should be running on port :8086 open your browser and make an http:// request to the ip of the server followed by the port.

    Example; http://127.0.0.1:8096/

    Documentation.

    Edit: removed unnecessary \

  • Artaca@lemdro.id
    link
    fedilink
    English
    arrow-up
    3
    ·
    5 hours ago

    I started by running Jellyfin on my PC with so-so success. Next move was to get a raspberry pi to screw around with. That went kind of poorly (hosted a website that was quickly ransomwared, lessons learned). Ditched the pi and got some used PC parts on FBM to spin up an Unraid server. I’ve been using that for years now, with some upgrades here and there to hardware and storage. There are a couple YT channels with spectacular Unraid content for self hosting. Trash guides for the arr stack. Years later and I now handle multiple servers using either Unraid or Portainer.

    As others have said, it’s a very personal journey. Best of luck, happy to try and answer questions you may have.

  • slazer2au@lemmy.world
    link
    fedilink
    English
    arrow-up
    19
    ·
    edit-2
    8 hours ago

    For an absolute beginner I would recommend Linux tutorials first so you can navigate the Linux cli.
    After that watch some docker tutorials as a significant chunk of self hosting is done with docker or a kube variant but you won’t need to lean about kube yet.

    LearnLinuxTV on YouTube has some great playlists for that.

  • towerful@programming.dev
    link
    fedilink
    English
    arrow-up
    6
    ·
    8 hours ago

    I’d start with learning some networking basics.
    Subnets, default gateways, DNS, routes, VLANs.

    Then get another computer to install proxmox on.
    Learn VMs, SSH, firewalls, basically Linux. Probably VPNs as well.

    Then set up a VM and play with docker & docker-compose.

    And that’s most of the tooling to be able to self host anything. A VM with docker, set up the docker compose of what you want, boom: done.
    Some projects are more of a “full of” kinda thing (like home assistant), which would be its own VM

  • Rimu@piefed.social
    link
    fedilink
    English
    arrow-up
    5
    ·
    8 hours ago

    Self-hosting is a very individual journey - everyone wants different things and finds they own way to meet their own requirements. So there isn’t really one guide that covers everything.

    Anyway, as a general road map:

    1. Create a Virtual Machine on your PC. Install Linux inside the VM.

    2. Play around in the VM to learn Linux basics. When you break the OS you can just wipe the VM and reinstall.

    3. In the VM, try some docker containers until you’re comfortable-ish with docker.

    4. Maybe try Yunohost in the VM. You might find Yunohost saves you a lot of time and hassle.

    5. Get hardware suitable for your goals.

    6. Install Linux, configure networking and docker containers on real hardware.

  • lime!@feddit.nu
    link
    fedilink
    English
    arrow-up
    5
    ·
    8 hours ago

    well what do you want to do?

    i found that using alpine linux made things a lot clearer. i’m not a newbie but i gut ovurwhelmed by comylicated setups, and alpine is as simple as can be. just scripts that start and stop services, and configuration in /etc/<service-name>. where it started getting complex was with exposing services to the internet.

    • Yesbutnotreally@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      3
      ·
      8 hours ago

      I’m not looking to expose anything to the internet yet at least. From the little I researched, there seems to be a million things that can go wrong and very few that can go right.

      What I’d ideally want is to be able to run a couple of simultaneous Jellyfin streams, backup photos (Immich/ente/etc) and possibly a “local cloud” like Nextcloud just to try it out without having to worry about any kind of hacking. If there are any good self hosted apps for like groceries and stuff, that would be pretty sweet too. They don’t have to sync immediately, just when someone is on the home network.

      • mpramann@discuss.tchncs.de
        link
        fedilink
        English
        arrow-up
        2
        ·
        7 hours ago

        What will hell you in that journey: basic understanding of Linux cli (Debian is good choice), docker and docker compose (make sure you understand the concepts of images, containers, networks and volumes) and of one kind of web server (I’d recommend Caddy because it’s rather simple). After that you basically use the often officially provided docker compose files to setup common self hostable services.

      • lime!@feddit.nu
        link
        fedilink
        English
        arrow-up
        1
        ·
        8 hours ago

        right, and what’s tripping you up? you’ve set up jellyfin, but other services are not cooperating?