Setup Linux Server dari Nol untuk Web App

Jadi ceritanya, aku baru beli VPS murah ($5/bulan) dari DigitalOcean. Fresh Ubuntu server, kosong melompong. Gak ada Nginx, gak ada SSL, gak ada security setup. Banyak yang gak tau cara setup server dari nol. Padahal gak serumit yang dibayangin. Di tutorial ini, aku bakal jelasin step-by-step dari fresh server sampai production-ready. Yang bakal kamu dapet di akhir tutorial: Server aman dari serangan Nginx reverse proxy SSL gratis dari Let’s Encrypt Auto-renew SSL UFW firewall Basic monitoring Prerequisites VPS dengan Ubuntu 22.04/24.04 (DigitalOcean, Vultr, AWS, dll) Domain name yang sudah pointing ke IP server Terminal/SSH client Step 1: SSH ke Server Kalau baru beli VPS, biasanya kamu dikasih root password via email. ...

3 Mei 2026 · 7 menit · Dovi

Cara Setup CI/CD dengan GitHub Actions (Gratis)

Dulu aku masih manual-deploy. Push code ke GitHub, SSH ke server, pull, restart. Setiap kali. Tiap update kecil aja, 10 menit habis buat proses deploy. Teman aku bilang: “Lu belum pakai CI/CD?” — aku langsung malu. Setelah setup GitHub Actions, sekarang tinggal push ke main branch dan… beres. Tests jalan otomatis, deploy otomatis, notifikasi kalau gagal. Gak pernah balik ke manual lagi. CI/CD Itu Apa? CI (Continuous Integration): Setiap push code, otomatis run tests dan build. Kalau ada error, langsung ketauan. CD (Continuous Deployment/Delivery): Kalau tests pass, otomatis deploy ke server/staging/production. GitHub Actions jadi pilihan utama karena: ...

9 April 2026 · 8 menit · Dovi

Belajar Docker untuk Pemula (Tutorial Lengkap)

Docker itu intimidating banget buat pemula. Tapi sebenernya simple kok. Docker Itu Apa? Bayangin kamu punya aplikasi yang jalan di laptop. Tapi pas dipindah ke server, error karena environment beda. Docker solve masalah itu dengan packaging aplikasi + dependencies jadi satu unit. Install Docker Windows/macOS Download Docker Desktop Linux curl -fsSL https://get.docker.com | sh sudo usermod -aG docker $USER Hello World docker run hello-world Dockerfile FROM node:18-alpine WORKDIR /app COPY package*.json ./ RUN npm install COPY . . EXPOSE 3000 CMD ["node", "index.js"] Build & Run docker build -t my-app . docker run -d -p 3000:3000 my-app Docker Compose version: '3.8' services: app: build: . ports: - "3000:3000" db: image: postgres:15 environment: - POSTGRES_PASSWORD=*** Basic Commands docker ps # List containers docker stop my-container # Stop docker rm my-container # Remove docker logs my-container # Logs Conclusion Docker dalam 15 menit. Practice: Containerize aplikasi kamu sekarang! ...

6 Februari 2026 · 1 menit · Dovi