Okay, anda dah selesa dengan projek-projek asas? Bagus! Sekarang kita masuk ke bahagian yang lebih mencabar — dan lebih seronok. Projek lanjutan ni bukan untuk semua orang, tapi kalau anda rasa homelab anda “boring” dan nak cabaran baru, inilah tempatnya.
Apa yang anda akan belajar: - Projek lanjutan mana yang sesuai untuk fasa seterusnya - Kesan projek berat seperti AI, NVR, atau game server terhadap resource perkakasan - Cara pilih projek lanjutan secara realistik tanpa “burn out”
Nota Beginner: Label “lanjutan” bukan bermaksud anda wajib kejar semuanya. Pilih yang paling relevan dengan minat atau objektif pembelajaran anda. Tak ada siapa yang judge kalau anda tak buat semua ni!
Tahap kesukaran: Sederhana
Pelayan Minecraft anda sendiri! Ajak kawan-kawan main, set rules anda sendiri, install mods sesuka hati.
Ini projek yang paling “fun” dalam senarai ni. Bayangkan ajak kawan-kawan join server yang anda host sendiri. Plus, ia ajar anda tentang resource management — Minecraft server boleh jadi sangat demanding kalau ramai pemain.
services: minecraft: image: itzg/minecraft-server:latest container_name: minecraft ports: - "25565:25565" environment: EULA: "TRUE" TYPE: "PAPER" VERSION: "1.21" MEMORY: "4G" MAX_PLAYERS: 10 VIEW_DISTANCE: 12 MOTD: "Pelayan Minecraft Homelab" DIFFICULTY: "normal" OPS: "nama_pemain_anda" volumes: - ./minecraft/data:/data restart: unless-stopped deploy: resources: limits: memory: 5G
/data/plugins
Nota Beginner: Pastikan anda set memory limit. Tanpa limit, Minecraft server boleh “makan” semua RAM anda dan service lain akan terjejas.
Tahap kesukaran: Mencabar
Jalankan model bahasa besar (LLM) secara tempatan di pelayan anda sendiri. Macam ChatGPT, tapi 100% private — data anda tak keluar dari rangkaian anda.
Ini antara projek yang paling “mind-blowing” untuk saya. Anda boleh tanya soalan, minta tolong tulis kod, analisis dokumen — semua secara offline dan private. Dan dengan Open WebUI, interface dia cantik macam ChatGPT.
services: ollama: image: ollama/ollama:latest container_name: ollama ports: - "11434:11434" volumes: - ./ollama/data:/root/.ollama deploy: resources: reservations: devices: - capabilities: [gpu] # Jika ada GPU restart: unless-stopped open-webui: image: ghcr.io/open-webui/open-webui:main container_name: open-webui ports: - "3010:8080" environment: OLLAMA_BASE_URL: http://ollama:11434 volumes: - ./open-webui/data:/app/backend/data depends_on: - ollama restart: unless-stopped
Muat turun model:
# Selepas kontena berjalan docker exec -it ollama ollama pull llama3.2 docker exec -it ollama ollama pull codellama docker exec -it ollama ollama pull mistral
Keperluan Perkakasan:
Nota Beginner: Mula dengan model kecil macam Phi-3 Mini dulu. Tak perlu GPU pun boleh jalan — cuma lebih perlahan. Kalau anda ada GPU lama yang tak dipakai, ini masa untuk bagi ia kerja baru!
Frigate adalah NVR (Network Video Recorder) dengan pengesanan objek AI. Ia boleh detect orang, kereta, haiwan — dan hanya record bila ada sesuatu yang menarik. Bukan macam CCTV biasa yang rakam 24/7 benda kosong.
Keselamatan rumah yang pintar. Anda dapat notifikasi bila ada orang di pintu hadapan, boleh tengok live feed dari mana-mana, dan semua rakaman kekal di pelayan anda — bukan di cloud orang lain.
services: frigate: image: ghcr.io/blakeblackshear/frigate:stable container_name: frigate privileged: true ports: - "5000:5000" - "8554:8554" # RTSP - "8555:8555" # WebRTC volumes: - ./frigate/config:/config - ./frigate/media:/media/frigate - type: tmpfs target: /tmp/cache tmpfs: size: 1000000000 environment: FRIGATE_RTSP_PASSWORD: kata_laluan_kamera devices: - /dev/dri/renderD128 # Intel GPU untuk inferens restart: unless-stopped
# frigate/config/config.yml mqtt: enabled: false cameras: pintu_hadapan: ffmpeg: inputs: - path: rtsp://admin:password@192.168.1.100/stream1 roles: - detect - record detect: width: 1280 height: 720 halaman_belakang: ffmpeg: inputs: - path: rtsp://admin:password@192.168.1.101/stream1 roles: - detect - record record: enabled: true retain: days: 7 events: retain: default: 30 detectors: default: type: openvino device: AUTO model: path: /openvino-model/ssdlite_mobilenet_v2.xml
Tahap kesukaran: Senang
Actual Budget adalah app pengurusan kewangan peribadi yang anda host sendiri. Track perbelanjaan, set bajet, lihat ke mana duit anda pergi.
Data kewangan anda adalah antara data paling sensitif. Dengan self-host, tiada pihak ketiga yang nampak berapa anda belanja kat kedai mamak. Interface dia simple dan laju.
services: actual: image: actualbudget/actual-server:latest container_name: actual-budget ports: - "5006:5006" volumes: - ./actual/data:/data restart: unless-stopped
Mealie simpan dan susun semua resipi kegemaran anda di satu tempat. Boleh import resipi dari mana-mana website, plan menu mingguan, dan auto-generate senarai belanja.
Tak perlu lagi scroll Instagram atau bookmark 100 resipi yang anda tak ingat mana satu. Import, susun, dan masak. Saya guna ni setiap minggu untuk plan makanan.
services: mealie: image: ghcr.io/mealie-recipes/mealie:latest container_name: mealie ports: - "9925:9000" environment: ALLOW_SIGNUP: "true" TZ: Asia/Kuala_Lumpur BASE_URL: https://mealie.lab.local volumes: - ./mealie/data:/app/data restart: unless-stopped
Ciri Mealie: - Import resipi dari URL - Perancang hidangan mingguan - Senarai belanja automatik - Kategori dan tag - Aplikasi web progresif (PWA)
Kalau ISP anda bagi IP dinamik (yang berubah-ubah), DDNS pastikan domain anda sentiasa point ke IP terkini. Maknanya anda boleh akses homelab dari luar walaupun IP berubah.
services: ddns-updater: image: qmcgaw/ddns-updater:latest container_name: ddns-updater ports: - "8500:8000" volumes: - ./ddns/data:/updater/data environment: CONFIG: | { "settings": [ { "provider": "cloudflare", "zone_identifier": "zon_id_anda", "domain": "homelab.domain.com", "host": "@", "ttl": 300, "token": "token_api_cloudflare", "ip_version": "ipv4" } ] } restart: unless-stopped
Navidrome macam Spotify peribadi. Stream koleksi muzik anda dari mana-mana, guna app yang cantik di telefon dan desktop.
Kalau anda ada koleksi MP3/FLAC, Navidrome bagi anda pengalaman streaming yang proper — dengan artwork, playlist, dan scrobbling. Tak perlu bayar langganan bulanan, dan kualiti audio ikut fail asal anda.
services: navidrome: image: deluan/navidrome:latest container_name: navidrome ports: - "4533:4533" environment: ND_SCANSCHEDULE: 1h ND_LOGLEVEL: info ND_BASEURL: "" volumes: - ./navidrome/data:/data - /mnt/media/music:/music:ro restart: unless-stopped
Aplikasi Klien: - Symfonium (Android) — Terbaik untuk Android - play:Sub (iOS) — Terbaik untuk iPhone - Sonixd (Desktop) — Klien desktop
Linkding simpan dan susun semua bookmark anda. Macam Pocket atau Raindrop, tapi self-hosted. Ringan, laju, dan simple.
services: linkding: image: sissbruecker/linkding:latest container_name: linkding ports: - "9095:9090" volumes: - ./linkding/data:/etc/linkding/data restart: unless-stopped
Vikunja adalah app pengurusan tugasan dan projek. Macam Trello atau Todoist, tapi anda yang host sendiri.
services: vikunja: image: vikunja/vikunja:latest container_name: vikunja ports: - "3456:3456" environment: VIKUNJA_SERVICE_JWTSECRET: rahsia_jwt_selamat VIKUNJA_SERVICE_FRONTENDURL: https://todo.lab.local volumes: - ./vikunja/files:/app/vikunja/files - ./vikunja/db:/db restart: unless-stopped
Speedtest Tracker jalankan speed test secara automatik dan track kelajuan internet anda sepanjang masa. Sesuai kalau anda rasa ISP tak bagi speed yang dijanjikan!
services: speedtest-tracker: image: lscr.io/linuxserver/speedtest-tracker:latest container_name: speedtest-tracker ports: - "8765:80" environment: PUID: 1000 PGID: 1000 DB_CONNECTION: sqlite SPEEDTEST_SCHEDULE: "0 */4 * * *" APP_KEY: base64:kunci_aplikasi_anda volumes: - ./speedtest/config:/config restart: unless-stopped
Nak tengok macam mana semua projek ni boleh digabungkan? Berikut adalah contoh seni bina homelab yang lengkap:
Internet │ ├── Modem ISP │ ├── pfSense/OPNsense (Router/Firewall) │ ├── WireGuard VPN │ ├── Suricata IDS/IPS │ └── HAProxy │ ├── Suis Terurus (VLAN) │ │ │ ├── VLAN 20: Pelayan │ │ ├── Proxmox VE │ │ │ ├── VM: Docker Host │ │ │ │ ├── Traefik (Reverse Proxy) │ │ │ │ ├── Nextcloud (Storan) │ │ │ │ ├── Vaultwarden (Kata Laluan) │ │ │ │ ├── Jellyfin (Media) │ │ │ │ ├── Gitea (Git) │ │ │ │ ├── Grafana (Pemantauan) │ │ │ │ ├── Immich (Foto) │ │ │ │ ├── Ollama (AI) │ │ │ │ └── Watchtower (Kemas kini) │ │ │ ├── LXC: Pi-hole (DNS) │ │ │ ├── LXC: Home Assistant │ │ │ └── VM: Windows (Ujian) │ │ │ │ │ └── TrueNAS (NAS) │ │ ├── SMB Shares │ │ ├── NFS Shares │ │ └── iSCSI Targets │ │ │ ├── VLAN 30: IoT │ │ ├── Kamera IP │ │ ├── Sensor Zigbee │ │ └── Peranti WiFi Pintar │ │ │ └── VLAN 40: Tetamu │ └── WiFi Tetamu (Internet sahaja) │ └── Access Point WiFi (UniFi/Omada)
Nota Beginner: Diagram ni contoh homelab yang “matang”. Anda tak perlu ada semua ni. Ramai bermula dengan satu mini PC dan 2-3 service sahaja. Grow at your own pace!
Semakin banyak projek yang anda jalankan, semakin banyak anda akan belajar tentang pengurusan infrastruktur IT. Tapi ingat — kualiti lebih penting daripada kuantiti. Satu projek yang anda faham sepenuhnya lebih bernilai daripada sepuluh projek yang anda copy-paste tanpa faham. Teruskan eksperimen dan enjoy the journey!