feat: add flexible docker-compose architecture with profiles
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
- Add OpenBao services to docker-compose.yml with profiles (openbao, full) - Add docker-compose.build.yml for local builds vs registry pulls - Make PostgreSQL and Valkey optional via profiles (database, cache) - Create example compose files for common deployment scenarios: - docker/docker-compose.example.turnkey.yml (all bundled) - docker/docker-compose.example.external.yml (all external) - docker/docker.example.hybrid.yml (mixed deployment) - Update documentation: - Enhance .env.example with profiles and external service examples - Update README.md with deployment mode quick starts - Add deployment scenarios to docs/OPENBAO.md - Create docker/DOCKER-COMPOSE-GUIDE.md with comprehensive guide - Clean up repository structure: - Move shell scripts to scripts/ directory - Move documentation to docs/ directory - Move docker compose examples to docker/ directory - Configure for external Authentik with internal services: - Comment out Authentik services (using external OIDC) - Comment out unused volumes for disabled services - Keep postgres, valkey, openbao as internal services This provides a flexible deployment architecture supporting turnkey, production (all external), and hybrid configurations via Docker Compose profiles. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
83
docs/CHANGELOG.md
Normal file
83
docs/CHANGELOG.md
Normal file
@@ -0,0 +1,83 @@
|
||||
# Changelog
|
||||
|
||||
All notable changes to Mosaic Stack will be documented in this file.
|
||||
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
### Added
|
||||
|
||||
- Complete turnkey Docker Compose setup with all services (#8)
|
||||
- PostgreSQL 17 with pgvector extension
|
||||
- Valkey (Redis-compatible cache)
|
||||
- Authentik OIDC provider (optional profile)
|
||||
- Ollama AI service (optional profile)
|
||||
- Multi-stage Dockerfiles for API and Web apps
|
||||
- Health checks for all services
|
||||
- Service dependency ordering
|
||||
- Network isolation (internal and public networks)
|
||||
- Named volumes for data persistence
|
||||
- Docker Compose profiles for optional services
|
||||
- Traefik reverse proxy integration (#36)
|
||||
- Bundled mode: Self-contained Traefik instance with automatic service discovery
|
||||
- Upstream mode: Connect to external Traefik instances
|
||||
- None mode: Direct port exposure without reverse proxy
|
||||
- Automatic SSL/TLS support (Let's Encrypt or self-signed)
|
||||
- Traefik dashboard for monitoring routes and services
|
||||
- Flexible domain configuration via environment variables
|
||||
- Integration tests for all three deployment modes
|
||||
- Comprehensive deployment guide with production examples
|
||||
- Comprehensive environment configuration
|
||||
- Updated .env.example with all Docker variables
|
||||
- PostgreSQL performance tuning options
|
||||
- Valkey memory management settings
|
||||
- Authentik bootstrap configuration
|
||||
- Docker deployment documentation
|
||||
- Complete deployment guide
|
||||
- Docker-specific configuration guide
|
||||
- Updated installation instructions
|
||||
- Troubleshooting section
|
||||
- Production deployment considerations
|
||||
- Integration testing for Docker stack
|
||||
- Service health check tests
|
||||
- Connectivity validation
|
||||
- Volume and network verification
|
||||
- Service dependency tests
|
||||
- Docker helper scripts
|
||||
- Smoke test script for deployment validation
|
||||
- Makefile for common operations
|
||||
- npm scripts for Docker commands
|
||||
- docker-compose.override.yml.example template for customization
|
||||
- Environment templates for Traefik deployment modes
|
||||
- .env.traefik-bundled.example for bundled mode
|
||||
- .env.traefik-upstream.example for upstream mode
|
||||
|
||||
### Changed
|
||||
|
||||
- Updated README.md with Docker deployment instructions
|
||||
- Enhanced configuration documentation with Docker-specific settings
|
||||
- Improved installation guide with profile-based service activation
|
||||
- Updated Makefile with Traefik deployment shortcuts
|
||||
- Enhanced docker-compose.override.yml.example with Traefik examples
|
||||
|
||||
## [0.0.1] - 2026-01-28
|
||||
|
||||
### Added
|
||||
|
||||
- Initial project structure with pnpm workspaces and TurboRepo
|
||||
- NestJS API application with BetterAuth integration
|
||||
- Next.js 16 web application foundation
|
||||
- PostgreSQL 17 database with pgvector extension
|
||||
- Prisma ORM with comprehensive schema
|
||||
- Authentik OIDC authentication integration
|
||||
- Activity logging system
|
||||
- Authentication module with OIDC support
|
||||
- Database seeding scripts
|
||||
- Comprehensive test suite with 85%+ coverage
|
||||
- Documentation structure (Bookstack-compatible hierarchy)
|
||||
- Development workflow and coding standards
|
||||
|
||||
[Unreleased]: https://git.mosaicstack.dev/mosaic/stack/compare/v0.0.1...HEAD
|
||||
[0.0.1]: https://git.mosaicstack.dev/mosaic/stack/releases/tag/v0.0.1
|
||||
Reference in New Issue
Block a user