mirror of
https://github.com/Xe138/windmill-git-sync.git
synced 2026-04-01 17:27:23 -04:00
Add containerized service for syncing Windmill workspaces to Git repositories. Features: - Flask webhook server for triggering syncs from Windmill - wmill CLI integration for pulling workspace content - Automated Git commits and push to remote repository - Network-isolated (only accessible within Docker network) - Designed to integrate with existing Windmill docker-compose files Key components: - Docker container with Python 3.11, wmill CLI, Git, and Flask - Sync engine with error handling and logging - External volume support for persistent workspace data - Comprehensive documentation (README.md and CLAUDE.md)
26 lines
777 B
YAML
26 lines
777 B
YAML
services:
|
|
# ... existing Windmill services (windmill_server, windmill_worker, postgres, etc.) ...
|
|
|
|
windmill-git-sync:
|
|
build: .
|
|
container_name: windmill-git-sync
|
|
expose:
|
|
- "8080"
|
|
volumes:
|
|
- ${WORKSPACE_VOLUME}:/workspace
|
|
environment:
|
|
# Windmill connection
|
|
- WINDMILL_BASE_URL=http://windmill_server:8000
|
|
- WINDMILL_TOKEN=${WINDMILL_TOKEN}
|
|
- WINDMILL_WORKSPACE=${WINDMILL_WORKSPACE:-default}
|
|
|
|
# Git configuration
|
|
- GIT_REMOTE_URL=${GIT_REMOTE_URL}
|
|
- GIT_TOKEN=${GIT_TOKEN}
|
|
- GIT_BRANCH=${GIT_BRANCH:-main}
|
|
- GIT_USER_NAME=${GIT_USER_NAME:-Windmill Git Sync}
|
|
- GIT_USER_EMAIL=${GIT_USER_EMAIL:-windmill@example.com}
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- windmill_server
|