Add local development environment support and automated deployment #87
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
Adds comprehensive local development support for testing the home-server-stack on macOS/Docker Desktop before deploying to production servers, plus automated deployment tooling.
Key Features
🖥️ Local Development Environment
docker-compose.local.yml - Override file that simplifies services for Mac:
New Makefile targets:
make local-setup- One-command setup (creates .env.local, validates, starts services)make local-start- Start servicesmake local-stop- Stop servicesmake local-restart- Restart servicesmake local-logs- View logsmake local-status- Check statusmake local-clean- Remove containersServices accessible locally via direct ports:
🚀 Automated Deployment
scripts/deploy-to-server.sh - One-command deployment to production:
Makefile deploy target:
📁 Environment File Management
configure-homepage.sh- Updated to support both environmentssetup-homeassistant.sh- Updated to support both environmentssetup-traefik-password.sh- Updated to support both environments.env.localto .gitignore📚 Documentation
Development Workflow
Files Changed
New Files:
docker-compose.local.yml- Local development overrides.env.local.example- Local environment templatescripts/deploy-to-server.sh- Automated deployment scriptQUICKSTART_LOCAL.md- Quick start guidedocs/LOCAL_DEVELOPMENT.md- Comprehensive local dev guide.env-files-reference.md- Environment file referenceModified Files:
.gitignore- Added .env.localMakefile- Added local-* and deploy targetsscripts/configure-homepage.sh- Support ENV_FILE variablescripts/setup-homeassistant.sh- Support ENV_FILE variablescripts/setup-traefik-password.sh- Support ENV_FILE variableTesting
make local-setupBenefits
🤖 Generated with Claude Code