Skip to content

feat: Add personal deployment option with protected volumes and separate ports - #16

Merged
shane-kercheval merged 2 commits into
mainfrom
deploy
Nov 30, 2025
Merged

shane-kercheval merged 2 commits into
mainfrom
deploy

Conversation

@shane-kercheval

@shane-kercheval shane-kercheval commented Nov 30, 2025 •

Copy link
Copy Markdown
Owner

Summary

Adds a "personal" deployment option that runs alongside the development environment, using separate ports and external Docker volumes that survive docker compose down -v to protect persistent data.

Changes

  • Added docker-compose.personal.yml with separate port mappings (18000, 18001, 14000, 16006) and external volumes
  • Added .env.personal.example template with configuration for the personal environment
  • Added README_USAGE.md with comprehensive documentation for personal deployment setup and usage
  • Extended Makefile with personal deployment commands (personal_up, personal_down, personal_backup, personal_restore, personal_migrate, etc.)
  • Added scripts/setup_personal.sh to create external Docker volumes
  • Parameterized scripts/setup_litellm_keys.sh to support both dev and personal environments via ENV_FILE, LITELLM_PORT, and KEY_PREFIX variables
  • Added prompts/.gitkeep for default prompts directory
  • Included Alembic migration files in the Dockerfile for container-based migrations
  • Fixed reasoning_migrate command to run inside the Docker container
  • Removed unused demo config files from examples/configs/
  • Minor fix to keyboard shortcuts overlay text

Testing

Manual testing of personal deployment workflow including volume creation, service startup, and backup/restore commands.

Impact

No breaking changes. Development environment continues to work as before. Personal deployment is opt-in and uses completely separate configuration, ports, and volumes.

Add separate "personal" Docker environment for persistent data alongside development.

Key changes:
- Add docker-compose.personal.yml with different ports (18000, 18001, 14000, 16006) to run simultaneously with dev
- Use external Docker volumes that survive docker compose down -v for data protection
- Add Makefile targets: personal_setup, personal_up, personal_down, personal_backup, personal_restore, personal_migrate, personal_litellm_setup, client_personal
- Make setup_litellm_keys.sh configurable via ENV_FILE, LITELLM_PORT, KEY_PREFIX environment variables
- Add alembic.ini and alembic/ to Dockerfile for in-container migrations
- Run reasoning_migrate inside container for consistency with personal environment
- Add .env.personal.example template and README_USAGE.md documentation
- Share docker-compose.override.yml between dev and personal for filesystem volume mounts

Also:
- Remove unused example config files (demo_basic, demo_complete, demo_raw_api)
- Add .env.personal to .gitignore
@shane-kercheval shane-kercheval changed the title Setup 'personal' deployment option feat: Add personal deployment option with protected volumes and separate ports Nov 30, 2025
@shane-kercheval
shane-kercheval merged commit 6c585ca into main Nov 30, 2025
2 checks passed
@shane-kercheval
shane-kercheval deleted the deploy branch November 30, 2025 17:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant