Repository navigation
EN Production Deployment
English · Türkçe · Languages / Diller
Scope: JSON API Forge 0.5.1 · Source review: 17 September 2026 · Language: English
Forge 0.5.1 is Alpha. This guide describes implemented boundaries, not production certification for every workload. A development SQLite/memory setup does not automatically become a multi-host production architecture.
| Environment | Options | Considerations |
|---|---|---|
| Linux glibc | Source/wheel or glibc binary | libc/CPU compatibility |
| Alpine/musl | Source/wheel or musl binary | Do not use a glibc binary |
| Windows x64 | Python or forge-server.exe
|
Service account and ACLs |
| Windows ARM64 | Supported Python dependencies or frozen x64 compatibility package | Separate from native ARM64 Editor |
| macOS | Python or matching-architecture binary | Signing/notarization are separate |
| Container | Source Dockerfile or release OCI |
Non-root, persistent volumes, secret store |
| cPanel | Passenger/a2wsgi | Conventional HTTP; realtime limitations |
In a source checkout, after preparing .env and your application:
forge validate
forge doctor --production
forge migrate
uvicorn main:app --host 127.0.0.1 --port 8000 --no-proxy-headers --no-access-logWith an installed wheel, use uvicorn framework.reload:create_live_app --factory ... from your deployment directory. A production supervisor should manage restarts, log retention and startup order. Keep global Uvicorn proxy rewriting disabled so Forge's trusted-proxy policy remains authoritative.
- Record source commits and dependency resolution for reproducible deployment.
- Use strong secrets, separate application/operator/Editor identities and real TLS.
- Rehearse migrations and restores; switch to schema validation mode.
- Configure actual trusted hosts, CORS and proxy CIDRs.
- Plan Redis cache/rate/events and shared-data boundaries when using multiple workers.
- Expose only necessary service ports and management networks.
- Test health/readiness and real user CRUD/RPC paths.
- Assess code/config/schema/data compatibility together for rollback.
The official Dockerfile uses Python 3.13 slim and a non-root forge account. main starts without example apps. Supply your application configuration and writable data/media/logs directories explicitly. Do not bake real secrets or private .env files into images.
A green /health image check does not mean all projects are ready; configure orchestrator readiness too. Multiple replicas do not make local media shared storage.
deploy/systemd/json-api-forge.service, deploy/nginx/editor-control-plane.conf.example and the Windows service helper are starting templates. Adapt paths, service accounts, writable directories, TLS and proxy topology.
The systemd template's ReadWritePaths covers data/media/logs. Remote Editor configuration writes also require carefully scoped access to the relevant app/ paths; do not make the entire filesystem writable. Align management policy with service-account permissions.
Preserve project documents, migration versions, business databases, the internal identity/metadata database, media, Editor attachments and protected copies of secrets. Cache is generally reconstructible and does not replace business data. A backup is verified by a successful clean-environment restore, not merely by its creation.
This page describes the behavior at the pinned commits below. Recheck these contracts when upgrading.
main/docs/43-Platform-and-Hosting-Matrix.mdmain/Dockerfilemain/deploy/systemd/json-api-forge.servicemain/KNOWN_LIMITATIONS.md