- Cargo workspace with hiy-server (axum 0.7 + sqlx SQLite + tokio) - SQLite schema: apps, deploys, env_vars (inline migrations, no daemon) - Background build worker: sequential queue, streams stdout/stderr to DB - REST API: CRUD for apps, deploys, env vars; GitHub webhook with HMAC-SHA256 - SSE endpoint for live build log streaming - Monospace HTMX-free dashboard: app list + per-app detail, log viewer, env editor - builder/build.sh: clone/pull → detect strategy (Dockerfile/buildpack/static) → docker build → swap container → update Caddy via admin API → prune images - infra/docker-compose.yml + Dockerfile.server for local dev (no Pi needed) - proxy/Caddyfile: auto-HTTPS off for local, comment removed for production - .env.example Compiles clean (zero warnings). Run locally: cp .env.example .env && cargo run --bin hiy-server https://claude.ai/code/session_01FKCW3FDjNFj6jve4niMFXH
20 lines
656 B
Text
20 lines
656 B
Text
# Copy to .env and fill in values before running locally with `cargo run`.
|
|
|
|
# Where HIY stores its SQLite database, build checkouts, and env files.
|
|
HIY_DATA_DIR=./data
|
|
|
|
# Address the server listens on.
|
|
HIY_ADDR=0.0.0.0:3000
|
|
|
|
# Path to the build script (relative to CWD when running the server binary).
|
|
HIY_BUILD_SCRIPT=./builder/build.sh
|
|
|
|
# Caddy admin API URL (used by build.sh to update routing).
|
|
CADDY_API_URL=http://localhost:2019
|
|
|
|
# Suffix appended to app names to form subdomains: myapp.<DOMAIN_SUFFIX>
|
|
# Use "localhost" for local dev, your real domain on the Pi.
|
|
DOMAIN_SUFFIX=localhost
|
|
|
|
# Rust log filter.
|
|
RUST_LOG=hiy_server=debug,tower_http=info
|