homelab/README.md

2.0 KiB

Homelab server

This is a collection of services I run on my homelab server.
It's pretty lightweight (you need at least 2GB RAM) and easy to setup.
All you need is a linux server with Docker installed.
Make sure you followed instructions after installation to configure to run Docker as a non-root user.

Services

Traefik

A reverse proxy that is used to route incoming requests to the correct container by domain name and not by port.
It's configured to use Let's Encrypt to automatically generate SSL certificates and redirect all HTTP requests to HTTPS.
Ex: https://movies.example.com -> jellyfin container:8096
Ex: https://gitea.example.com -> gitea container:3000

Uptime Kuma

Uptime Kuma is a monitoring tool, that checks the status of your websites and APIs.

Transmission

Transmission is a BitTorrent client with a web interface.
It is a lightweight, works on the server in background and has zero configuration.

Jellyfin

Jellyfin is a media server for hosting and managing personal media libraries.
Think of movies, TV shows, home videos, music, and pictures.

Gitea

Gitea is a lightweight self-hosted Git service, similar to GitHub.

Immich

Google Photos self-hosted alternative.

Homepage

A simple homepage with links to all the services.

Setup

To start you need to create .env file by copying .env.example:

cp .env.example .env

and filling in the variables.

Then you can deploy the stack to your server:

make deploy

That's it! You can now access the services by going to the domain names you specified in the .env file.
If you want to add more services, just add them to the compose.yml file and run make deploy again.