A complete offline internet ecosystem built with Docker containers. This project provides access to knowledge, development tools, entertainment, and infrastructure services without requiring external internet connectivity.
This is a self-hosted internet project that creates a local network with various services to provide:
- Knowledge & Documentation - Wikipedia, developer documentation, wikis
- Development Tools - Git repositories, file management, PDF tools
- Entertainment - Media streaming with Jellyfin
- AI Services - Local AI models and chat interfaces
- Utilities - IT tools, data analysis, drawing, and file syncing
- Infrastructure - Password management, DNS filtering, ad-blocking
Perfect for environments with limited or no internet connectivity, or for users who want privacy and control over their digital resources.
- Wikipedia & DevDocs (
wiki.localhost) - 115GB of offline content including 225+ documentation sets - BookStack (
notes.localhost) - Documentation and wiki platform - PDF Tools (
pdf.localhost) - PDF manipulation and conversion tools
- LM Studio (
localhost:1234) - Local AI model hosting - Open WebUI (
localhost:8084) - Chat interface for AI models
- IT-Tools (
tools.localhost) - Collection of 70+ developer tools - CyberChef (
chef.localhost) - Encryption, encoding, and data analysis - Excalidraw (
draw.localhost) - Virtual whiteboard for sketching - Uptime Kuma (
status.localhost) - Service monitoring status page - Syncthing (
sync.localhost) - File synchronization
- Gitea (
git.localhost) - Git repository hosting - FileBrowser (
files.localhost) - File management interface
- Jellyfin (
media.localhost) - Media streaming server
- Vaultwarden (
vault.localhost) - Password manager (Bitwarden-compatible) - AdGuard Home (
dns.localhost) - DNS server with ad-blocking
- Docker
- Docker Compose
-
Clone the repository:
git clone https://github.com/QluxLab/Internet cd self-hosted-internet -
Start all services:
docker-compose up -d
-
Access the dashboard: Open your browser and go to
http://home.localhostorhttp://localhost
| Service | URL | Description |
|---|---|---|
| Homepage | http://home.localhost |
Main dashboard |
| Wikipedia | http://wiki.localhost |
Encyclopedia and docs |
| Movies | http://media.localhost |
Media streaming |
| Git | http://git.localhost |
Git server |
| Files | http://files.localhost |
File management |
| Passwords | http://vault.localhost |
Password manager |
| PDF Tools | http://pdf.localhost |
PDF manipulation |
| Notes | http://notes.localhost |
Wiki platform |
| DNS Admin | http://dns.localhost |
DNS and ad-blocking |
| LM Studio | http://localhost:1234 |
AI models |
| Open WebUI | http://localhost:8084 |
AI chat interface |
| IT-Tools | http://tools.localhost |
Developer utilities |
| CyberChef | http://chef.localhost |
Data analysis tools |
| Excalidraw | http://draw.localhost |
Diagramming tool |
| Status | http://status.localhost |
Service monitoring |
| Syncthing | http://sync.localhost |
File synchronization |
self-hosted-internet/
├── docker-compose.yml # Main orchestration file
├── nginx/
│ └── nginx.conf # Reverse proxy configuration
├── data/ # Service configuration data
├── wikipedia/ # 115GB of offline content
├── media/ # Media content directory
└── README.md # This file
This project uses environment variables for configuration. A template is provided in .env.example:
-
Copy the template:
cp .env.example .env
-
Customize paths and settings: Edit
.envto match your system's directory structure and preferences. -
Key variables you may want to modify:
VIDEO_DATA_PATH- Path to your media files (default:./media)FILEBROWSER_FILES- Path to your internet data (default:.)*_DATA_PATH- Various service data directories- Database passwords for security
To add media files for Jellyfin, place them in the ./media directory on your system, or modify the path in docker-compose.yml:
volumes:
- /your/media/path:/media:roThe Wikipedia content is already included (115GB). To add more ZIM files:
- Download ZIM files from Kiwix
- Place them in the
wikipedia/directory - Restart the Kiwix service:
docker-compose restart kiwix
Each service can be configured by modifying its section in docker-compose.yml or by adding environment variables and volume mounts.
The project uses Docker containers orchestrated with Docker Compose:
- Reverse Proxy: Nginx routes traffic based on subdomains
- Network Isolation: All services run in a dedicated Docker network
- Data Persistence: Service data stored in local
data/directory - Load Balancing: Nginx handles routing and SSL termination
This project includes 115GB of offline documentation in ZIM format covering:
- Programming languages (Python, JavaScript, Go, Rust, C++, Java, etc.)
- Web frameworks (React, Angular, Vue, Django, Flask, Laravel, etc.)
- Development tools (Docker, Kubernetes, Git, npm, etc.)
- Databases (MySQL, PostgreSQL, MongoDB, Redis, etc.)
- Cloud platforms and infrastructure tools
- Network Isolation: Services run in isolated Docker network
- Password Management: Vaultwarden with WebSockets support
- DNS Filtering: AdGuard Home blocks ads and trackers
- Local AI: No external API calls for AI services
- Storage Requirements: The Wikipedia content requires 115GB of disk space
- Media Path: Jellyfin serves content from
./media- ensure this path exists or modify it - DNS Configuration: Set your system DNS to
127.0.0.1to use AdGuard Home - Localhost Access: All services are accessible via localhost subdomains
# Pull latest images
docker-compose pull
# Restart services
docker-compose up -d# Backup all service data
tar -czf backup-$(date +%Y%m%d).tar.gz data/# Check service status
docker-compose ps
# View logs
docker-compose logs --tail=100 [service-name]- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
- Kiwix - Offline content serving
- Jellyfin - Media streaming
- Gitea - Git hosting
- Vaultwarden - Password management
- AdGuard Home - DNS filtering
- Stirling PDF - PDF tools
- Homepage - Dashboard interface
- IT-Tools - Developer tools collection
- CyberChef - The Cyber Swiss Army Knife
- Excalidraw - Virtual whiteboard
- Uptime Kuma - Monitoring tool
- Syncthing - File synchronization
Note: This project is designed for educational and personal use. Ensure you comply with local laws and regulations regarding content distribution and usage.
