ADconsole v1.1.0
CI / PHP 8.2 (push) Failing after 1m40s
CI / PHP 8.3 (push) Failing after 55s
CI / PHP 8.4 (push) Failing after 1m11s
Release image / image (push) Successful in 2m33s

Config backup, a Docker dev/prod split, and a Gitea-built release image.

Added
- /settings -> General -> "Configuration backup": JSON export/import of the
  panel's general settings + attribute definitions
  (App\Services\ConfigBackupService); audited as config.export / config.import.
  Export can leave out the attribute-encryption key. No AD data included.
- docker/compose.dev.yaml: live-reload dev stack that bind-mounts the working
  tree. docker/php/Dockerfile is now multi-stage (base -> dev / prod).
- .github/workflows/release.yml: on every vX.Y.Z tag, builds the prod image and
  pushes gitea.kzbikowski.pl/kzbkowski/adconsole:{X.Y.Z,X.Y,latest}.

Changed
- docker/compose.yaml: self-contained prod image (app code + composer install
  --no-dev baked in via COPY); persistent state in docker/data/{app_storage,db};
  defaults to the released image (ADCONSOLE_VERSION pins a tag, ADCONSOLE_IMAGE
  replaces the ref). Apache now honours public/.htaccess (AllowOverride All).
  Run from the repo root with --env-file .env.
- Repo root now holds only README.md; CHANGELOG / CONTRIBUTING / SECURITY /
  CODE_OF_CONDUCT moved under docs/.

Upgrade notes: docs/upgrading.md#v110--docker-layout. Full log: docs/CHANGELOG.md.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JKT9p3bfP8RZesExdYCS52
This commit is contained in:
kzbkowskiandClaude Sonnet 5 committed 2026-09-10 09:13:04 +02:00
1 parent 1126d96271
commit b313c126ce
35 files changed
+1174 -119

No files matched your search

+23
View File
@@ -0,0 +1,23 @@
# =============================================================================
# Local / no-Traefik override for the development stack (docker/compose.dev.yaml).
#
# cp docker/compose.dev.override.yaml.template docker/compose.dev.override.yaml
# docker compose --env-file .env \
# -f docker/compose.dev.yaml -f docker/compose.dev.override.yaml up --build
#
# The app is published on http://localhost:8080 and the external
# `traefik_public` network becomes a normal local one. Set
# APP_URL=http://localhost:8080 in .env.
# =============================================================================
services:
app:
ports:
- "8080:80"
networks:
- internal
labels: []
networks:
traefik_public:
external: false