self-hosted_docker_setups
A collection of my docker-compose files used to setup self-hosted services on Raspberry Pi 4
List of services hosted (linked to their respective GitHub repositories)
- AdGuard-Home
- Authelia
- Bazarr
- Calibre-web
- Cloudflare-DDNS
- Code-Server
- Dockprom (Prometheus + Grafana + cAdvisor + Nodeexporter + Alertmanager + Pushgateway + Caddy)
- Duplicati
- Flood
- Gitea (Server + Database)
- Gotify
- Grocy
- Guacamole
- Home Assistant
- Homer
- Joplin (Server + Database)
- Lidarr
- Mealie
- Nextcloud (WebApp + Database + Redis + Cron)
- Nginx Proxy Manager (WebApp + Database)
- Overseerr
- Paperless-ng (WebServer + Redis + Gotenberg + Tika)
- PhotoPrism (Server + Database)
- Plex
- PodGrab
- Portainer
- Prowlarr
- qBittorrent
- Radarr
- Readarr
- Snapdrop
- Sonarr
- SurfShark VPN
- Traggo
- Transmission
- Tube-Archivist (Frontend + ElasticSearch + RedisJSON)
- Uptime-Kuma
- Vaultwarden
- Vikunja (Frontend + API + Database + Redis + Proxy)
- Wallabag (WebApp + Database + Redis)
- Watchtower
- Wireguard
Discover other awesome self-hosted services at - https://github.com/awesome-selfhosted/awesome-selfhosted
Getting started
Install docker
and docker-compose
on your RPi to start building containers
Update and Upgrade
sudo apt-get update && sudo apt-get upgrade
Install docker
curl -sSL https://get.docker.com | sh
Add a Non-Root User to the Docker group
# Add users to the Docker group (ex. pi)
sudo usermod -aG docker pi
# Add permissions for the current user
sudo usermod -aG docker ${USER}
# Check
groups ${USER}
Install Docker-Compose
sudo apt-get install docker-compose plugin
Enable Docker to start your containers on boot
sudo systemctl enable docker
hello-world
container
Test Docker with a docker run hello-world
Start a container using docker-compose
Navigate to project root directory which contains the docker-compose.yml
file
docker compose up -d
Upgrading containers with Docker-Compose
# Pull the latest images
docker compose pull
# Stop running containers
docker compose stop
# Remove stopped containers
docker compose rm -f
# Rebuild containers with updated images
docker compose up -d --build