GPT Image Panel v0.7.2
GPT Image Panel v0.7.2
This release adds Overall Config, a SQLite-backed configuration layer for environment variables that are not already exposed in the main Settings form. It also improves upstream preset health checks for GPT-compatible gateways that do not implement OPTIONS or HEAD consistently.
Highlights
- Added an Overall Config modal in Settings for runtime, security, observability, limits, path, webhook, SSE, and Docker build-image variables declared in
.env.example. - Added SQLite-backed overrides with the effective priority
SQLite override > current environment > code default. - Added startup synchronization from the current process environment into SQLite so the UI can show the active env snapshot without rewriting
.env. - Added secret-aware Overall Config handling: real secret override values are stored only when explicitly saved, while API responses and the UI return masked values.
- Added restart/build-only metadata so operators can see which changes apply immediately and which need a container restart or rebuild.
- Changed preset health status calculation so an isolated
upstream_probefailure does not mark an otherwise valid preset as failed. - Treats
OPTIONS 404/410probes as warnings because many GPT-compatible gateways only implementPOST.
Overall Config
The new Overall Config flow covers .env.example variables that were previously only configurable through environment files or container settings, while avoiding duplication with the main Settings form.
Included categories:
- App version and GitHub update checks
- Metrics and slow gallery query logging
- Prompt Optimizer response/host limits not already in Settings
- Access gate, cookie, reverse proxy, host allowlist, CSRF, and upstream host allowlist settings
- Webhook signing, timeout, attempt, and host allowlist settings
- Upload, import, decoded image, and upstream response limits
- Job queue and SSE connection limits
- Runtime path fields such as
DATA_DIR,DATABASE_FILE,IMAGES_DIR, andTHUMBNAILS_DIR - Docker build image knobs such as
PYTHON_BASE_IMAGEandNODE_BASE_IMAGE
Not duplicated in Overall Config:
- API presets
- Global SOCKS5 proxy
- Prompt Optimizer basic endpoint/model/key settings
- R2 Backup basic settings
Those remain in the main Settings drawer.
Secret Handling
Secret values are never returned in plaintext from the Overall Config API.
- API/UI responses return masked values for secret fields.
- Sending
********preserves the existing secret override. - Entering a new secret stores that new override in SQLite.
Reset to .envclears the SQLite override and falls back to the current environment value or code default.
This lets container rebuilds keep operator-saved overrides as long as the SQLite data volume is preserved.
API Changes
New endpoints:
GET /api/settings/overall-config- Lists Overall Config items with group, type, masked values, source, env/override state, and restart/build-only flags.
PUT /api/settings/overall-config- Saves or clears SQLite overrides in bulk.
- Returns updated config and
restart_required_names.
Validation behavior:
- Unknown keys return
422. - Invalid bool/int/float values return
422. - Invalid GitHub repository values return
422. - Invalid proxy/security configuration returns
422. - Secret fields support masked preserve semantics.
Preset Health Checks
Preset health checks now separate diagnostic probe failures from blocking configuration failures.
- URL, API path, SSRF, allowlist, and API key errors still fail the preset health check.
upstream_proberemains visible in the checks list.- If
upstream_probeis the only error, the overall preset health status isok. OPTIONS 404/410is reported as a warning because many compatible gateways only supportPOST.
Documentation and Tests
Updated documentation covers:
- Overall Config behavior and precedence
- SQLite override persistence
- secret masking and masked preserve behavior
- restart-required and build-only config fields
- new Overall Config API endpoints
- health probe diagnostic behavior
Validation completed for this release:
npm run frontend:checknpm run frontend:buildnpm run test:contractnpm run test:e2e
Container Image
Published GHCR image:
ghcr.io/z1rconium/gpt-image-linux:v0.7.2The latest tag has also been updated to the same image.
Manifest digest:
sha256:eed140f1baa2b5a6073c201c1649a100ce0a3089cbb552b5062c5907e9cc4f6e
Supported platforms:
linux/amd64linux/arm64
Docker Run
mkdir -p images data
curl -Lo .env.example https://github.com/Z1rconium/gpt-image-linux/releases/download/v0.7.2/env.example
docker run -d \
--name gpt-image-panel \
-p 127.0.0.1:9090:9090 \
--env-file .env.example \
-v "$PWD/images:/app/images" \
-v "$PWD/data:/app/data" \
ghcr.io/z1rconium/gpt-image-linux:v0.7.2Open http://localhost:9090 after the container starts.
Docker Compose
mkdir -p images data
curl -LO https://github.com/Z1rconium/gpt-image-linux/releases/download/v0.7.2/docker-compose.yml
curl -Lo .env.example https://github.com/Z1rconium/gpt-image-linux/releases/download/v0.7.2/env.example
docker compose up -dRelease Assets
This release includes:
docker-compose.yml- production-style Compose file pinned toghcr.io/z1rconium/gpt-image-linux:v0.7.2env.example- environment template; download it as.env.examplewithcurl -Lo .env.example .../env.examplegpt-image-panel-v0.7.2-prebuilt.tar.gz- prebuilt offline package including backend code, frontend source, andfrontend/build/SHA256SUMS- SHA-256 checksums for the release assets