mirror of
https://github.com/tiennm99/goclaw.git
synced 2026-06-09 20:13:24 +00:00
172684a5a7
* Add prepare-compose.sh for composible modules, options and overlays
* feat(prepare-compose): add --quiet and --skip-validation flags
Add loud() function for conditional output. Use --quiet to suppress
normal output, --skip-validation to bypass docker compose config check.
* chore: add mise config to gitignore
* chore: add GOCLAW_DIR env var and update context paths
- Add GOCLAW_DIR to prepare-compose.sh for .env generation
- Fix context paths in docker-compose files to use ${GOCLAW_DIR:-.}
- Restore symlinks in compose.d/ and compose.options/
* fix: broken symlink, safe .env update, export COMPOSE_FILE before validate
- Fix compose.d/00-goclaw.yml symlink: docker-compose.yml → ../docker-compose.yml
- Add compose.d/.gitkeep so directory is tracked
- Export COMPOSE_FILE before running docker compose config validation
- Replace rm+sed .env update pattern with safe temp file approach
- Quote GOCLAW_DIR value in .env to handle paths with spaces
---------
Co-authored-by: viettranx <viettranx@gmail.com>
39 lines
1.3 KiB
YAML
39 lines
1.3 KiB
YAML
# Upgrade overlay — one-shot database upgrade service.
|
|
#
|
|
# Usage:
|
|
# # Preview changes (dry-run):
|
|
# docker compose -f docker-compose.yml -f docker-compose.postgres.yml -f docker-compose.upgrade.yml run --rm upgrade --dry-run
|
|
#
|
|
# # Apply upgrade:
|
|
# docker compose -f docker-compose.yml -f docker-compose.postgres.yml -f docker-compose.upgrade.yml run --rm upgrade
|
|
#
|
|
# # Check status:
|
|
# docker compose -f docker-compose.yml -f docker-compose.postgres.yml -f docker-compose.upgrade.yml run --rm upgrade --status
|
|
#
|
|
# The upgrade service runs goclaw upgrade and exits. Use --rm to auto-remove the container.
|
|
|
|
services:
|
|
upgrade:
|
|
image: ghcr.io/nextlevelbuilder/goclaw:latest
|
|
build:
|
|
context: ${GOCLAW_DIR:-.}
|
|
dockerfile: Dockerfile
|
|
args:
|
|
ENABLE_OTEL: "false"
|
|
env_file:
|
|
- path: .env
|
|
required: false
|
|
environment:
|
|
- GOCLAW_POSTGRES_DSN=postgres://${POSTGRES_USER:-goclaw}:${POSTGRES_PASSWORD:-goclaw}@postgres:5432/${POSTGRES_DB:-goclaw}?sslmode=disable
|
|
- GOCLAW_CONFIG=/app/data/config.json
|
|
- GOCLAW_MIGRATIONS_DIR=/app/migrations
|
|
- GOCLAW_ENCRYPTION_KEY=${GOCLAW_ENCRYPTION_KEY:-}
|
|
volumes:
|
|
- goclaw-data:/app/data
|
|
depends_on:
|
|
postgres:
|
|
condition: service_healthy
|
|
entrypoint: ["/app/goclaw"]
|
|
command: ["upgrade"]
|
|
restart: "no"
|