ArcaneBlog

[host] Blog genesis : Caddy & Docker

2026-01-25

Déploiement du blog sur la prod. L'objectif était une stack ultra légère, sans base de données, juste du PHP indexé par le système de fichiers.

Stack technique

Le Caddyfile gère tout le challenge DNS pour DuckDNS. Pas besoin d'ouvrir le port 80 pour Certbot. Tout tourne dans un network Docker isolé.


version: "4"

services:
  php:
    build:
      context: .
      dockerfile: Dockerfile-php
    container_name: blog-php
    volumes:
      - ./html:/var/www/html
    restart: unless-stopped

  caddy:
    image: caddy:2-alpine
    container_name: blog-caddy
    ports:
      - "443:443"   # HTTPS

    volumes:
      - ./Caddyfile:/etc/caddy/Caddyfile
      - ./html:/var/www/html
    depends_on:
      - php
    restart: unless-stopped

Prochaine étape : Ajout d'un container Tor pour exposer le site en .onion parallèlement au domaine DuckDNS. L'idée est d'avoir un accès résilient si le DNS saute.