Skip to content

GPT Image Panel v0.7.2

Choose a tag to compare

@Z1rconium Z1rconium released this 31 May 11:53
· 29 commits to main since this release

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_probe failure does not mark an otherwise valid preset as failed.
  • Treats OPTIONS 404/410 probes as warnings because many GPT-compatible gateways only implement POST.

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, and THUMBNAILS_DIR
  • Docker build image knobs such as PYTHON_BASE_IMAGE and NODE_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 .env clears 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_probe remains visible in the checks list.
  • If upstream_probe is the only error, the overall preset health status is ok.
  • OPTIONS 404/410 is reported as a warning because many compatible gateways only support POST.

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:check
  • npm run frontend:build
  • npm run test:contract
  • npm run test:e2e

Container Image

Published GHCR image:

ghcr.io/z1rconium/gpt-image-linux:v0.7.2

The latest tag has also been updated to the same image.

Manifest digest:

sha256:eed140f1baa2b5a6073c201c1649a100ce0a3089cbb552b5062c5907e9cc4f6e

Supported platforms:

  • linux/amd64
  • linux/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.2

Open 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 -d

Release Assets

This release includes:

  • docker-compose.yml - production-style Compose file pinned to ghcr.io/z1rconium/gpt-image-linux:v0.7.2
  • env.example - environment template; download it as .env.example with curl -Lo .env.example .../env.example
  • gpt-image-panel-v0.7.2-prebuilt.tar.gz - prebuilt offline package including backend code, frontend source, and frontend/build/
  • SHA256SUMS - SHA-256 checksums for the release assets

Full Changelog

v0.7.1...v0.7.2