Docker has revolutionized self-hosting by making it easier than ever to deploy and manage applications in isolated environments. Whether you’re looking to host your own cloud storage, media server, or development tools, Docker offers powerful self-hosted solutions that are both flexible and scalable.
Here are some of my top self-hosted solutions you can run with Docker.
1. Nextcloud – Your Own Cloud Storage
If you need an alternative to Google Drive or Dropbox, Nextcloud is the best self-hosted solution. It allows you to store files, share documents, and even integrate calendar and email functions.
Features
- File synchronization and sharing
- Calendar and contacts integration
- Built-in office suite (Collabora or OnlyOffice)
- End-to-end encryption
Docker Deployment
1 2 3 |
docker run -d -p 8080:80 --name nextcloud -v nextcloud_data:/var/www/html nextcloud |
2. Plex – Media Streaming Done Right
Plex enables you to create your own Netflix-like experience by organizing and streaming your media collection.
Features
- Remote access to your media
- Automatic media organization and metadata fetching
- Support for multiple users and devices
- Integration with streaming services
Docker Deployment
1 2 3 |
docker run -d --name=plex -p 32400:32400 -v plex_data:/config -e PLEX_CLAIM=claim-token plexinc/pms-docker |
3. Traefik – Reverse Proxy and Load Balancer
For managing multiple self-hosted applications, Traefik acts as a dynamic reverse proxy with automatic HTTPS support.
Features
- Automatic SSL certificate generation via Let’s Encrypt
- Load balancing and traffic routing
- Integration with Docker, Kubernetes, and other platforms
- Real-time metrics and dashboards
Docker Deployment
1 2 3 |
docker run -d -p 80:80 -p 443:443 -v /var/run/docker.sock:/var/run/docker.sock traefik:v2.9 |
4. Portainer – Simplified Docker Management
Portainer provides a user-friendly web interface for managing Docker containers, images, and volumes.
Features
- Web-based UI for container management
- Supports Docker Swarm and Kubernetes
- Role-based access control
- Application deployment templates
Docker Deployment
1 2 3 |
docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer-ce |
5. Bitwarden – Secure Password Management
Bitwarden is an open-source password manager that lets you host your own password vault for maximum security.
Features
- End-to-end encrypted vault
- Cross-platform access
- Secure sharing of credentials
- Integration with browser extensions and mobile apps
Docker Deployment
1 2 3 |
docker run -d -p 80:80 --name bitwarden bitwarden/self-host |
6. Home Assistant – Automate Your Smart Home
Home Assistant is the go-to solution for managing smart home devices with full control and automation capabilities.
Features
- Supports thousands of smart home devices
- Local control for privacy-focused automation
- Advanced scripting and automation
- Mobile app for remote management
Docker Deployment
1 2 3 |
docker run -d --name homeassistant -v /path/to/config:/config --restart unless-stopped ghcr.io/home-assistant/home-assistant:stable |
7. Gitea – Lightweight Git Hosting
Gitea is a self-hosted Git service, perfect for developers who want an alternative to GitHub.
Features
- Lightweight and easy to set up
- Supports Git repositories, issue tracking, and pull requests
- CI/CD integration
- Web-based code editor
Docker Deployment
1 2 3 |
docker run -d -p 3000:3000 -p 2222:22 -v gitea_data:/data gitea/gitea |
8. Jellyfin – Open-Source Media Server
Jellyfin is an open-source alternative to Plex, offering media streaming without restrictions.
Features
- Completely free with no subscription required
- Supports live TV and DVR functionality
- Multi-user support
- Hardware acceleration for smooth playback
Docker Deployment
1 2 3 |
docker run -d --name=jellyfin -p 8096:8096 -v jellyfin_config:/config jellyfin/jellyfin |
9. Uptime Kuma – Monitor Your Services
Uptime Kuma is a self-hosted monitoring tool that helps track uptime for your applications.
Features
- Real-time monitoring and alerts
- Customizable status pages
- HTTP, TCP, and DNS monitoring
- Multiple notification integrations
Docker Deployment
1 2 3 |
docker run -d -p 3001:3001 --name uptime-kuma louislam/uptime-kuma |
10. Vaultwarden – Lightweight Bitwarden Alternative
Vaultwarden is a lighter, self-hosted version of Bitwarden, great for personal or small-team use.
Features
- Compatible with official Bitwarden clients
- Lightweight and resource-efficient
- Self-hosted, no third-party dependencies
- Secure password storage
Docker Deployment
1 2 3 |
docker run -d -p 80:80 --name vaultwarden vaultwarden/server |
Thoughts
Docker makes self-hosting easier by simplifying deployment and scalability. Whether you’re looking for cloud storage, media streaming, or home automation, these solutions provide the best self-hosted alternatives to cloud-based services.