Table of Contents
Why Build This?
Most AI tools today are cloud-dependent, censored, or expensive. Schools in China face additional hurdles: Docker Hub is blocked, model downloads crawl at 2 MB/s, and "safe" cloud filters neuter educational content.
We built a machine that doesn't care about any of that. Once set up, it runs entirely offline. Students can ask LLMs anything. Teachers can share files without WeChat compression destroying PDFs. Everything is local, private, and fast.
What We Built
๐ง AI Chat
Ollama serving 5 local LLMs via Open WebUI. Students chat with Qwen3, Llama 3.1, and more โ no internet required.
๐ File Sharing
Nextcloud for documents, photos, and collaboration. No WeChat file size limits. No compression.
๐ฌ Media Server
Jellyfin streams educational videos to any device on the LAN. Subtitles, transcoding, beautiful UI.
๐ก๏ธ DNS Filter
AdGuard Home blocks ads and trackers at the network level. Protects all connected devices.
๐ AI Teaching Tools
Grammar Catalogue, KET/PET exam platform, and Kahoot-style quiz system for interactive learning.
๐ Offline Wikipedia
Kiwix serves Wikipedia, Wiktionary, and other ZIM files without internet. Entire encyclopedia on disk.
๐พ Backup Strategy
Restic for data + Timeshift for system snapshots. Two-tier backup on a 4TB SSD.
The Stack
| Component | Technology | Version | Port |
|---|---|---|---|
| LLM Engine | Ollama | 0.24.0 (ROCm) | 11434 |
| Chat Interface | Open WebUI | latest (ghcr.io) | 3000 |
| File Cloud | Nextcloud + MariaDB | 33.0.3 | 8080 |
| Media Server | Jellyfin | 10.11.10 | 8096 |
| DNS Filter | AdGuard Home | latest | 3001 (web), 53 (DNS) |
| Wiki Server | Kiwix-serve | 3.7.0 | 8081 |
China-Specific Notes
Building this in China requires workarounds for network restrictions. We documented every one:
- Docker Hub blocked โ Use
ghcr.ioand China mirrors (USTC, Tencent, 163, Daocloud) - Model downloads slow โ Set 2-hour timeouts; Ollama resumes partial downloads automatically
- Port 53 conflict โ
systemd-resolvedowns port 53; map AdGuard web UI to 3001 instead - International font servers blocked โ
ttf-mscorefonts-installerfails; non-critical, ignore or purge
ghcr.io or China mirrors.
See Network Setup for exact /etc/docker/daemon.json config.
The Team
This project is maintained by a family of agents working together. Each has a role:
โ๏ธ Main Agent
Manager. Reviews work, designs architecture, publishes to 0604.ai. Cloud-based via WeCom.
๐ฅ๏ธ HER
Dual-boot machine. Ubuntu side: automated AI server (24/7). Windows side: creative powerhouse (Adobe, GOG, gaming). About HER โ
๐ HIM
School server. At NAS Jiaxing 24/7. Handles LMS, exam expertise, and fleet golden master. Has Kimi API.
๐ฑ N95
Thailand streaming box. Preparing for home trip. Handles Disney Plus routing.
๐ฎ MiniPC
Home entertainment. Windows + Ubuntu. Astrill only, no Tailscale.
What's Next
- Complete Kiwix ZIM library setup (Wikipedia + educational content)
- Pinokio + ComfyUI for image generation (pending GPU memory assessment)
- Update Ollama to latest version (current 0.24.0 works but is old)
- Document student onboarding flow (simple URLs, no passwords needed)
- GitHub sync between Ubuntu and Windows instances for shared context