A static HTML site is perfect to start, but you have options to grow:
Option A โ WordPress (dynamic CMS): Familiar interface, thousands of themes. Runs on PHP + MySQL. More complex to maintain but very powerful.
sudo apt install docker.io docker-compose -y
mkdir ~/wordpress && cd ~/wordpress
nano docker-compose.yml
services:
wordpress:
image: wordpress:latest
ports:
- "8080:80"
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_USER: wpuser
WORDPRESS_DB_PASSWORD: changeme
WORDPRESS_DB_NAME: wordpress
volumes:
- wordpress_data:/var/www/html
depends_on:
- db
db:
image: mariadb:latest
environment:
MYSQL_DATABASE: wordpress
MYSQL_USER: wpuser
MYSQL_PASSWORD: changeme
MYSQL_ROOT_PASSWORD: changeme_root
volumes:
- db_data:/var/lib/mysql
volumes:
wordpress_data:
db_data:
docker-compose up -d
โ WordPress running on port 8080
Then update your Caddyfile to proxy requests to WordPress:
yourdomain.com {
reverse_proxy localhost:8080
}
Option B โ Static site generators: Hugo, Zola, or Eleventy generate pure HTML from Markdown. Blazing fast, extremely secure (no PHP, no database), perfect for blogs and documentation sites. Highly recommended.
๐ก Recommendation for beginners: Start with static HTML, then try Hugo. Only add WordPress or a database if you genuinely need dynamic content.