Initial commit: StackPilot Phase 1 (Core)
Self-hosted Docker Compose manager. - Backend: FastAPI + docker-py + SQLite (JWT auth, file-first stacks, lifecycle, live status, WebSocket logs, docker-run converter, audit log) - Frontend: React + Vite + Tailwind (login/setup, dashboard, stacks, stack detail, Monaco editor, dark/light theme) - Deployment: docker-compose.yml, Dockerfiles, nginx reverse proxy Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
services:
|
||||
backend:
|
||||
build: ./backend
|
||||
image: stackpilot/backend:latest
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- SECRET_KEY=${SECRET_KEY}
|
||||
- STACKS_DIR=/opt/stacks
|
||||
- DATA_DIR=/data
|
||||
- HOST_PROC_PATH=/host_proc
|
||||
- CORS_ORIGINS=${CORS_ORIGINS:-http://localhost:5009}
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
- ./data:/data
|
||||
- ${STACKS_HOST_DIR:-./data/stacks}:/opt/stacks
|
||||
- /proc:/host_proc:ro
|
||||
expose:
|
||||
- "5008"
|
||||
# Uncomment to expose the API directly (normally proxied by the frontend):
|
||||
# ports:
|
||||
# - "5008:5008"
|
||||
|
||||
frontend:
|
||||
build: ./frontend
|
||||
image: stackpilot/frontend:latest
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- backend
|
||||
ports:
|
||||
- "5009:80"
|
||||
Reference in New Issue
Block a user