Kalau kamu punya banyak Docker container jalan di VPS, pasti pernah ngerasa males buat cek satu-satu apakah ada update image baru. Biasanya prosesnya manual: pull image baru, stop container lama, run ulang dengan image yang baru. Ribet kalau container-nya banyak.
Watchtower Docker jadi solusi buat masalah ini. Tools ini otomatis mantau semua container kamu, dan begitu ada image baru di registry, dia otomatis pull, stop container lama, terus jalanin lagi pakai image terbaru. Di artikel ini kita bahas cara install dan konfigurasinya.
Kenapa Butuh Watchtower Docker
Update image container itu penting buat keamanan, karena banyak image resmi rutin dapetin patch buat celah keamanan yang baru ketemu. Masalahnya, kalau kamu punya 10-20 container jalan bareng, ngecek update satu-satu itu makan waktu dan gampang kelewat. Watchtower Docker otomatisin seluruh proses ini di background, jadi kamu gak perlu inget-inget lagi kapan terakhir kali update container.
Buat referensi lengkap dan opsi konfigurasi lainnya, kamu bisa cek repository resmi Watchtower di GitHub.
Yang Perlu Diperhatiin Sebelum Mulai
- Docker udah terinstal di VPS kamu
- Container yang mau diawasi Watchtower udah jalan
- Paham risiko auto-update (baca bagian catatan di bawah sebelum lanjut)
1. Jalankan Watchtower Docker Pakai Docker Run
Cara paling simpel, langsung jalankan container Watchtower:
docker run -d
--name watchtower
--restart unless-stopped
-v /var/run/docker.sock:/var/run/docker.sock
containrrr/watchtower
Command ini bakal jalanin Watchtower dengan setting default, yang artinya semua container di server bakal dipantau dan diupdate otomatis tiap 24 jam sekali. Watchtower sendiri jalan sebagai container, jadi dia gak makan resource berlebihan dan bisa langsung kelihatan statusnya lewat docker ps kayak container lain.
2. Atau Pakai Docker Compose
Kalau kamu lebih suka Docker Compose, bikin file docker-compose.yml:
services:
watchtower:
image: containrrr/watchtower
container_name: watchtower
restart: unless-stopped
volumes:
- /var/run/docker.sock:/var/run/docker.sock
environment:
- WATCHTOWER_CLEANUP=true
- WATCHTOWER_POLL_INTERVAL=86400
WATCHTOWER_CLEANUP=true bikin Watchtower otomatis hapus image lama yang udah gak kepake setelah update, biar storage VPS kamu gak penuh sama image basi. WATCHTOWER_POLL_INTERVAL nentuin seberapa sering dia cek update, dalam detik (86400 detik = 24 jam).
Jalankan dengan:
docker compose up -d
3. Batasi Cuma buat Container Tertentu
Kalau kamu gak mau semua container diupdate otomatis (misal ada yang emang harus dikontrol manual), sebutin nama container yang mau diawasi di akhir command:
docker run -d
--name watchtower
-v /var/run/docker.sock:/var/run/docker.sock
containrrr/watchtower nginx-proxy portainer
Command di atas cuma bakal ngawasin container bernama nginx-proxy dan portainer, sisanya dibiarin apa adanya. Cara ini lebih aman buat production, karena kamu punya kontrol penuh soal container mana yang boleh auto-update dan mana yang perlu ditangani manual.
4. Cek Log Watchtower Docker
Buat mastiin Watchtower jalan dan liat aktivitas update-nya:
docker logs -f watchtower
Di log ini kamu bisa liat kapan terakhir kali Watchtower cek update, container mana yang keupdate, dan kalau ada error pas proses update juga bakal kelihatan di situ. Ngecek log ini sesekali itu kebiasaan bagus, biar kamu gak kaget-kaget kalau ternyata ada container yang gagal update terus-menerus tanpa kamu sadari.
Catatan Penting Sebelum Pakai Watchtower
Auto-update itu pedang bermata dua. Di satu sisi kamu selalu dapet patch keamanan terbaru, tapi di sisi lain, update otomatis kadang bisa bawa breaking changes yang bikin aplikasi kamu error tanpa peringatan.
- Buat container production yang kritikal, pertimbangkan exclude dari auto-update dan update manual dengan testing dulu
- Selalu pastiin kamu punya backup data (baca juga cara backup Docker volume) sebelum ngandelin auto-update penuh
- Aktifin notifikasi (lewat email, Slack, atau Discord webhook) biar kamu tau tiap kali ada update yang jalan, bukan cuma diem-diem aja
Kendala yang Sering Muncul
- Container gak keupdate meski ada versi baru
Cek dulu apakah container-nya pakai taglatestatau tag versi spesifik. Kalau pakai tag versi tetap (misalv1.2.0), Watchtower gak bakal update ke versi lain kecuali kamu ganti tag-nya manual. - Aplikasi error setelah auto-update
Ini risiko yang udah disinggung di atas. Solusinya, exclude container itu dari Watchtower dan update manual dengan testing dulu sebelum apply ke production. - Watchtower sendiri gak jalan/error permission
Pastikan mounting/var/run/docker.sockudah bener, karena Watchtower butuh akses ini buat komunikasi sama Docker daemon. - Storage VPS penuh gara-gara image lama numpuk
Tambahin environment variableWATCHTOWER_CLEANUP=truekayak yang udah dibahas di langkah 2, biar image lama otomatis kehapus.
Penutup
Nah, segitu aja cara install dan setup Watchtower Docker buat auto-update container di VPS kamu. Tools ini enak banget buat homelab atau project personal yang gak butuh kontrol super ketat, tapi buat lingkungan production yang kritikal, tetap pertimbangkan matang-matang mana container yang aman diauto-update dan mana yang perlu kontrol manual. Kalau ada yang error atau nyangkut, drop komentar aja bro.
























