It is a 10 minutes live demo, all data will be deleted after that. The server is located at Tokyo, if you live far away from here, it may affact your experience. I suggest that you should install to try it.
It is a temporary live demo, all data will be deleted after 10 minutes. The server is located at Tokyo, so if you live far from there it may affect your experience. I suggest that you should install and try it out for the best demo experience.
VPS is sponsored by Uptime Kuma sponsors on [Open Collective](https://opencollective.com/uptime-kuma)! Thank you so much!
@ -25,7 +25,7 @@ VPS is sponsored by Uptime Kuma sponsors on [Open Collective](https://opencollec
* Monitoring uptime for HTTP(s) / TCP / Ping / DNS Record / Push.
* Fancy, Reactive, Fast UI/UX.
* Notifications via Telegram, Discord, Gotify, Slack, Pushover, Email (SMTP), and [70+ notification services, click here for the full list](https://github.com/louislam/uptime-kuma/tree/master/src/components/notifications).
⚠ Warning: K8s deployment is provided by contributors. I have no experience with K8s and I can't fix error in the future. I only test Docker and Node.js. Use at your own risk.
## How does it work?
Kustomize is a tool which builds a complete deployment file for all config elements.
You can edit the files in the ```uptime-kuma``` folder except the ```kustomization.yml``` until you know what you're doing.
If you want to choose another namespace you can edit the ```kustomization.yml``` in the ```kubernetes```-Folder and change the ```namespace: uptime-kuma``` to something you like.
It creates a certificate with the specified Issuer and creates the Ingress for the Uptime-Kuma ClusterIP-Service.
## What do I have to edit?
You have to edit the ```ingressroute.yml``` to your needs.
This ingressroute.yml is for the [nginx-ingress-controller](https://kubernetes.github.io/ingress-nginx/) in combination with the [cert-manager](https://cert-manager.io/).
- Host
- Secrets and secret names
- (Cluster)Issuer (optional)
- The Version in the Deployment-File
- Update:
- Change to newer version and run the above commands, it will update the pods one after another
ItishighlyrecommendedyoucreateanewuseranddonotuseyourownMatrixuser's access token as it will allow full access to your account and all the rooms you joined. Instead, create a new user and only invite it to the room that you want to receive the notification in. You can get the access token by running <code>curl -XPOST -d '{"type":"m.login.password","identifier":{"user":"botusername","type":"m.id.user"},"password":"passwordforuser"}'"https://home.server/_matrix/client/r0/login"</code>.
octopushPhoneNumber:"Phone number (intl format, eg : +33612345678) ",
octopushSMSSender:"SMS Sender Name : 3-11 alphanumeric characters and space (a-zA-Z0-9)",
@ -282,6 +288,10 @@ export default {
promosmsPhoneNumber:"Phone number (for Polish recipient You can skip area codes)",
promosmsSMSSender:"SMS Sender Name : Pre-registred name or one of defaults: InfoSMS, SMS Info, MaxSMS, INFO, SMS",
"Feishu WebHookUrl":"Feishu WebHookUrl",
matrixHomeserverURL:"Homeserver URL (with http(s):// and optionally port)",
"Internal Room Id":"Internal Room Id",
matrixDesc1:"You can find the internal room ID by looking in the advanced section of the room settings in your Matrix client. It should look like !QMdRCpUIfLwsfjxye6:home.server.",
matrixDesc2:"It is highly recommended you create a new user and do not use your own Matrix user's access token as it will allow full access to your account and all the rooms you joined. Instead, create a new user and only invite it to the room that you want to receive the notification in. You can get the access token by running {0}",
// End notification form
Method:"Method",
Body:"Body",
@ -289,4 +299,10 @@ export default {
PushUrl:"Push URL",
HeadersInvalidFormat:"The request headers are not valid JSON: ",
BodyInvalidFormat:"The request body is not valid JSON: ",
"Monitor History":"Monitor History:",
clearDataOlderThan:"Keep monitor history data for {0} days.",
records:"records",
"One record":"One record",
"Showing {from} to {to} of {count} records":"Showing {from} to {to} of {count} records",
steamApiKeyDescription:"For monitoring a Steam Gameserver you need a steam Web-API key. You can register your api key here: ",
retryCheckEverySecond:"Coba lagi setiap {0} detik.",
retriesDescription:"Percobaan ulang maksimum sebelum layanan dinyatakan tidak aktif dan notifikasi dikirim",
ignoreTLSError:"Abaikan kesalahan TLS/SSL untuk situs web HTTPS",
upsideDownModeDescription:"Balikkan statusnya. Jika layanan dapat dijangkau, TIDAK AKTIF.",
maxRedirectDescription:"Jumlah maksimum pengalihan untuk diikuti. Setel ke 0 untuk menonaktifkan pengalihan.",
acceptedStatusCodesDescription:"Pilih kode status yang dianggap sebagai respons yang berhasil.",
acceptedStatusCodesDescription:"Pilih kode status yang dianggap sebagai tanggapan yang berhasil.",
passwordNotMatchMsg:"Sandi kedua tidak cocok.",
notificationDescription:"Harap atur notifikasi ke monitor agar berfungsi.",
keywordDescription:"Cari kata kunci dalam code html atau JSON huruf besar-kecil berpengaruh",
pauseDashboardHome:"Jeda",
deleteMonitorMsg:"Apakah anda mau menghapus monitor ini?",
deleteNotificationMsg:"Apakah anda mau menghapus notifikasi ini untuk semua monitor?",
resoverserverDescription:"Cloudflare adalah server default, Anda dapat mengubah server resolver kapan saja.",
rrtypeDescription:"Pilih RR-Type yang mau anda monitor",
pauseMonitorMsg:"Apakah anda yakin mau menjeda?",
enableDefaultNotificationDescription:"Untuk setiap monitor baru, notifikasi ini akan diaktifkan secara default. Anda masih dapat menonaktifkan notifikasi secara terpisah untuk setiap monitor.",
clearEventsMsg:"Apakah anda yakin mau menghapus semua event di monitor ini?",
clearHeartbeatsMsg:"Apakah anda yakin mau menghapus semua heartbeats di monitor ini?",
confirmClearStatisticsMsg:"Apakah anda yakin mau menghapus semua statistik?",
deleteMonitorMsg:"Apakah Anda mau menghapus monitor ini?",
deleteNotificationMsg:"Apakah Anda mau menghapus notifikasi ini untuk semua monitor?",
resoverserverDescription:"Cloudflare adalah server bawaan, Anda dapat mengubah server resolver kapan saja.",
rrtypeDescription:"Pilih RR-Type yang mau Anda monitor",
pauseMonitorMsg:"Apakah Anda yakin mau menjeda?",
enableDefaultNotificationDescription:"Untuk setiap monitor baru, notifikasi ini akan diaktifkan secara bawaan. Anda masih dapat menonaktifkan notifikasi secara terpisah untuk setiap monitor.",
clearEventsMsg:"Apakah Anda yakin mau menghapus semua event di monitor ini?",
clearHeartbeatsMsg:"Apakah Anda yakin mau menghapus semua heartbeats di monitor ini?",
confirmClearStatisticsMsg:"Apakah Anda yakin mau menghapus semua statistik?",
importHandleDescription:"Pilih 'Lewati yang ada' jika Anda ingin melewati setiap monitor atau notifikasi dengan nama yang sama. 'Timpa' akan menghapus setiap monitor dan notifikasi yang ada.",
confirmImportMsg:"Apakah Anda yakin untuk mengimpor cadangan? Pastikan Anda telah memilih opsi impor yang tepat.",
twoFAVerifyLabel:"Silakan ketik token Anda untuk memverifikasi bahwa 2FA berfungsi",
tokenValidSettingsMsg:"Tokennya valid! Anda sekarang dapat menyimpan pengaturan 2FA.",
tokenValidSettingsMsg:"Tokennya benar! Anda sekarang dapat menyimpan pengaturan 2FA.",
confirmEnableTwoFAMsg:"Apakah Anda yakin ingin mengaktifkan 2FA?",
confirmDisableTwoFAMsg:"Apakah Anda yakin ingin menonaktifkan 2FA?",
Settings:"Pengaturan",
Dashboard:"Dashboard",
"New Update":"Update Baru",
Dashboard:"Dasbor",
"New Update":"Pembaruan Baru",
Language:"Bahasa",
Appearance:"Tampilan",
Theme:"Tema",
General:"General",
General:"Umum",
Version:"Versi",
"Check Update On GitHub":"Cek Update di GitHub",
List:"List",
"Check Update On GitHub":"Cek Pembaruan di GitHub",
List:"Daftar",
Add:"Tambah",
"Add New Monitor":"Tambah Monitor Baru",
"Quick Stats":"Statistik Cepat",
"Quick Stats":"Statistik",
Up:"Aktif",
Down:"Tidak Aktif",
Pending:"Tertunda",
@ -48,9 +48,9 @@ export default {
Status:"Status",
DateTime:"Tanggal Waktu",
Message:"Pesan",
"No important events":"Tidak ada Event penting",
Resume:"Melanjutkan",
Edit:"Rubah",
"No important events":"Tidak ada peristiwa penting",
Resume:"Lanjut",
Edit:"Ubah",
Delete:"Hapus",
Current:"Saat ini",
Uptime:"Waktu aktif",
@ -60,20 +60,20 @@ export default {
"-day":"-hari",
hour:"Jam",
"-hour":"-Jam",
Response:"Respon",
Response:"Tanggapan",
Ping:"Ping",
"Monitor Type":"Tipe Monitor",
Keyword:"Keyword",
"Friendly Name":"Friendly Name",
"Friendly Name":"Nama yang Ramah",
URL:"URL",
Hostname:"Hostname",
Port:"Port",
"Heartbeat Interval":"Interval Heartbeat ",
Retries:"Retries",
"Heartbeat Retry Interval":"Interval Heartbeat Mencoba kembali ",
Advanced:"Advanced",
"Heartbeat Interval":"Jarak Waktu Heartbeat ",
Retries:"Coba lagi",
"Heartbeat Retry Interval":"Jarak Waktu Heartbeat Mencoba kembali ",
Advanced:"Tingkat Lanjut",
"Upside Down Mode":"Mode Terbalik",
"Max. Redirects":"Maksimal Redirect/Pengalihan",
"Max. Redirects":"Maksimal Pengalihan",
"Accepted Status Codes":"Kode Status yang Diterima",
Save:"Simpan",
Notifications:"Notifikasi",
@ -81,25 +81,25 @@ export default {
"Setup Notification":"Setel Notifikasi",
Light:"Terang",
Dark:"Gelap",
Auto:"Automatis",
"Theme - Heartbeat Bar":"Theme - Heartbeat Bar",
Auto:"Otomatis",
"Theme - Heartbeat Bar":"Tema - Heartbeat Bar",
Normal:"Normal",
Bottom:"Bawah",
None:"Tidak ada",
Timezone:"Zona Waktu",
"Search Engine Visibility":"Visibilitas Mesin Pencari",
"Allow indexing":"Mengizinkan untuk diindex",
"Discourage search engines from indexing site":"Mencegah mesin pencari untuk mengindex site",
"Discourage search engines from indexing site":"Mencegah mesin pencari untuk mengindex situs",
"Change Password":"Ganti Sandi",
"Current Password":"Sandi Lama",
"New Password":"Sandi Baru",
"Repeat New Password":"Ulangi Sandi Baru",
"Update Password":"Perbarui Kata Sandi",
"Disable Auth":"Nonaktifkan auth",
"Enable Auth":"Aktifkan Auth",
"Disable Auth":"Nonaktifkan Autentikasi",
"Enable Auth":"Aktifkan Autentikasi",
Logout:"Keluar",
Leave:"Pergi",
"I understand, please disable":"Saya mengerti, silahkan dinonaktifkan",
"I understand, please disable":"Saya mengerti, silakan dinonaktifkan",
Confirm:"Konfirmasi",
Yes:"Ya",
No:"Tidak",
@ -107,35 +107,35 @@ export default {
Password:"Sandi",
"Remember me":"Ingat saya",
Login:"Masuk",
"No Monitors, please":"Tidak ada monitor, silahkan",
"add one":"tambah baru",
"No Monitors, please":"Tidak ada monitor, silakan",
"add one":"tambahkan satu",
"Notification Type":"Tipe Notifikasi",
Email:"Email",
Test:"Test",
"Certificate Info":"Info Sertifikasi",
Email:"Surel",
Test:"Tes",
"Certificate Info":"Info Sertifikasi",
"Resolver Server":"Resolver Server",
"Resource Record Type":"Resource Record Type",
"Last Result":"Hasil Terakhir",
"Create your admin account":"Buat admin akun anda",
"Create your admin account":"Buat admin akun Anda",
"Repeat Password":"Ulangi Sandi",
"Import Backup":"Impor Backup",
"Export Backup":"Expor Backup",
"Import Backup":"Impor Cadangan",
"Export Backup":"Expor Cadangan",
Export:"Expor",
Import:"Impor",
respTime:"Tanggapan. Waktu (milidetik)",
notAvailableShort:"N/A",
"Default enabled":"Default diaktifkan",
"Default enabled":"Bawaan diaktifkan",
"Apply on all existing monitors":"Terapkan pada semua monitor yang ada",
Create:"Buat",
"Clear Data":"Bersihkan Data",
Events:"Event",
Events:"Peristiwa",
Heartbeats:"Heartbeats",
"Auto Get":"Auto Get",
backupDescription:"Anda dapat mencadangkan semua monitor dan semua notifikasi ke dalam file JSON.",
backupDescription2:"Catatan: Data sejarah dan event tidak disertakan.",
backupDescription3:"Data sensitif seperti notifikasi token disertakan dalam file ekspor, harap simpan dengan hati-hati.",
alertNoFile:"Silakan pilih file untuk diimpor.",
alertWrongFileType:"Silakan pilih file JSON .",
"Auto Get":"Ambil Otomatis",
backupDescription:"Anda dapat mencadangkan semua monitor dan semua notifikasi ke dalam berkas JSON.",
backupDescription2:"Catatan: Data sejarah dan peristiwa tidak disertakan.",
backupDescription3:"Data sensitif seperti notifikasi token disertakan dalam berkas ekspor, harap simpan dengan hati-hati.",
alertNoFile:"Silakan pilih berkas untuk diimpor.",
alertWrongFileType:"Silakan pilih berkas JSON.",
"Clear all statistics":"Hapus semua statistik",
"Skip existing":"Lewati yang ada",
Overwrite:"Timpa",
@ -145,29 +145,29 @@ export default {
"Setup 2FA":"Pengaturan 2FA",
"Enable 2FA":"Aktifkan 2FA",
"Disable 2FA":"Nonaktifkan 2FA",
"2FA Settings":"Settings 2FA",
"Two Factor Authentication":"Otentikasi Dua Faktor",
"2FA Settings":"Pengaturan 2FA",
"Two Factor Authentication":"Autentikasi Dua Faktor",
Active:"Aktif",
Inactive:"Tidak Aktif",
Token:"Token",
"Show URI":"Lihat URI",
Tags:"Tag",
Tags:"Tanda",
"Add New below or Select...":"Tambahkan Baru di bawah atau Pilih...",
"Tag with this name already exist.":"Tag dengan nama ini sudah ada.",
"Tag with this value already exist.":"Tag dengan nilai ini sudah ada.",
"Tag with this name already exist.":"Tanda dengan nama ini sudah ada.",
"Tag with this value already exist.":"Tanda dengan nilai ini sudah ada.",
color:"warna",
"value (optional)":"nilai (harus diisi)",
Gray:"Abu Abu",
Gray:"Abu-abu",
Red:"Merah",
Orange:"Oranye",
Orange:"Jingga",
Green:"Hijau",
Blue:"Biru",
Indigo:"Indigo",
Indigo:"Biru Tua",
Purple:"Ungu",
Pink:"Merah Muda",
"Search...":"Cari...",
"Avg. Ping":"Rata-rata. Ping",
"Avg. Response":"Rata-rata. Respon",
"Avg. Ping":"Rata-rata Ping",
"Avg. Response":"Rata-rata Tanggapan",
"Entry Page":"Halaman Masuk",
statusPageNothing:"Tidak ada di sini, silakan tambahkan grup atau monitor.",
wayToGetLineChannelToken:"Pertama akses {0}, buat penyedia dan saluran (Messaging API), lalu Anda bisa mendapatkan token akses saluran dan id pengguna dari item menu yang disebutkan di atas.",
"Icon URL":"Icon URL",
aboutIconURL:"Anda dapat memberikan tautan ke gambar di \"Icon URL\" untuk mengganti gambar profil default. Tidak akan digunakan jika Ikon Emoji diset.",
aboutMattermostChannelName:"Anda dapat mengganti channel default tujuan posting webhook dengan memasukkan nama channel ke dalam Kolom \"Channel Name\". Ini perlu diaktifkan di pengaturan webhook Mattermost. contoh: #other-channel",
aboutIconURL:"Anda dapat memberikan tautan ke gambar di \"Icon URL\" untuk mengganti gambar profil bawaan. Tidak akan digunakan jika Ikon Emoji diset.",
aboutMattermostChannelName:"Anda dapat mengganti saluran bawaan tujuan posting webhook dengan memasukkan nama saluran ke dalam Kolom \"Channel Name\". Ini perlu diaktifkan di pengaturan webhook Mattermost. contoh: #other-channel",
"matrix":"Matrix",
promosmsTypeEco:"SMS ECO - murah tapi lambat dan sering kelebihan beban. Terbatas hanya untuk penerima Polandia.",
promosmsTypeFlash:"SMS FLASH - Pesan akan otomatis muncul di perangkat penerima. Terbatas hanya untuk penerima Polandia.",
promosmsTypeFull:"SMS FULL - SMS tingkat premium, Anda dapat menggunakan Nama Pengirim Anda (Anda harus mendaftarkan nama terlebih dahulu). Dapat diandalkan untuk peringatan.",
promosmsTypeSpeed:"SMS SPEED - Prioritas tertinggi dalam sistem. Sangat cepat dan dapat diandalkan tetapi mahal (sekitar dua kali lipat dari harga SMS FULL).",
promosmsTypeFull:"SMS FULL - SMS tingkat premium, Anda dapat menggunakan Nama Pengirim Anda (Anda harus mendaftarkan nama terlebih dahulu). Dapat diAndalkan untuk peringatan.",
promosmsTypeSpeed:"SMS SPEED - Prioritas tertinggi dalam sistem. Sangat cepat dan dapat diAndalkan tetapi mahal (sekitar dua kali lipat dari harga SMS FULL).",
promosmsPhoneNumber:"Nomor telepon (untuk penerima Polandia Anda dapat melewati kode area)",
promosmsSMSSender:"Nama Pengirim SMS : Nama pra-registrasi atau salah satu default: InfoSMS, Info SMS, MaxSMS, INFO, SMS",
promosmsSMSSender:"Nama Pengirim SMS : Nama pra-registrasi atau salah satu bawaan: InfoSMS, Info SMS, MaxSMS, INFO, SMS",
wayToGetTelegramChatID:"Możesz uzyskać swój identyfikator czatu, wysyłając wiadomość do bota i przechodząc pod ten adres URL, aby wyświetlić identyfikator czatu:",