Small production wrapper for upstream New API and CLIProxyAPI.
The repository avoids local forks and heavy automation. It keeps only the host-native Docker Compose files, environment templates, backup scripts, and concise runbooks needed to operate the services.
new-api: upstreamcalciumion/new-apicli-proxy-api: upstreameceasy/cli-proxy-apipostgres:postgres:15-alpineredis:redis:7-alpinecloudflared: upstreamcloudflare/cloudflared, run as a separate Compose project
No Caddy, vendored upstream source, local New API build, Playwright test surface, or Spec Kit workflow is part of the normal path.
docker-compose.yml # New API + PostgreSQL + Redis
docker-compose.prod.yml # production logging overrides
docker-compose.cpa.yml # CLIProxyAPI
docker-compose.cloudflare-tunnel.yml # separate cloudflared Compose project
.env.production.example # production env template
ops/ # small host-native maintenance commands
docs/ # concise operations runbooks
Prepare host-local secrets:
cp .env.production.example .env.productionStart the core stack plus CPA:
ENV_FILE=.env.production WITH_CPA=1 ops/compose.sh up -dHost administration uses the public SSH endpoint through ssh hostinger-arch.
CPA management is loopback-only at 127.0.0.1:8317; open its dedicated local
forward with:
ssh hostinger-cpaThen open http://127.0.0.1:18317/management.html. The SSH alias owns the
background local forward; this repository stores no host address, key, proxy,
or credential.
CPA request-body auditing is a host-local policy and never stores the real
config in Git. See docs/operations-runbook.md for the required settings and
the 10 GiB hot-retention limit.
Start cloudflared separately from the core project:
docker compose --env-file .env.production -p hostinger-cloudflared \
-f docker-compose.cloudflare-tunnel.yml up -dUse service-scoped host-native Compose commands for the stateless applications:
ENV_FILE=.env.production WITH_CPA=1 ops/compose.sh pull new-api cli-proxy-api
ENV_FILE=.env.production WITH_CPA=1 \
ops/compose.sh up -d --no-deps new-api cli-proxy-api
ENV_FILE=.env.production ops/check-runtime.shDo not update PostgreSQL, Redis, cloudflared, and the application containers in one automatic operation.