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.


If you manage to get Docker Compose installed on that Mac (I don’t know Dockers limitations with Macs) create a
docker-compose.yamlfile 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 -dIn a shell while in the folder with the
docker-compose.yamlfile 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 \
Edit 2: I really should have read the post more thoroughly, while my example above works fine for a Jellyfin server (which you apparently already run) it also can be adapted for other services. Read and interpret the documentation as best as you can, that goes for any service.