Cara Install Watchtower Biar Docker Container Auto-Update

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 tag latest atau tag versi spesifik. Kalau pakai tag versi tetap (misal v1.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.sock udah bener, karena Watchtower butuh akses ini buat komunikasi sama Docker daemon.
  • Storage VPS penuh gara-gara image lama numpuk
    Tambahin environment variable WATCHTOWER_CLEANUP=true kayak 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.

Jundi Husni Mubaraq

Jundi Husni Mubaraq

Saya seorang software engineer yang sejak awal 2026 megang penuh (sendirian) tanggung jawab infrastruktur server di tempat saya kerja: deploy dan maintain server Linux Ubuntu on-premises, bangun keamanan berlapis pakai CrowdSec dan Cloudflare, kelola job scheduling dan monitoring pakai Cronicle, deploy aplikasi containerized pakai Docker, sampai ngurusin mail server korporat dari nol. Sebelumnya saya 3+ tahun jadi Software Engineer/Fullstack Developer di beberapa perusahaan, termasuk proyek skala internasional (EUDR compliance system buat Lindt & Sprungli) dan sistem rumah sakit (SIMRS, rekam medis elektronik, integrasi BPJS Kesehatan) di RS PKU Muhammadiyah Surakarta. jundi.hm ini tempat saya dokumentasiin apa yang beneran saya kerjain dan pelajarin di lapangan, bukan sekadar riset teori, S.Kom dari Universitas Duta Bangsa Surakarta jadi bekal awal, tapi yang nulis di sini adalah pengalaman langsung ngelola server production sehari-hari. Selengkapnya: https://iam.jundi.hm

Lihat Juga Nih

Selanjutnya Nih

Kasih Komentar

Email kamu gak bakal ditampilin ke publik. Kalau ada tanda ini artinya wajib diisi ya *

Rekomendasi.

Lagi Viral.