- Cockpit adalah antarmuka grafis untuk mengelola server Linux dari browser, memungkinkan pemula maupun administrator profesional dengan cepat memeriksa dan mengoperasikan status tiap sistem
- Karena menggunakan API dan perintah sistem yang sama seperti command line, alur pengelolaan tidak bentrok meski Cockpit, CLI, Ansible, dan alat manajemen server yang sudah ada digunakan bersama
- Jaringan, firewall, storage RAID·LUKS, mesin virtual, container, log, hardware, update, performa, akun pengguna, layanan systemd, dan terminal jarak jauh dapat ditangani dalam satu layar
- Autentikasi default mengikuti login dan hak akses pengguna biasa pada sistem, juga mendukung single-sign-on serta metode autentikasi lain, dan hanya berjalan saat diperlukan melalui systemd socket activation
- Setelah dipasang di distribusi Linux utama, Cockpit dapat digunakan dari browser pada sistem operasi termasuk Windows, MacOS, dan Android dengan mengakses port 9090 server
Mengelola server individual dari browser
- Cockpit adalah antarmuka grafis terpadu berbasis web yang dibuat untuk server
- Target penggunanya luas
- Pemula Linux, termasuk administrator Windows
- Pengguna yang sudah terbiasa dengan Linux tetapi ingin mengelola server dengan lebih mudah secara grafis
- Administrator profesional yang terutama memakai alat lain, tetapi ingin melihat gambaran umum tiap sistem
- Dirancang bukan untuk menggantikan cara pengelolaan yang sudah ada, melainkan agar sistem yang sama bisa dikelola dengan berbagai cara
- Cockpit dan utilitas command line dapat digunakan bersama
- Ansible dan alat lain yang sudah ada juga tetap bisa dimanfaatkan
- Menyediakan terminal bawaan yang berguna saat mengakses dari perangkat non-Linux
- Tanpa perlu menghafal perintah Linux, pengguna dapat melihat status server di browser web dan melakukan tugas dengan mouse
- Menjalankan container
- Mengelola storage
- Mengatur jaringan
- Memeriksa log
- Cockpit dapat dipandang seperti “antarmuka desktop” grafis untuk server individual
Autentikasi, integrasi, dan cara ekstensi
- Cockpit menggunakan API yang sudah ada di sistem, dan tidak membuat subsistem baru atau menambahkan lapisan alat miliknya sendiri
- Secara default, Cockpit menggunakan login dan hak akses pengguna biasa pada sistem
- Login lintas jaringan didukung melalui single-sign-on dan teknik autentikasi lainnya
- Saat tidak digunakan, Cockpit tidak terus berjalan di background, melainkan dijalankan saat diperlukan melalui systemd socket activation
- Tugas yang dapat dilakukan di setiap host Cockpit antara lain
- Memeriksa dan mengubah pengaturan jaringan
- Mengatur firewall
- Mengelola storage, termasuk partisi RAID dan LUKS
- Membuat dan mengelola mesin virtual
- Mengunduh dan menjalankan container
- Menelusuri dan mencari log sistem
- Memeriksa hardware sistem
- Upgrade software
- Memeriksa performa
- Mengelola akun pengguna
- Memeriksa dan berinteraksi dengan layanan berbasis systemd
- Menggunakan terminal server jarak jauh dari browser web lokal
- Beralih antar beberapa server Cockpit
- Memperluas fitur dengan memasang aplikasi dan add-on
- Menulis modul kustom
- Juga dapat dimanfaatkan untuk troubleshooting
- Mendiagnosis masalah jaringan
- Menemukan dan menangani mesin virtual yang bermasalah
- Memeriksa log SELinux dan memperbaiki pelanggaran umum dengan sekali klik
- Melihat metrik detail yang mengaitkan beban CPU, penggunaan memori, aktivitas jaringan, dan performa storage dengan journal sistem
- Mendukung aplikasi opsional dan pihak ketiga
- Desainnya diuji dan disesuaikan melalui studi kegunaan, dan setiap perubahan kode melewati pengujian yang harus lulus sebelum digabungkan
- Dapat digunakan secara gratis dan tersedia di bawah GNU LGPL
Instalasi dan akses
- Dapat dipasang di distribusi utama, dan setelah berjalan dapat diakses dari browser web utama di sistem operasi apa pun
- Termasuk Windows, MacOS, dan Android
- Setelah instalasi dan aktivasi, akses port 9090 server
- Dari browser di mesin yang sama, dapat diakses melalui
https://localhost:9090/
- Cockpit memiliki siklus rilis berbasis waktu, dengan versi baru dirilis setiap 2 minggu
2 komentar
Cockpit - antarmuka web terintegrasi untuk manajemen server Linux
Opini Hacker News
Mencela antarmuka manajemen grafis dan hanya menyukai command line itu mirip sikap hanya melihat pohon, bukan hutannya
Mengoperasikan server dengan klik memang bukan cara yang baik, tetapi jujur saja,
sshjuga sama saja sebagai cara operasiKondisi server produksi sebenarnya harus bisa direproduksi sejak awal, dan setelah instalasi OS, penambahan software, serta penerapan konfigurasi, sebaiknya tidak disentuh lagi
Baik lewat
sshmaupun Cockpit, kalau masuk langsung, kemungkinan merusak sesuatu cukup besarSatu-satunya saat perlu masuk langsung ke server adalah ketika melakukan pekerjaan eksploratif, dan pada saat itu keunggulan GUI vs command line tidak begitu jelas
GUI punya discoverability dan visibilitas yang baik, sehingga membantu pada tahap eksperimen untuk mencari cara melakukan konfigurasi
Perlu dijelaskan mengapa kondisi server harus bisa direproduksi sejak awal, apa arti “sejak awal”, dan mengapa operasi dengan klik tidak boleh
Sulit juga mengatakan bahwa kondisi server sepenuhnya tertangkap hanya oleh instalasi OS, penambahan software, dan penerapan konfigurasi
Level patch software, data aplikasi, dan data pengguna juga termasuk dalam kondisi server
Kondisi server produksi dapat direproduksi secara tepat dengan memulihkannya dari backup, dan backup/restore juga cocok dengan operasi berbasis klik serta bisa lebih cepat dan lebih andal daripada instal ulang OS dan skrip konfigurasi
Jika server menyimpan data non-volatil, setelah menerapkan server baru pun tetap diperlukan sistem backup untuk memulihkan data pengguna
Tidak semua orang menjalankan platform web berskala besar di atas platform orkestrasi
Namun, meskipun server diperlakukan seperti hewan peliharaan, cara pemulihan atau pembangunan ulang tetap harus diketahui; kalau tidak, berarti tidak ada strategi disaster recovery yang layak
Di homelab saya memakai Ansible untuk konfigurasi Raspberry Pi, dan bagian instalasi OS tampaknya memungkinkan karena caranya menyalin image ke media boot secara bit-per-bit lalu melakukan beberapa konfigurasi pilihan
Saya lebih suka bekerja di terminal, tetapi menurut saya GUI lebih baik untuk visualisasi, dan itu bahkan bukan hal yang perlu diperdebatkan
Hal keren dari proyek ini adalah karena memakai aktivasi soket systemd, tidak diperlukan proses server yang terus berjalan
Saat Cockpit tidak dipakai, tidak ada pemborosan resource, dan mengakses halaman pada dasarnya sama seperti menjalankan tool command line lalu menutupnya
Desainnya benar-benar indah
inetddi BSD4.3 pada 1986 sudah ada pendekatan serupaDetail implementasinya berbeda, tetapi ide besarnya sama; dulu sempat populer, lalu tren itu lewat tanpa alasan khusus
Proses server yang baik seharusnya idle saat tidak ada pekerjaan dan penggunaan memori nyatanya sangat kecil sehingga mudah di-swap out
Jika server tertentu memang memakai banyak memori karena sifat fungsinya, Anda juga tidak ingin startup on-demand menimbulkan tekanan memori sesekali
Namun ini membantu performa boot, karena lebih mudah menghindari masalah boot awal yang tersendat karena menunggu service mulai
Proses
sshdtidak dimulai sampai ada seseorang yang tersambung lewat SSHhttps://discourse.ubuntu.com/t/sshd-now-uses-socket-based-ac...
Semakin dilihat, semakin banyak fitur keren dan berguna yang muncul
Bagus untuk dipasang di Raspberry Pi kecil-kecil
Sangat berguna saat tidak sedang di depan terminal untuk meninjau status sekilas, atau ketika hanya ada browser web, kita bisa lewat web server tersambung SSH secara praktis seperti native dan menjalankan
curl ...etc...di prompt perintah sungguhanSaya penasaran apakah maksudnya aktivasi soket systemd hanya dipakai ketika klien web pengguna akhir mengirim request REST/GQL seperti mengambil log
Ada nilai dalam “porcelain”
Saya pernah melihat startup yang tutup karena, meski sudah punya backend siap pakai, tidak mampu mendorong pengembangan produk sampai ke UI/UX
Di satu perusahaan, saya menunjukkan bahwa backend berupa orkestrator container yang sepenuhnya custom bisa diganti dengan AWS Lambda dan ECS dalam satu akhir pekan, tetapi UI/UX dan alat workflow akan memakan waktu jauh lebih lama
Namun mereka tetap membuang uang dan waktu untuk membuat “cluster baru berbasis Raft”
Di tengah itu saya mendapat tugas “menambahkan batch processing”, dan karena kami sudah memakai Go, saya memasang Nomad secara internal lalu lanjut
Saya lebih suka bekerja di tim yang merilis fitur, bukan sekadar teknologi demi teknologi
https://git-scm.com/book/en/v2/Git-Internals-Plumbing-and-Po...
Semua tool di bidang ini seharusnya punya banner raksasa bertuliskan “ruang disk habis”
Bahkan bagi orang yang men-debug server, ini kadang secara mengejutkan bukan pengetahuan umum
2022, 81 komentar: https://news.ycombinator.com/item?id=31439811
2021, 128 komentar: https://news.ycombinator.com/item?id=26197510
2018, 149 komentar: https://news.ycombinator.com/item?id=16445612
Sepertinya saya tidak akan memakai ini
Itu berarti satu port terbuka lagi, satu attack surface lagi untuk bot yang tanpa henti memindai kerentanan, dan satu layanan lagi yang harus terus dijaga tetap mutakhir
Namun sepertinya ini bisa membantu membuat server Linux lebih mudah diakses
Terutama berguna bagi orang yang pindah dari shared hosting berbasis PHP ke VPS penuh, tetapi tidak punya banyak pengetahuan server dan menginginkan sesuatu seperti cPanel atau DirectAdmin
Saya tidak begitu tahu perbedaan keduanya
Saya benar-benar RHCE, dan thread ini terasa sangat dibuat-buat positifnya, sampai-sampai seperti click farm dari pihak Red Hat
Cockpit lumayan, tetapi pada dasarnya lebih mirip Windows Server Manager versi Red Hat, dan kemungkinan besar dipengaruhi langsung oleh Server Manager
Selama bertahun-tahun, laju pengembangan dan perbaikannya juga terasa menyakitkan karena sangat lambat
Orang yang terbiasa dengan sesi SSH tidak akan memakai Cockpit, kecuali mungkin saat membuat VM baru, dan membandingkannya dengan Proxmox itu tidak masuk akal
Fungsionalitas UI-nya bahkan tidak sampai seperempat Proxmox, fitur manajemen VM-nya juga baru masuk relatif belakangan, dan karena latensi serta keterbatasan lewat browser, Virtual Machine Manager masih lebih baik
Ada banyak hal yang tidak bisa dilakukan dengan Cockpit, dan banyak juga yang tetap tidak akan bisa dilakukan ke depannya
Ini lebih terasa seperti alat untuk orang yang ingin mengeklik, tidak bisa memakai loop Bash
for/while, tidak memahami chaining pipe, dan membencivimDengan kata lain, ini webmin untuk Red Hat; memang agak keren, tetapi sudah terlalu tua, pengembangannya lambat, terlalu dibesar-besarkan, dan saya belum pernah memakainya selain untuk hal-hal yang diperlukan dalam ujian sertifikasi
Jadi ya, itu memang benar juga
Jika khawatir ada penyalahgunaan, pedomannya mengatakan bisa mengirim email ke hn@ycombinator.com dan mereka akan melihat datanya
https://news.ycombinator.com/newsguidelines.html
Saat keluarga bepergian, saya menjalankan beberapa kamera Raspberry Pi dengan modul kamera yang lebih baik untuk melihat hewan peliharaan
Stream kamera RTSP dijalankan sebagai unit systemd di masing-masing perangkat, dan health check untuk memastikan apakah paket sedang di-stream juga dibuat sebagai unit systemd lain
Setiap kamera mendapat IP privat di jaringan ZeroTier yang saya kelola
Cockpit hanya dijalankan saat diperlukan, jadi tidak ada alasan untuk tidak memasangnya sebagai alat administrasi
Kadang salah satu kamera mulai hanya mengirim frame kosong, dan saat sedang liburan, menanganinya lewat antarmuka web Cockpit di ponsel jauh lebih baik daripada mencari keyboard, masuk lewat SSH, lalu me-restart unit stream
Saya juga bisa membuat health check yang mendeteksi frame kosong, tetapi untuk masalah yang hanya terjadi beberapa kali setahun, jauh lebih mudah me-restart dari Cockpit daripada menulis itu
Bisa diakses dari platform apa pun, termasuk iPad, dan hampir tidak perlu konfigurasi selain memasang paket serta menambahkan sertifikat
Saya memakai Cockpit alih-alih Proxmox di server Debian yang menjalankan VM, karena jauh lebih tidak invasif dan mesin-mesin itu juga mengerjakan hal lain seperti container Docker
Saya memakainya untuk tujuan ini sejak sekitar 2019
Layar statistiknya juga berguna, tetapi saya mungkin tidak akan memasangnya hanya untuk itu
Hampir tidak ada opsi lain yang terpelihara baik yang memungkinkan membuat VM libvirt dari browser web pada satu mesin tanpa mengambil alih seluruh sistem
Ini hanya bisa dipakai dengan NetworkManager, padahal begitu konfigurasi jaringan untuk VM sedikit saja lebih kompleks, biasanya NetworkManager harus dimatikan, sehingga Cockpit praktis tidak bisa dipakai
Untuk orang yang ingin mengelola VM lewat GUI, virt-manager jauh lebih kuat
[1] https://virt-manager.org/
Kualitasnya cuma “biasa saja”
Untuk sebagian kecil penggunaan yang sangat terbatas mungkin bisa dipakai, tetapi kalau menjalankan homeserver, saya akan menghindarinya
Plugin antarmuka file server Cockpit sudah usang dan tidak bagus
Saya tidak begitu tahu ini sebenarnya dipakai untuk apa; monitoring sederhana mungkin bisa, tetapi sebagai alat administrasi kurang bagus
Saya tidak mengerti kenapa Red Hat mendorong proyek ini, dan kegunaan praktisnya tidak banyak
Menampilkan daftar layanan systemd tidak lebih membantu daripada melihat semuanya lewat output command line
Saat meng-host NAS sendiri, menurut saya Cockpit jauh lebih baik daripada OMV
OMV punya plugin Docker dengan dukungan Compose, jadi tidak perlu GUI Docker terpisah seperti Portainer, dan berbagi SMB dari klien Windows entah kenapa lebih stabil
GUI dan pendekatannya ramah pemula sehingga mudah dibagikan dengan pengguna lain, dan juga punya fitur bawaan seperti fail2ban dan WireGuard
Cockpit adalah warga kelas satu di distro EL/Fedora, mendukung Podman tetapi bukan Docker, dan juga tidak ada dukungan Compose/Quadlet
Ada fitur kuat seperti manajemen VM dan terminal, tetapi ada bug terkait Samba
Saat ini saya memakai OMV untuk berbagi file di jaringan lokal dan menjalankan beberapa container Docker
Berjalan dengan baik, tetapi 90% fiturnya tidak saya pakai
Bagi yang penasaran, menurut https://github.com/cockpit-project/cockpit, Cockpit ditulis dalam beberapa bahasa, dengan C sebagai yang terbanyak, diikuti JavaScript dan Python
src/cockpittampaknya mungkin merupakan logika backend utama dan ditulis dalam PythonBridge baru ditulis dengan Python, dan pada waktunya kami juga ingin menulis ulang web server dengan cara yang lebih modern
Hal-hal seperti dependensi apa yang ada, apakah perlu memperhatikan pustaka logging atau kerentanan Curl, juga penting
Menarik juga melihat apakah produk ditulis dengan satu stack yang jelas atau campuran beberapa teknologi