Digital Independence is a collection of ready-to-use Docker Compose configurations for running various self-hosted services on your own infrastructure. This project is designed to empower individuals and small organizations to manage their data, communication, and daily applications independently β not to completely abandon commercial services, but to ensure you have control, privacy, and choice.
"Take back control of your digital life, one container at a time."
| Icon | Service Name | Directory Path | Port | Brief Description |
|---|---|---|---|---|
| π | Dashdot | dashdot/ |
3001 | Lightweight and informative system dashboard. |
| π¬ | Element Web | element-web/ |
8009 | Modern web client for the Matrix communication protocol. |
| ποΈ | Homarr | homarr/ |
7575 | Modular dashboard to manage all your services. |
| πΌοΈ | Immich | immich-app/ |
2283 | Self-hosted photo and video management solution (Google Photos alternative). |
| π₯ | Jellyfin | jellyfin/ |
8096, 8920 | Open-source media server for streaming movies, music, and TV. |
| π | LibreTranslate | LibreTranslate/ |
5001 | Offline translation engine that respects privacy. |
| π | Mastodon | mastodon/ |
4000, 4001 | Federated social networking server (Twitter/X alternative). |
| π΅ | Navidrome | navidrome/ |
4533 | Modern music streaming server with Subsonic support. |
| βοΈ | Nextcloud | nextcloud-docker/ |
5000 | Complete cloud storage and collaboration platform. |
| π | ntfy | ntfy/ |
8010 | Simple push notifications via HTTP, ideal for script integration. |
| π€ | Open WebUI | open-webui/ |
3000, 11434 | Intuitive LLM interface, supports Ollama and OpenAI API. |
| π‘οΈ | Pi-hole | pi-hole/ |
53, 8080 | DNS-level ad and tracker filtering for your entire network. |
| π³ | Portainer | portainer/ |
9443 | Docker container management via web interface. |
| π | SearXNG | searxng-docker/ |
8888 | Privacy-respecting metasearch engine. |
| π¨ | Synapse | synapse/ |
8008, 8448 | Reference server for the Matrix communication network. |
| β±οΈ | Uptime Kuma | uptime-kuma/ |
9442 | Service status monitoring with real-time notifications. |
| π | Vaultwarden | vaultwarden/ |
8000 | Bitwarden-compatible password management server, lightweight version. |
| π | MediaWiki | wiki/ |
8002 | Wiki platform used by Wikipedia. |
| π | YOURLS | yourls/ |
8001 | Self-hosted URL shortening service. |
Ports listed are the default ports on the host. Some services are only bound to
127.0.0.1(localhost) for security reasons. Modify the configuration in each service'sdocker-compose.ymlto bind to0.0.0.0or change the port.
Additional Synapse services (bridges):
synapse:mautrix-telegramβ Telegram bridgesynapse:mautrix-whatsappβ WhatsApp bridge
Before starting, ensure your system meets the following requirements:
- Docker Engine version 29.4+ (recommended)
- Git to clone the repository
- (Optional)
whiptailordialogfor interactive menu - Linux / macOS operating system (Windows with WSL2 is also supported)
-
Clone the repository
cd ~/ git clone https://github.com/ricalnet/digital-independence.git cd digital-independence
-
Install Docker Engine (if not already available)
- For Debian:
./install-docker-engine-on-debian.sh
- For Ubuntu:
./install-docker-engine-on-ubuntu.sh
- For Debian:
-
Prepare environment files (
.env) for services that require them# Example for Immich cp immich-app/.env.example immich-app/.env nano immich-app/.env # adjust as needed
-
Manage services using the
sovereign.shscript
sovereign.sh is a command-line tool designed to simplify management of all services in one command.
./sovereign.sh -iOr run without arguments: ./sovereign.sh
| Purpose | Command |
|---|---|
| Start a single service | ./sovereign.sh portainer |
| Start all services | ./sovereign.sh -a up |
| Stop a service | ./sovereign.sh -d portainer |
| Restart services | ./sovereign.sh -r portainer vaultwarden |
| Update images and restart | ./sovereign.sh recycle synapse |
| Update without service downtime | ./sovereign.sh update immich |
| Simulate commands (dry-run) | ./sovereign.sh -n up portainer |
For Synapse sub-services, use
synapse:mautrix-telegramorsynapse:mautrix-whatsapp.
./sovereign.sh -hπ Full help guide: ./sovereign.sh -h
./sovereign.sh -h
Digital Independence by Ricalnet
SOVEREIGN.SH v2.0.0
USAGE:
./sovereign.sh [OPTIONS] [ACTION] [SERVICE...]
OPTIONS:
-h, --help Show this help message
-l, --list List all available services
-a, --all Run action on all services
-d, --down Stop and remove containers (ACTION)
-r, --restart Restart services (ACTION)
-p, --pull Pull latest images before action
-b, --build Build images before action
-v, --verbose Show detailed output
-i, --interactive Interactive checkbox menu
-n, --dry-run Show what would be executed (no changes)
-s, --sudo Use sudo for docker commands
--no-color Disable colored output
ACTIONS:
up Start services (default)
down Stop and remove services
restart Restart services
logs Show logs (last 50 lines)
ps Show container status
prune Clean up unused resources
COMBINED ACTIONS:
recycle PULL β DOWN β UP (full refresh with new images)
update PULL β UP (update without downtime)
fresh DOWN β UP (recreate without pull)
EXAMPLES:
./sovereign.sh portainer # Start portainer
./sovereign.sh -a up # Start all services
./sovereign.sh -d portainer # Stop portainer
./sovereign.sh -r portainer vaultwarden # Restart services
./sovereign.sh --pull --all up # Update all services
./sovereign.sh recycle synapse # Full refresh synapse
./sovereign.sh recycle synapse synapse:mautrix-telegram # Refresh synapse + bridges
./sovereign.sh fresh immich # Recreate immich only
./sovereign.sh -n up portainer # Dry run
./sovereign.sh -i # Interactive mode
SERVICE NAMING:
β’ Main services: use service name directly
β’ Synapse sub-services: synapse:mautrix-telegram, synapse:mautrix-whatsapp
RECYCLE SEQUENCE:
1. PULL β Download latest images (container still running)
2. DOWN β Stop and remove old container
3. UP β Start new container with fresh image and configBy default, services are only accessible from localhost. To access them securely from the internet (without opening raw ports to the public), this repository supports two approaches:
π§ Tor Hidden Service (.onion)
Anonymous access through the Tor network.
π Tor Hidden Service Implementation Guide
Access through Cloudflare without opening firewall ports.
π Cloudflare Tunnel Configuration Guide
To keep your system secure and stable, follow these recommendations:
- Immediately change passwords and secrets in
.envfiles. - Container data is stored in local directories or Docker volumes.
- Use the
--pulloption and read upstream project changelogs before major updates. - For standard internet access, set up Nginx Proxy Manager or Traefik (configuration is not included in this repository).
Here are some areas where you can help:
- Adding configurations for new services
- Fixing bugs or improving features in
sovereign.sh - Completing or improving documentation
Please open an Issue or submit a Pull Request.
This repository uses the MIT License. However, each included service has its own license. Please comply with the license terms of each upstream project.