
Mengapa stack kontainer kecil lebih baik daripada yang besar
Membaca “5 just-enough Docker containers I use on every PC” di XDA membuat kami mengevaluasi stack kami sendiri dan menghilangkan dua pertiga dari apa yang kami jalankan. Lab rumah yang tidak pernah disentuh karena membutuhkan satu jam untuk dipahami adalah lab rumah yang mati. Set kontainer yang kecil dan tersengaja yang mencakup antarmuka admin, uptime, rahasia, pemblokiran iklan, dan pembaruan adalah versi yang kami gunakan berkali-kali selama bertahun-tahun, di Windows dengan Docker Desktop, di macOS dengan OrbStack, dan di Linux dengan Docker Engine biasa.
Kami menguji delapan kontainer melalui siklus instalasi bersih di setiap host tersebut, kemudian menjalankan stack selama satu minggu kerja untuk memeriksa penggunaan RAM, CPU idle, dan berapa banyak bug yang kami temui. Semuanya di sini dapat dimulai dengan docker compose up -d dan berjalan baik di belakang firewall jaringan rumah.
Apa yang dicari dalam stack kontainer minimal
- Berjalan dari satu file compose. Seluruh set harus muncul bersama dalam satu perintah, bukan enam belas dashboard untuk diklik.
- Jejak idle rendah. Stack yang Anda tinggalkan di mini PC harus idle dalam persentase RAM dua digit rendah, tidak lebih.
- Web UI atau tidak ada. Alat baris perintah saja milik di host, bukan di Docker. Setiap kontainer di sini memiliki antarmuka browser.
- Kisah cadangan. Apa pun yang menyimpan state harus dapat dicadangkan secara trivial (satu volume yang dipasang atau bind mount).
- Kesadaran pembaruan. Kontainer yang tidak pernah diperbarui adalah kontainer yang dikompromikan. Stack harus mencakup cara untuk tetap segar.
- Pola reverse-proxy yang terdokumentasi. Deployment nyata berakhir di belakang Traefik, Caddy, atau nginx, dan dokumentasi kontainer harus menunjukkan caranya.
Perbandingan cepat
| Aplikasi | Terbaik untuk | Jejak idle | Web UI | Lisensi |
|---|---|---|---|---|
| Portainer | Mengelola kontainer secara visual | Rendah | Ya | Community edition free |
| Uptime Kuma | Memantau layanan dan mendapatkan peringatan | Sangat rendah | Ya | MIT |
| Vaultwarden | Manajer kata sandi yang dihosting sendiri | Sangat rendah | Ya | GPLv3 |
| Pi-hole | Pemblokiran iklan dan pelacak tingkat DNS | Sangat rendah | Ya | EUPL |
| Watchtower | Pembaruan otomatis kontainer | Sangat rendah | Tidak ada web UI | Apache 2.0 |
| Homepage | Dashboard pribadi untuk stack | Sangat rendah | Ya | GPLv3 |
| Traefik | Reverse proxy untuk sisa stack | Rendah | Ya (dashboard) | MIT |
| Duplicati | Pencadangan untuk host dan volume kontainer | Rendah | Ya | LGPLv2.1 |
Delapan kontainer yang kami jalankan di setiap host
1. Portainer, antarmuka admin yang membuat Docker dapat dipahami
Portainer adalah dashboard browser yang mengubah command-line Docker menjadi serangkaian layar. Mulai dan hentikan kontainer, tarik gambar, inspeksi volume, tail log, exec ke dalam kontainer, diagram jaringan, semuanya. Bagi siapa pun yang tidak ingin menyimpan tiga puluh perintah docker terakhir di kepala mereka, Portainer adalah tempat hari dimulai.
Di mana ini kurang: Edisi Business ada di belakang lisensi; edisi Community mencakup semua yang dibutuhkan lab rumah dengan satu node, tetapi beberapa fitur enterprise (RBAC di luar beberapa akun, toko rahasia terenkripsi) berbayar.
Harga:
- Gratis: Community edition untuk penggunaan pribadi dan tim kecil
- Berbayar: Business edition dengan harga per-node
- vs raw docker CLI: Lebih cepat untuk browsing, lebih lambat untuk scripting
Berjalan di: Windows Docker Desktop, macOS OrbStack, Docker Engine di Linux.
Unduh: portainer.io
Garis bawah: Kontainer pertama untuk diinstal di host baru, sebelum Anda menginstal apa pun.
2. Uptime Kuma, monitor yang memberi tahu Anda sebelum keluarga Anda
Uptime Kuma adalah halaman status yang dihosting sendiri dan mesin pemberitahuan. Ini melakukan ping pada URL, port TCP, database, atau pemeriksaan kesehatan kontainer secara terjadwal, kemudian menampilkan papan status dan mengirimkan pemberitahuan (Discord, Telegram, email, ntfy) ketika sesuatu rusak. Menambahkan layanan baru adalah formulir dua menit.
Di mana ini kurang: Tidak dibangun untuk ratusan layanan (ini adalah alat lab rumah, bukan Datadog). Restart sendiri meninggalkan celah dalam timeline.
Harga:
- Gratis: Produk penuh
- Berbayar: Tidak ada
- vs monitoring komersial: Lebih sederhana, pribadi, tanpa tagihan per-check
Berjalan di: Docker di Windows, macOS, Linux.
Unduh: Uptime Kuma on GitHub
Garis bawah: Kontainer yang membuat sisa stack dapat diamati. Tambahkan yang kedua.
3. Vaultwarden, Bitwarden yang dihosting sendiri yang ringkas
Vaultwarden adalah reimplementasi Rust dari API server Bitwarden. Berjalan dalam sebagian kecil RAM yang digunakan kontainer resmi, berbicara dengan protokol yang sama dengan aplikasi Bitwarden resmi, dan menyimpan semuanya dalam satu file SQLite yang mudah didukung.
Di mana ini kurang: Proyek komunitas, tidak didukung oleh Bitwarden. Beberapa fitur enterprise (penyedia SSO, sinkronisasi direktori) dibatasi untuk tingkat berbayar di Bitwarden yang dihosting.
Harga:
- Gratis: Kontainer gratis; biaya penyimpanan berapa pun disk Anda
- Berbayar: Tidak ada
- vs Bitwarden yang dihosting: Kontrol penuh, backup Anda sendiri, uptime yang dikelola sendiri
Berjalan di: Host Docker apa pun.
Unduh: Vaultwarden on GitHub
Garis bawah: Kontainer yang akhirnya memungkinkan Anda meninggalkan manajer kata sandi yang dihosting tanpa kehilangan sinkronisasi lintas perangkat.
4. Pi-hole, pemblokir iklan untuk setiap perangkat di jaringan
Pi-hole menjalankan server DNS yang tidak mengembalikan apa pun untuk domain dalam daftar hitamnya. Arahkan DNS router Anda ke kontainer Pi-hole dan setiap perangkat di jaringan (telepon, TV, printer) tiba-tiba kehilangan koneksi iklan dan pelacaknya di tingkat DNS, tidak perlu instalasi per-perangkat.
Di mana ini kurang: Beberapa layanan mengandalkan domain pelacak agar tautan berfungsi; memori otot daftar putih membutuhkan seminggu untuk membangun. Daftar blokir HTTPS saja masih kehilangan iklan yang disajikan dari domain yang sama dengan situs.
Harga:
- Gratis: Produk penuh
- Berbayar: Tidak ada
- vs pemblokir iklan browser: Mencakup telepon, TV, dan IoT; tidak menyembunyikan iklan tingkat elemen di halaman
Berjalan di: Docker di host apa pun; paling bahagia di mesin yang selalu aktif.
Unduh: pi-hole.net
Garis bawah: Satu-satunya kontainer yang mengubah apa yang dilihat seluruh rumah tangga, yang merupakan pengembalian yang bagus untuk sepuluh menit compose.
5. Watchtower, penjaga yang membuat kontainer tetap segar
Watchtower memantau kontainer lain Anda, memeriksa gambar yang lebih baru, dan menarik plus restart sesuai jadwal yang Anda atur. Kirimkan dengan notifikasi Discord atau Slack dan setiap pagi Anda mendapatkan ringkasan apa yang diperbarui semalam.
Di mana ini kurang: Pembaruan otomatis dapat menghancurkan layanan yang sedang berjalan jika gambar mengirimkan rilis yang buruk. Penyematan ke tag tertentu atau menggunakan filter label adalah mitigasi.
Harga:
- Gratis: Produk penuh
- Berbayar: Tidak ada
- vs pembaruan manual: Otomasi dengan risiko kecil vs keusangan konsisten tanpa risiko kejutan
Berjalan di: Host Docker apa pun.
Unduh: containrrr.dev/watchtower
Garis bawah: Kontainer yang mencegah sisa stack dari pembusukan.
6. Homepage, dashboard yang membuat stack dapat ditemukan
Homepage adalah dashboard ringan yang mencantumkan layanan Anda dengan ikon, pemeriksaan kesehatan, dan integrasi yang menampilkan data langsung (status Uptime Kuma, hitungan Portainer, antrian Sonarr jika Anda menjalankan satu). Tandai di setiap browser dan Anda tidak akan pernah kehilangan URL ke kontainer lagi.
Di mana ini kurang: Konfigurasi adalah YAML di disk; bagian baiknya adalah itu hidup di git, bagian buruknya adalah itu bukan UI click-to-add.
Harga:
- Gratis: Sepenuhnya open-source
- Berbayar: Tidak ada
- vs bilah bookmark browser: Data langsung, satu tempat untuk rumah tangga
Berjalan di: Docker di host apa pun.
Unduh: Homepage on GitHub
Garis bawah: Kontainer yang mengubah sisa stack dari “URL yang saya ingat” menjadi pintu depan yang sebenarnya.
7. Traefik, reverse proxy yang berbicara dengan sisa stack
Traefik adalah reverse proxy yang memungkinkan setiap kontainer lain menjawab pada subdomain-nya sendiri (portainer.home, kuma.home, vault.home) alih-alih mengingat nomor port. Ini memantau label Docker dan memperbarui routing secara otomatis, jadi menambahkan kontainer baru yang mendapat URL publik membutuhkan tiga baris label dan penerapan compose.
Di mana ini kurang: Deploy Traefik pertama memiliki lebih banyak tombol daripada yang lain; label router dan pengaturan TLS resolver membutuhkan bacaan teliti dari dokumentasi.
Harga:
- Gratis: Traefik Proxy sepenuhnya open-source
- Berbayar: Traefik Enterprise adalah produk terpisah
- vs nginx: Konfigurasi native-container, kurang klasik
Berjalan di: Host Docker apa pun.
Unduh: traefik.io
Garis bawah: Satu-satunya kontainer yang mengubah seluruh stack dari “IP dan port” menjadi “URL yang dapat dibaca manusia.”
8. Duplicati, pencadangan yang menjaga volume kontainer tetap aman
Duplicati adalah klien pencadangan untuk sisa stack. Arahkan ke volume Docker dan bind mount Anda, pilih tujuan (lokal, SSH, S3, B2, WebDAV), atur jadwal, dan setiap malam data penting mendapatkan pencadangan terenkripsi, terdeduplikasi di luar host.
Di mana ini kurang: Web UI berfungsi daripada dipoles. Alur kerja restore membutuhkan walkthrough pertama kali.
Harga:
- Gratis: Produk penuh
- Berbayar: Tidak ada
- vs skrip manual
docker run --rm -v: Sebenarnya berjalan sesuai jadwal, menangkap volume baru
Berjalan di: Docker di host apa pun.
Unduh: duplicati.com
Garis bawah: Satu-satunya kontainer yang orang lewatkan dan kemudian sesali ketika disk mati. Tambahkan lebih awal.
Bagaimana memilih stack minimalis yang tepat
- Jika ini host Docker pertama Anda: Portainer, Uptime Kuma, dan Vaultwarden adalah tiga yang membayar dalam minggu pertama.
- Jika jaringan rumah Anda penuh dengan iklan: tambahkan Pi-hole dan arahkan ulang DNS router Anda.
- Jika Anda sudah memiliki stack yang terus berkembang: tambahkan Watchtower dan Homepage berikutnya; keduanya membuat sisa lebih terkelola.
- Jika Anda merencanakan untuk mengekspos layanan apa pun di subdomain: Traefik masuk sebelum paparan, bukan sesudahnya.
- Jika Anda peduli untuk tidak kehilangan apa yang Anda bangun: Duplicati adalah kontainer yang mengubah stack compose Anda menjadi sesuatu yang sebenarnya dapat Anda pulihkan.
FAQ
Apakah kontainer ini berjalan di PC Windows dengan Docker Desktop?
Ya. Setiap delapan mengirimkan gambar multi-arch resmi (linux/amd64 dan linux/arm64) yang berjalan identik di Docker Desktop untuk Windows, OrbStack di macOS, dan Docker Engine di Linux.
Berapa banyak RAM yang digunakan stack ini saat idle?
Di Raspberry Pi 5 dengan 4GB dan di mini PC kecil dengan 8GB, delapan kontainer bersama-sama idle dalam ratusan megabyte RAM yang rendah. Vaultwarden dan Pi-hole adalah yang paling ringan; Traefik dan Duplicati tumbuh secara singkat selama pekerjaan aktif.
Apakah aman meninggalkan Watchtower pada pembaruan otomatis?
Sebagian besar. Pola yang lebih aman adalah menjalankan Watchtower dengan filter label sehingga hanya memperbarui kontainer yang telah Anda tandai sebagai “aman untuk auto-update” dan tinggalkan sisanya pada pembaruan manual. Penyematan ke tag versi utama adalah mitigasi umum lainnya.
Apakah saya memerlukan Portainer jika saya sudah nyaman di Docker CLI?
Portainer adalah lapisan kenyamanan. Jika Anda baik-baik saja dengan CLI dan membaca log dengan docker compose logs -f, Anda bisa melewatkannya. Sebagian besar orang yang menambahkannya berhenti mencopot setelah seminggu.
Dapatkah saya menjalankan stack ini di Synology atau QNAP NAS?
Ya. Kedua vendor mengirimkan UI Container Manager yang membaca file compose standar, dan setiap kontainer di sini kompatibel. Di Synology DSM 7, Container Manager dapat mengimpor file compose secara langsung.