# Caddy config.
#
# Two site blocks:
# 1. :80 — handles all HTTP traffic by IP (no domain yet) for development access.
#    Returns plain HTTP, no TLS. Will be removed once a domain is bought.
# 2. gendesign.example.ru — production block with auto-TLS via Let's Encrypt.
#    Activates only after DNS A-record is set on this domain.
#
# Replace gendesign.example.ru with your actual domain when bought.
#
# `handle /api/*` (NOT `handle_path`) — we keep the /api prefix because
# the FastAPI router is mounted at /api/v1/*.

:80 {
    encode zstd gzip

    handle /api/* {
        reverse_proxy backend:8000
    }

    handle /health {
        reverse_proxy backend:8000
    }

    # Frontend (Next.js) — catches everything else
    handle {
        reverse_proxy frontend:3000
    }
}

gendesign.example.ru {
    encode zstd gzip

    handle /api/* {
        reverse_proxy backend:8000
    }

    handle /health {
        reverse_proxy backend:8000
    }

    handle {
        reverse_proxy frontend:3000
    }
}
