Skip to content

EN Production Deployment

Cavanshirpro edited this page Sep 19, 2026 · 1 revision

Production deployment, platforms and backups

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.

Platform selection

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

Initial single-host ASGI deployment

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-log

With 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.

Production preparation

  1. Record source commits and dependency resolution for reproducible deployment.
  2. Use strong secrets, separate application/operator/Editor identities and real TLS.
  3. Rehearse migrations and restores; switch to schema validation mode.
  4. Configure actual trusted hosts, CORS and proxy CIDRs.
  5. Plan Redis cache/rate/events and shared-data boundaries when using multiple workers.
  6. Expose only necessary service ports and management networks.
  7. Test health/readiness and real user CRUD/RPC paths.
  8. Assess code/config/schema/data compatibility together for rollback.

Docker

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.

Operating-system services

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.

State to back up

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.

Sources and verification

This page describes the behavior at the pinned commits below. Recheck these contracts when upgrading.


English home · All English pages · Version maintenance

Clone this wiki locally