Open
Conversation
…, init/update scripts - Move config files (nginx.conf, php-fpm.conf, php.ini) to .dist defaults; active configs are now gitignored so client customizations never conflict with git pull - Remove shared SSL certs from repo; init.sh generates unique per-install certs - Pin Docker image versions (no more :latest) to prevent config/image mismatch - Add VERSION file for tracking deployed versions - Add init.sh for first-time setup (copies defaults, generates certs, creates .env) - Add update.sh for zero-conflict updates (pulls, diffs configs, warns of changes) - Add docker-compose.override.yml support for client compose customizations - Remove deprecated docker-compose version key - Update README with quick start and update instructions
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
.distconfig pattern: Config files (nginx.conf, php-fpm.conf, php.ini) are now shipped as.distdefaults. Active configs are gitignored, so client customizations never conflict withgit pull1.0.0) instead of:latestto prevent config/image version mismatchinit.sh: First-time setup script — copies.distdefaults, generates unique SSL certs per installation, creates.envfrom exampleupdate.sh: Zero-conflict update script — stops containers, pulls repo + images, diffs configs to warn about upstream changes, starts containersdocker-compose.override.ymlsupport for client-specific compose customizations (ports, volumes, etc.)versionkey from docker-compose.ymlHow it works
docker-compose.ymldocker-compose.override.ymldocker/*.distdocker/nginx/nginx.conf,docker/php/*.envMigration for existing clients
Test plan
./init.shcreates all config files and certsdocker compose up -dworks after init./update.shruns without conflictsdocker-compose.override.ymlmerges correctly with base compose