Archon/deploy/docker-compose.yml
Rasmus Widing 3026a6445d
Add Archon distribution config and directory structure (#101)
* Add Archon distribution config and directory structure

- Create centralized path resolution in src/utils/archon-paths.ts
- Add YAML configuration system (src/config/) with layered loading
- Update Dockerfile and docker-compose for /.archon/ directory
- Add GHCR publish workflow for multi-arch Docker builds
- Create deploy/ directory with end-user docker-compose
- Add /init command to create .archon structure in repos
- Add docs/configuration.md reference guide
- Update README with Quick Start section
- Add bun run validate script
- Update tests for new path defaults (~/.archon/)

Directory structure:
- Local: ~/.archon/{workspaces,worktrees,config.yaml}
- Docker: /.archon/{workspaces,worktrees}
- Repo: .archon/{commands,workflows,config.yaml}

Legacy WORKSPACE_PATH and WORKTREE_BASE env vars still supported.

* Complete Archon distribution config implementation

- Wire up config system in src/index.ts (Task 3.5)
- Remove legacy WORKSPACE_PATH and WORKTREE_BASE support
- Add logConfig() function to config-loader.ts
- Update docker-compose.yml to use ARCHON_DOCKER env var
- Remove legacy env vars from .env.example
- Update all documentation to reference ARCHON_HOME
- Create scripts/validate-setup.sh for setup validation
- Add setup:check script to package.json
- Create docs/getting-started.md guide
- Create docs/archon-architecture.md technical docs
- Update tests to use ARCHON_HOME instead of legacy vars
- Fix validate.md command template for new paths

All plan phases now complete:
- Phase 1: Archon Directory Structure
- Phase 2: Docker Distribution
- Phase 3: YAML Configuration System
- Phase 4: Developer Experience
- Phase 5: Documentation
2025-12-17 21:45:41 +02:00

45 lines
1.1 KiB
YAML

# Remote Coding Agent - Docker Compose for End Users
#
# Usage:
# 1. Copy this file and .env.example to your server
# 2. Rename .env.example to .env and configure
# 3. Run: docker compose up -d
#
# For full documentation, see:
# https://github.com/dynamous-community/remote-coding-agent
services:
app:
image: ghcr.io/dynamous-community/remote-coding-agent:latest
restart: unless-stopped
env_file: .env
ports:
- "${PORT:-3000}:3000"
volumes:
- archon_data:/.archon
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:3000/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 10s
# Uncomment to run PostgreSQL locally
# postgres:
# image: postgres:16-alpine
# restart: unless-stopped
# environment:
# POSTGRES_DB: remote_coding_agent
# POSTGRES_USER: postgres
# POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-postgres}
# volumes:
# - postgres_data:/var/lib/postgresql/data
# healthcheck:
# test: ["CMD-SHELL", "pg_isready -U postgres"]
# interval: 10s
# timeout: 5s
# retries: 5
volumes:
archon_data:
# postgres_data: