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: bridgeDan 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 domainDi 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.