Temporal adalah mesin orkestrasi workflow sumber terbuka, terdistribusi, dan dapat diskalakan yang digunakan oleh pengembang untuk membangun aplikasi yang tahan banting dan berjalan dalam waktu lama. Men-host Temporal di VPS bisa memberi Anda kendali penuh atas infrastruktur Anda, menghemat biaya, dan memungkinkan kustomisasi. Panduan ini akan memandu Anda melalui proses menginstal Temporal dalam container Docker di penyedia VPS, memastikan pengaturan yang lancar cocok untuk pengembangan, homelab, atau lingkungan produksi.
Mengapa Self-Host Temporal?
Self-hosting Temporal memungkinkan Anda untuk:
- Memiliki kendali penuh atas lingkungan orkestrasi workflow Anda.
- Mengurangi biaya dibandingkan solusi yang dikelola.
- Kustomisasi konfigurasi sesuai kebutuhan.
- Belajar dan bereksperimen dengan sistem terdistribusi.
Penyedia VPS populer seperti Contabo (€5,99/bulan), Hetzner Cloud (€4,15/bulan), DigitalOcean ($6), dan Vultr ($6) menawarkan opsi terjangkau dengan performa tinggi yang cocok untuk menghosting Temporal.
Prasyarat
- VPS dengan IP publik, OS Linux (Ubuntu 22.04 disarankan).
- Hak akses root atau sudo.
- Pengetahuan dasar Docker, baris perintah Linux, dan jaringan.
- Domain atau IP statis untuk pengaturan SSL (opsional namun disarankan).
Langkah 1: Persiapkan VPS Anda
Perbarui paket server dan instal Docker:
sudo apt update && sudo apt upgrade -y
sudo apt install -y docker.io
sudo systemctl enable --now docker
Verifikasi instalasi Docker:
docker --version
Untuk kenyamanan operasional, tambahkan pengguna Anda ke grup docker:
sudo usermod -aG docker $USER
newgrp docker
Langkah 2: Mengatur Docker Compose
Temporal menyarankan penggunaan Docker Compose untuk mengelola setup multi-container. Instal Docker Compose:
sudo apt install -y docker-compose
Check versi:
docker-compose --version
Langkah 3: Unduh File Docker Compose Temporal
Temporal menyediakan konfigurasi contoh. Clone repositori Temporal:
git clone https://github.com/temporalio/docker-compose.git
cd docker-compose
Atau, buat sendiri file docker-compose.yaml untuk menyesuaikan pengaturan Anda.
Langkah 4: Konfigurasikan File Docker Compose Anda
Buat atau modifikasi file docker-compose.yaml sesuai kebutuhan. Berikut contoh sederhana untuk pengaturan pengembangan:
version: '3.8'
services:
temporal:
image: temporalio/server:latest
environment:
- TEMPORAL_CLI_ADDRESS=temporal:7233
ports:
- "7233:7233"
networks:
- temporal-network
restart: always
frontend:
image: temporalio/web:latest
ports:
- "8080:8080"
environment:
- TEMPORAL_HOST=https://localhost:7233
depends_on:
- temporal
networks:
- temporal-network
networks:
temporal-network:
driver: bridge
Sesuaikan konfigurasi berdasarkan kebutuhan Anda. Untuk lingkungan produksi, pertimbangkan untuk menggunakan SSL, penyimpanan permanen, dan kredensial yang aman.
Langkah 5: Jalankan Temporal
Deploy stack Anda:
docker-compose up -d
Periksa apakah layanan berjalan:
docker ps
Seharusnya Anda melihat wadah server Temporal dan antarmuka web aktif.
Langkah 6: Akses Web UI Temporal
Buka browser Anda ke IP server atau domain pada port 8080. Anda akan menemukan antarmuka yang berfungsi untuk mengelola workflow.
Langkah 7: Pengaturan TLS (Opsional tapi Disarankan)
Untuk deployment produksi, amankan lalu lintas web:
- Dapatkan sertifikat SSL melalui Let’s Encrypt (certbot).
- Konfigurasi reverse proxy (NGINX atau Caddy) untuk terminasi TLS.
- Perbarui Docker Compose Anda dengan pengaturan proxy.
Monitoring dan Pemeliharaan
Perbarui container secara rutin:
docker-compose pull
docker-compose down
docker-compose up -d
Pastikan juga melakukan backup workflow dan metadata Anda, terutama untuk lingkungan produksi.
Perbandingan Penyedia VPS
| Penyedia | Harga | Fitur | Catatan |
|---|---|---|---|
| Contabo | €5,99/bulan | Pilihan CPU tinggi, penyimpanan SSD | Terjangkau, cocok untuk self-hosting |
| Hetzner Cloud | €4,15/bulan | Jaringan cepat, SSD | Populer untuk hosting yang handal |
| DigitalOcean | $6/bulan | Pengaturan sederhana, SSD | Banyak digunakan, integrasi Docker mudah |
| Vultr | $6/bulan | Banyak lokasi, SSD | Bagus untuk deployment terdistribusi |
| Linode (Akamai Cloud) | $5/bulan | Performa baik | Terpercaya, ramah pengembang |
Untuk opsi lainnya, lihat perbandingan VPS lengkap.
FAQ
Seberapa sulitkah meng-hosting Temporal sendiri di VPS?
Self-hosting Temporal di VPS melibatkan konfigurasi Docker, Docker Compose, dan jaringan dengan benar. Bagi pengembang yang sudah familiar dengan Linux dan Docker, prosesnya relatif sederhana dan biasanya memakan waktu kurang dari satu jam. Pengaturan tambahan seperti mengamankan akses dengan SSL atau clustering dapat meningkatkan kompleksitas, tetapi dapat diatasi dengan panduan langkah demi langkah dan dukungan komunitas di /r/selfhosted atau awesome-selfhosted.
Bisakah saya menjalankan Temporal di VPS biaya rendah?
Ya. Penyedia seperti Hetzner Cloud (€4,15/bulan) atau Contabo (€5,99/bulan) menawarkan sumber daya yang cukup untuk beban kerja kecil hingga menengah. Kebutuhan Temporal bervariasi tergantung penggunaan, tetapi VPS dengan 2 inti CPU dan 4GB RAM biasanya cukup untuk lingkungan pengembangan dan pengujian. Untuk produksi, pantau penggunaan sumber daya dan sesuaikan skala.
Bagaimana cara mengamankan instance Temporal yang saya self-host?
Untuk menjamin keamanan, atur SSL/TLS untuk akses web (menggunakan Let’s Encrypt atau sertifikat berbayar), batasi akses jaringan dengan firewall, dan konfigurasikan mekanisme otentikasi. Untuk lingkungan produksi, gunakan reverse proxy seperti NGINX atau Caddy dengan TLS termination, serta aktifkan pengelolaan kredensial yang aman. Selalu perbarui container Docker Anda untuk mengurangi celah keamanan.
Kesimpulan
Self-hosting Temporal di VPS menawarkan kendali penuh atas lingkungan orkestrasi workflow Anda dengan biaya terjangkau. Dengan Docker dan Docker Compose, proses deployment mudah dan dapat direproduksi. Baik untuk pengembangan, pengujian, maupun produksi skala kecil, langkah-langkah di atas membimbing Anda dari pengaturan awal hingga instance Temporal yang sepenuhnya berfungsi. Jelajahi lebih banyak proyek open-source self-hosting dan optimalkan homelab Anda dengan wawasan dari komunitas /r/selfhosted dan awesome-selfhosted.