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
52 lines
1.0 KiB
Plaintext
52 lines
1.0 KiB
Plaintext
# Build context for docker/php/Dockerfile (context = repo root).
|
|
#
|
|
# prod target — COPYs the application in, so keep app code but drop
|
|
# everything the image rebuilds or must never ship (vendor/,
|
|
# node_modules/, .env, tests/, docs/, host state in ./data).
|
|
# dev target — bakes nothing; compose.dev.yaml bind-mounts the repo.
|
|
|
|
.git
|
|
.github
|
|
.gitattributes
|
|
.gitignore
|
|
.editorconfig
|
|
|
|
vendor
|
|
node_modules
|
|
public/build
|
|
public/hot
|
|
public/storage
|
|
|
|
storage/app/*
|
|
!storage/app/.gitignore
|
|
!storage/app/private
|
|
!storage/app/public
|
|
storage/framework/cache/data/*
|
|
storage/framework/sessions/*
|
|
storage/framework/testing/*
|
|
storage/framework/views/*
|
|
storage/logs/*
|
|
bootstrap/cache/*
|
|
!bootstrap/cache/.gitignore
|
|
|
|
.env
|
|
.env.*
|
|
!.env.example
|
|
|
|
docs
|
|
tests
|
|
phpunit.xml
|
|
.phpunit.result.cache
|
|
.phpunit.cache
|
|
|
|
*.md
|
|
.dockerignore
|
|
|
|
# Compose files + local overrides + persistent state — never needed in the image.
|
|
docker/compose.yaml
|
|
docker/compose.dev.yaml
|
|
docker/compose.override.yaml
|
|
docker/compose.dev.override.yaml
|
|
docker/*.template
|
|
docker/data
|