Transform your Steam Deck into a powerful home server running Ubuntu alongside SteamOS
This project provides a complete infrastructure-as-code solution for converting your Steam Deck into a versatile web server. By dual-booting Ubuntu with SteamOS, you unlock the full potential of your device—gaming when you want it, server capabilities when you need them.
The setup leverages Docker containerization to deploy essential network and web services, making your Steam Deck a capable home lab, development server, or network management hub. All services are configured for optimal performance on Steam Deck's hardware while maintaining low power consumption and thermal efficiency.
What makes this special:
- 🎯 Purpose-built for Steam Deck hardware constraints
- 🐳 Fully containerized services for easy management
- 🔒 Privacy-first approach with network-level ad blocking
- ⚡ Optional ZFS support for advanced storage features
- 🚀 Kubernetes-ready for those who want to scale
- 📦 Modular design—deploy only what you need
The project follows a modular, containerized architecture optimized for the Steam Deck's hardware:
- Host Layer: Ubuntu Linux (Dual-boot) providing a stable LTS base for server operations.
- Storage Layer: Docker with optional ZFS support for snapshots, compression, and data integrity—crucial for Steam Deck's storage constraints.
- Orchestration: Docker Compose for service definition and Portainer for visual management. K3s support is also available for more advanced Kubernetes-based deployments.
- Network Layer:
- DNS Level: AdGuard Home acts as the network's DNS server, providing ad-blocking and privacy.
- Edge/Proxy: Nginx Proxy Manager (or Zoraxy) handles SSL termination (Let's Encrypt) and routes traffic to internal containers.
- Internal: A dedicated Docker network (
homelab) ensures secure and isolated inter-service communication.
| Directory | Description |
|---|---|
adguard/ |
Network-wide ad and tracker blocking via AdGuard Home. |
nginx-proxy-manager/ |
Centralized reverse proxy with a web UI and automated SSL management. |
portainer/ |
Visual interface for managing Docker containers, images, and networks. |
zoraxy/ |
A lightweight, versatile reverse proxy and HTTP gateway alternative. |
docs/ |
Comprehensive documentation including installation guides and technical notes. |
Each directory is self-contained and can be deployed independently or as part of the full stack.
Potential future additions:
- Home Assistant integration
- Plex/Jellyfin media server configuration
- Automated backup scripts
- Monitoring stack (Prometheus + Grafana)
- VPN server setup (WireGuard)
- Homepage/dashboard integration
Contributions are welcome! Whether it's:
- 🐛 Bug fixes
- 📝 Documentation improvements
- ✨ New service configurations
- 💡 Optimization suggestions
Feel free to open issues or submit pull requests.
This project is open-source and available under the MIT License. Feel free to use, modify, and distribute as needed.
- Valve for creating the Steam Deck
- Docker community for containerization tools
- All the open-source projects that make this setup possible
Having issues? Have questions?
- Check the
docs/folder for detailed guides - Review service-specific README files
- Open an issue for bugs or feature requests
⭐ Star this repo if you found it helpful!
Built with ❤️ for the Steam Deck community