VPS Seharga 7 Dollar
Blog ini dan beberapa side project lainnya bersemayam di satu server, semuanya dilayani oleh konfigurasi docker-compose dan caddyfile serta dns menggunakan cloudflare.
Di sini saya memanfaatkan 2 hal sebenarnya docker-compsoe yang bisa melayani beragam service dan memanfaatkan reverse proxy dari caddy (nginx juga bisa sih) lalu setelah itu ya manfaatin aja multiple subdomain, kira-kira begini isi dari docker-compose saya.
version: "3.8"
services:
frontend:
image: ghcr.io/${GITHUB_USERNAME}/${FRONTEND_REPO_NAME}:latest
restart: unless-stopped
environment:
- NODE_ENV=production
ports:
-
networks:
- techstill
backend:
image: ghcr.io/${GITHUB_USERNAME}/${BACKEND_REPO_NAME}:latest
restart: unless-stopped
environment:
- NODE_ENV=production
ports:
-
command: command run fastapi
networks:
- techstill
blog:
image: ghost:5-alpine
restart: unless-stopped
ports:
-
environment:
database__client: sqlite3
url: https://blog.arsmp.com
networks:
- techstill
caddy:
image: caddy:2
restart: unless-stopped
ports:
- "80:80"
- "443:443"
- "443:443/udp"
volumes:..
networks:
- techstill
depends_on:
- frontend
- backend
- blog
volumes:
caddy_data:
caddy_config:
static_files:
networks:
techstill:
driver: bridge
Dan begini konfigurasi Caddy
# Configuration for Blog
blog.arsmp.com {
encode gzip
header {
# Enable HTTP Strict Transport Security (HSTS)
Strict-Transport-Security "max-age=31536000;"
# Enable cross-site filter (XSS) and tell browser to block detected attacks
X-XSS-Protection "1; mode=block"
# Prevent some browsers from MIME-sniffing a response away from the declared Content-Type
X-Content-Type-Options "nosniff"
# Disallow the site to be rendered within a frame (clickjacking protection)
X-Frame-Options "DENY"
# Add referrer policy
Referrer-Policy "strict-origin-when-cross-origin"
}
reverse_proxy http://blog:port {
header_up Host {host}
header_up X-Real-IP {remote_host}
header_up X-Forwarded-For {remote_host}
header_up X-Forwarded-Proto {scheme}
}
}
... another configuration for another domain
Di atas saya memanfaatkan gratisnya github action untuk auto deploy. Karena web saya pun tidak terlalu banyak pengunjung dan aplikasi sampingan saya juga bernasib sama, vps seharga 7 dollar ini masih cukup untuk menampung itu semua.