Aplikasi di CasaOS tiba-tiba tidak bisa diakses? Ikonnya masih ada di dashboard tapi tidak merespons? Kemungkinan besar container Docker-nya sedang crash atau berhenti tanpa sengaja.
Kejadian ini sangat umum di homelab — penyebabnya bisa bermacam-macam: kehabisan memori, update yang gagal, konflik port, atau sekadar bug sementara. Kabar baiknya, hampir semua crash bisa diatasi asalkan kamu tahu cara merestart dan cara membaca sinyal masalahnya.
Cara Cepat Cek Status Aplikasi #
Sebelum restart, periksa dulu status container-nya:
docker ps -aPerhatikan kolom STATUS:
| Status | Artinya |
|---|---|
Up X hours |
Container berjalan normal |
Exited (0) |
Container berhenti normal (sengaja dihentikan) |
Exited (1) / Exited (137) |
Container crash — ada error |
Restarting |
Container terus-menerus mencoba restart (loop) |
Created |
Container dibuat tapi belum pernah dijalankan |
Jika status menunjukkan Exited dengan kode error atau Restarting, itu tandanya ada masalah yang perlu ditangani.
Cara 1: Restart via CasaOS GUI (Paling Mudah) #
Untuk restart cepat aplikasi yang masih terdeteksi di dashboard:
- Buka CasaOS Dashboard.
- Klik kanan pada ikon aplikasi yang bermasalah.
- Pilih “Restart”.
Atau:
- Klik ikon aplikasi untuk membuka panel detailnya.
- Klik tombol Stop terlebih dahulu.
- Tunggu beberapa detik, lalu klik Start.
Jika berhasil, aplikasi akan kembali online dalam beberapa detik hingga beberapa menit (tergantung aplikasinya).
Cara 2: Restart via Terminal #
Terminal memberi kontrol lebih dan cocok untuk container yang tidak merespons via GUI.
Restart container yang masih berjalan #
docker restart nama-containerContoh:
docker restart jellyfin
docker restart nextcloudStart container yang sudah berhenti (Exited) #
docker start nama-containerStop paksa container yang tidak merespons #
docker kill nama-containerLalu jalankan ulang:
docker start nama-containerRestart semua CasaOS services jika banyak aplikasi bermasalah #
sudo systemctl restart casaos
sudo systemctl restart casaos-gateway
sudo systemctl restart casaos-app-managementCara 3: Aktifkan Auto-Restart agar Tidak Crash Lagi #
Salah satu cara paling efektif mencegah aplikasi mati permanen adalah mengatur restart policy pada container. Dengan ini, Docker akan otomatis menjalankan ulang container jika crash.
Cek restart policy container saat ini #
docker inspect nama-container | grep RestartPolicy -A 3Tambahkan restart policy via terminal #
Jika container belum punya restart policy:
docker update --restart unless-stopped nama-containerPenjelasan opsi restart policy:
| Policy | Perilaku |
|---|---|
no |
Tidak pernah restart otomatis (default) |
always |
Selalu restart, bahkan saat Docker engine reboot |
unless-stopped |
Restart otomatis kecuali dihentikan manual — direkomendasikan |
on-failure |
Restart hanya jika container crash (exit code bukan 0) |
Tambahkan restart policy via docker-compose.yml #
Jika menggunakan Compose, tambahkan baris ini di konfigurasi service:
services:
nama-aplikasi:
image: nama/image
restart: unless-stopped
...Lalu terapkan:
docker compose up -dCara 4: Investigasi Penyebab Crash #
Jika aplikasi terus-menerus crash setelah di-restart, jangan hanya restart terus — cari tahu penyebabnya dulu.
Cek log container untuk melihat pesan error #
docker logs nama-container --tail 50Atau ikuti log secara real-time:
docker logs nama-container -fCari kata kunci seperti ERROR, FATAL, OOM (Out of Memory), permission denied, atau port already in use.
Cek penggunaan resource (RAM, CPU) #
docker stats nama-containerJika RAM usage mendekati 100%, kemungkinan container crash karena kehabisan memori (OOM — Out of Memory). Solusinya: tambah RAM atau batasi aplikasi lain yang berjalan.
Cek apakah ada port conflict #
sudo ss -tulpn | grep LISTENIni menampilkan semua port yang sedang digunakan. Jika port yang dibutuhkan aplikasimu sudah dipakai proses lain, container tidak akan bisa start.
Penyebab Crash yang Paling Umum dan Solusinya #
| Penyebab | Gejala di Log | Solusi |
|---|---|---|
| Kehabisan RAM | OOM kill, out of memory |
Tambah swap, kurangi aplikasi lain |
| Port sudah dipakai | port already in use, bind failed |
Ganti port atau stop aplikasi yang konflik |
| Permission denied | permission denied pada folder |
sudo chown -R 1000:1000 /folder/data |
| Konfigurasi rusak | failed to parse config |
Restore backup konfigurasi |
| Image rusak | exec format error |
Hapus dan pull ulang image |
| Storage penuh | no space left on device |
Bersihkan dengan docker system prune |
Mencegah Crash di Masa Depan #
Beberapa langkah preventif yang bisa dilakukan:
-
Pasang Uptime Kuma — aplikasi monitoring yang bisa mengirim notifikasi ke HP jika ada layanan yang mati. Tersedia di CasaOS App Store.
-
Atur restart policy
unless-stoppedpada semua aplikasi penting. -
Monitor penggunaan storage secara berkala — storage penuh adalah salah satu penyebab crash yang paling sering:
df -h -
Hindari menjalankan terlalu banyak aplikasi sekaligus di hardware dengan RAM terbatas.
Kesimpulan #
Restart aplikasi yang crash di CasaOS bisa dilakukan dengan mudah via GUI atau terminal. Yang lebih penting adalah mencari tahu penyebab crash agar tidak terus berulang. Gunakan docker logs untuk membaca pesan error, dan pastikan setiap aplikasi penting sudah dikonfigurasi dengan restart policy unless-stopped.
Referensi: Docker Docs — Restart Policies | CasaOS Community