This repository holds my docker compose files and configuration files for services I host on my homelab. For a while I have been experimenting with different recipies and services to see what works. Whilst this is a public repository, my needs may not be the same as yours, but feel free to fork this and tweak it as you desire.
- βοΈ Cloud
- π¨βπ» Development
- π¨ Mail
- πΌ Management
- πΊ Media
- πΏ Music
- π Networking
- π Status / Monitoring
- π§ Tools / Utilities
Name | Description | Ports | Links |
---|---|---|---|
authelia | The Single Sign-On Multi-Factor portal for web apps. | Docker Hub, Website | |
fidi | Firefly III Data Importer. | Docker Hub | |
firefly | Personal Finance Manager. | Docker Hub, Website | |
immich-server | Photo & Video Backup Solution | GitHub, Website | |
nextcloud | Personal Cloud Storage | Docker Hub, Website | |
paperless-ngx | Document Management System. | GitHub | |
rxresume-client | |||
vaultwarden | Unofficial Bitwarden compatible server written in Rust. | GitHub | |
wallabag | A self hostable application for saving web pages, freely. | GitHub | |
pgadmin | Web based administration tool for the PostgreSQL database. | Docker Hub | |
yaade | Yet Another API Development Environment. | GitHub | |
homer | A very simple static homepage for your server. | GitHub | |
ofelia | Docker job scheduler. | GitHub | |
portainer | Universal management GUI for Docker. | GitHub | |
watchtower | A process for automating Docker container base image updates. | GitHub, Docker Hub | |
bazarr 1 | Manage and download subtitles based on your requirements. | GitHub, Docker Hub, Website | |
freshrss | Self-hosted RSS feed aggregator. | GitHub | |
jellyfin 1 | The Free Software Media System. | GitHub | |
prowlarr 2 | An indexer manager/proxy. | GitHub, Website | |
radarr 1 | A fork of Sonarr to work with movies Γ la Couchpotato. | GitHub | |
sabnzbd 1,2 | The free and easy binary newsreader. | GitHub, Docker Hub, Website | |
sonarr 1 | Smart PVR for newsgroup and bittorrent users. | GitHub | |
transmission 1,2 | Fast, easy, and free BitTorrent client. | GitHub | |
tvheadend 1,2 | TV Streaming Server. | Website | |
deemix | Barebone deezer downloader. | GitLab | |
lidarr 1 | Music Collection Manager. | GitHub | |
navidrome 1 | Modern Music Server and Streamer compatible with Subsonic/Airsonic. | GitHub | |
feishin | A modern self-hosted music player. | GitHub | |
traefik | The Cloud Native Application Proxy. | 443:443 , 80:80 |
GitHub |
tunnel | A Docker container for using WireGuard with PIA. | 9981:9981/tcp , 9982:9982/tcp |
Docker Hub |
unifi-controller | Wireless network management. | 3478:3478/udp , 10001:10001/udp , 8080:8080 |
|
uptime-kuma | Self-hosted monitoring tool like "Uptime Robot". | GitHub | |
zabbix-web | Zabbix web frontend. | Docker Hub | |
cobalt-web | Save what you love. | GitHub | |
cyberchef | The Cyber Swiss Army Knife - a web app for encryption, encoding, compression and data analysis. | GitHub | |
n8n | Powerful workflow automation. | ||
stirling-pdf | PDF manipulation tool. | GitHub |
1Assumes mass storage available, mounted at MEDIA_DIR on the host.
2All traffic is routed via tunnel VPN client container.
A linux-based operating system with docker installed.
Clone the Github repository
git clone --recurse-submodules https://github.com/ben-pearce/jessie-server-deployment && cd jessie-server-deployment
Copy both example.config and example.env
cp -rp example.config .config && cp -rp example.env .env
Edit .env and other config files as desired
vi .env
β οΈ If migrating data, copy the .data directory from previous installation now.
Bring up the container network
docker-compose up -d
π The
aggregate-docker-compose.sh
script can be treated exactly likedocker-compose
command.
The .env
file stores environment variables to make starting the containers easy. This should be modified to match your needs before starting the containers for the first time.
Variable | Description | Example |
---|---|---|
HOST |
The main host for web-based services. | example.com |
SMTP_HOST |
SMTP mail server host. | mail.example.com |
SMTP_USER |
SMTP username. | [email protected] |
TZ |
Timezone for all containers. | Europe/London |
PUID |
System user ID to run containers as. | 1000 |
GUID |
System group ID to run containers as. | 1000 |
MEDIA_DIR |
Location of media storage on host. | /mnt/storage |
CONFIG_DIR |
Location of config storage on host. | .config |
DATA_DIR |
Location of data storage on host. | .data |
CLOUD_DIR |
Location of cloud storage on host. | /mnt/cloud |
LOG_DIR |
Location of logs directory on host. | /var/log |
ADMIN_EMAIL |
Administrative email address. | [email protected] |
LAN_SUBNET |
Local subnet . | 10.0.0.0/24 |
PRINTER_HOST |
Printer host |
First of all, thanks for your interest! But due to this being a personal project of mine tailored to my own needs, I cannot accept pull requests on this repository. Please feel free to fork and tweak this project though, and if you wish you can also open an issue to make suggestions for improvement and showcase your own homelab setups based off of this repo!