Setup Docker Engine dan Docker Compose di VPS

Docker adalah platform container populer yang memudahkan developer untuk membangun, mengirim, dan menjalankan aplikasi di lingkungan yang terisolasi. Agar tetap aman dan mendapatkan fitur terbaru, sebaiknya kita menggunakan versi resmi terbaru dari Docker, bukan paket bawaan distro (yang biasanya sudah cukup lama). Berikut panduan lengkap install Docker Engine dan Docker Compose (plugin resmi) di VPS. Tutorial ini menggunakan Ubuntu Update Repository Seperti biasa, update paket sistem terlebih dahulu: ...

September 2, 2025 · 2 min

Setup GOWA (WhatsApp REST API) di VPS Serta Domainnya

Pada tutorial kali ini setup GOWA (WhatsApp REST API) di VPS serta domainnya. Reponya adalah ini https://github.com/aldinokemal/go-whatsapp-web-multidevice. WhatsApp REST API with support for UI, Webhooks, and MCP. Built with Golang for efficient memory use. Requirements Pastikan sudah terinstall Docker dan Docker Compose Apache SSL Let’s Encrypt Konfigurasi Buat folder baru dengan nama gowa-tool Di dalam gowa-tool folder, buat file docker-compose.yml dan masukkan code berikut services: whatsapp: image: aldinokemal2104/go-whatsapp-web-multidevice container_name: whatsapp restart: always ports: - "3000:3000" volumes: - whatsapp:/app/storages environment: - APP_BASIC_AUTH=admin:admin - APP_PORT=3000 - APP_DEBUG=true - APP_OS=Chrome - APP_ACCOUNT_VALIDATION=true - WHATSAPP_WEBHOOK=https://webhook.site/xxx - WHATSAPP_WEBHOOK_SECRET=super-secret-key volumes: whatsapp: Run sudo docker compose up -d Setup Domain untuk GOWA Buat file baru di /etc/apache2/sites-available dengan nama gowa.example.com.conf <VirtualHost *:80> ServerName gowa.example.com </VirtualHost> Kemudian aktifkan virtual host dan restart Apache sudo a2ensite gowa.example.com.conf sudo systemctl restart apache2 Buat SSL untuk gowa.example.com dengan run ini sudo certbot --non-interactive \ -m [email protected] \ --agree-tos \ --no-eff-email \ --apache \ -d gowa.example.com \ --redirect Edit konfigurasi setelah membuat SSL selesai (port 443) filenya ada /etc/apache2/sites-available/gowa.example.com-le-ssl.conf <IfModule mod_ssl.c> <VirtualHost *:443> ServerName gowa.example.com SSLCertificateFile /etc/letsencrypt/live/gowa.example.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/gowa.example.com/privkey.pem Include /etc/letsencrypt/options-ssl-apache.conf ProxyPreserveHost On RequestHeader set X-Forwarded-Proto "https" ProxyTimeout 600 ProxyBadHeader Ignore ProxyPass / http://127.0.0.1:3000/ ProxyPassReverse / http://127.0.0.1:3000/ RewriteEngine On RewriteCond %{HTTP:Upgrade} =websocket [NC] RewriteRule /(.*) ws://127.0.0.1:3000/$1 [P,L] ProxyPass /socket.io/ ws://127.0.0.1:3000/socket.io/ ProxyPassReverse /socket.io/ ws://127.0.0.1:3000/socket.io/ </VirtualHost> </IfModule> Kemudian restart apache sudo systemctl restart apache2 Selesai Buka browser dan masukkan domain gowa.example.com

August 30, 2025 · 2 min

Self Hosted n8n di VPS Serta Setup Domain

Requirements Pada tutorial self hosted n8n serta cara setup domainnya pastikan sudah terinstall Docker dan Docker Compose Apache SSL Let’s Encrypt Konfigurasi Buat folder baru dengan nama n8n-tool Di dalam n8n-tool folder, buat file compose.yaml dan masukkan code berikut services: n8n: image: docker.n8n.io/n8nio/n8n restart: always ports: - "127.0.0.1:5678:5678" environment: - N8N_HOST=n8n.example.com - N8N_PORT=5678 - N8N_PROTOCOL=https - NODE_ENV=production - WEBHOOK_URL=https://n8n.example.com - GENERIC_TIMEZONE=Asia/Jakarta volumes: - n8n_data:/home/node/.n8n - ./local-files:/files volumes: n8n_data: N8N_HOST dan WEBHOOK_URL: sesuaikan dengaan domain anda ...

August 29, 2025 · 2 min

Jangan Hanya Puas di Upwork! Saatnya Memperlebar Sayap

Saya bersyukur bisa mencapai status Top Rated Plus di Upwork (2021 - Sekarang). Reputasi terjaga, rating konsisten tinggi, dan beberapa long term client rutin mempercayakan task setiap bulannya. Di titik ini, mungkin sebagian freelancer sudah merasa cukup aman. Dan memang, Upwork memberi saya fondasi yang kuat. Tempat saya memulai, belajar komunikasi lintas budaya, membangun portfolio, dan membuktikan sendiri bahwa bisa memberi stabilitas sekaligus kebebasan dalam berkarier. ...

August 26, 2025 · 4 min

Pengalaman Menggunakan Copperx untuk Withdraw Upwork

Test Copperx untuk withdraw Upwork Karena Parallax akan menghentikan layanannya pada 18 September 2025, saya mencari alternatif Parallax dan muncullah pilihan antara Copperx dan OnBoard. Sudah register keduanya, tetapi saat ini baru mencoba Copperx dan ini hasilnya. Test Withdraw dengan nominal $10 Upwork ➡️ Copperx Copperx ada potongan biaya sebesar 0.5%. Jadi dana yang masuk di Copperx saya terima $9.95 dalam bentuk USDC Tanggal withdraw di Upwork: 24 June 2025, 7.59 WIB ...

June 26, 2025 · 1 min

Xampp can not start after include extension=mongodb.so

Short story I have a PHP project which requires MongoDB extension, because this project still uses an old version of PHP, I try install using xampp (Haven’t used it in a while because I moved to docker) and configure MongoDB so that it is faster to setup the project. After setting up MongoDB on xampp, got the issue Xampp can not start after include extension=mongodb.so in php.ini (device using M1 Pro). ...

February 11, 2024 · 1 min

Cara Enable Upload Svg Di WordPress Tanpa Plugin

Mengapa perlu enable upload svg di WordPress? Short answer, svg format itu sangat powerfull, kita bisa memperbesar atau memperkecil gambar tanpa ngerusak kualitas. Jadi cocok banget buat logo bisnis, ikon, dan grafik sederhana lainnya di website anda. Selain itu, ukuran file svg cukup kecil dibandingkat format gambar yang lain, jadi bisa membuat loading website jadi lebih cepet. Cara Enable Upload svg di WordPres Tambahkan kode ini di functions.php function enable_upload_svg($mimes) { $mimes['svg'] = 'image/svg+xml'; return $mimes; } add_filter('upload_mimes', 'enable_upload_svg'); Selesai, cukup mudah kan? silahkan anda test dengan upload svg di website anda. ...

January 11, 2024 · 1 min

Cara Run Bash Shell Di Docker

Untuk memulai shell bash di container Docker, Anda dapat menggunakan perintah docker exec container yang sedang berjalan. Perintah untuk menjalankan bash di Docker $ docker exec -it <container_name> bash Perintah untuk menjalankan shell di Docker $ docker exec -it <container_name> sh container_name adalah nama container Docker yang bisa anda dapatkan dengan menggunakan perintah docker ps. Kapan menggunakan bash shell di Docker Dalam konteks Docker, keputusan untuk menggunakan sh atau bash di dalam kontainer tergantung pada kebutuhan pengguna. sh dan bash keduanya adalah shell yang dapat digunakan di dalam kontainer Docker. bash lebih canggih dan umumnya lebih lengkap dibandingkan sh. Saya akan memberikan analoginya supaya anda lebih mengerti terkait keduanya bash dan sh. ...

January 9, 2024 · 2 min

Badai Layoff? Waktu Terbaik Untuk Memulai Freelance

Apakah tahun 2024 kita masih dalam badai layoff? saya menyerahkan jawabannya kepada anda yang membaca tulisan ini. Apa yang saya tahu sekarang ini adalah situasi yang rumit dan menantang bagi para pekerja di berbagai industri. Banyak company melakukan layoff. Mungkin semua ini terjadi karena berbagai perubahan cepat di dunia, seperti perkembangan teknologi, pandemi global, dan dinamika pasar yang tidak stabil. Bagi banyak orang, sulit menemukan hikmahnya. Namun, seringkali pada saat itulah peluang yang tidak terduga muncul. Misalnya terjadi layoff, hal ini mengajarkan banyak orang bahwa mereka sebenarnya bisa menemukan cara baru untuk menjual keterampilan mereka. Contoh lainnya lockdown saat Covid. Lockdown ini mengajarkan semua orang bahwa mereka sebenarnya bisa bekerja dari rumah. ...

January 4, 2024 · 4 min

Cara Setup Layanan Database Di Supabase Menggunakan Laravel

Supabase adalah platform open-source yang menyediakan layanan database yang dapat dikelola dan diakses dengan mudah. Hari ini kita akan mempelajari bagaimana cara menggunakan layanan database yang ada di Supabase menggunakan Laravel. Membuat Supabase Account Untuk membuat Supabase account, anda bisa ke url https://supabase.com/dashboard/sign-up, kemudian ada dua pilihan yang bisa anda gunakan yaitu mendaftar dengan email dan password atau dengan akun Github anda. Membuat Project di Supabase Selanjutnya membuat project di Supabase, click New Project ...

January 2, 2024 · 2 min