- FastAPI backend with REST API endpoints - SQLite database for container metadata - Docker/Podman SDK integration with label filtering - Frontend: Server creation form and management page - Container operations: create, list, start, stop, delete - Single container deployment (nginx + Python + supervisor) - Support for Docker and Podman (rootless) - Volume management for persistent data
24 lines
840 B
YAML
24 lines
840 B
YAML
version: '3.8'
|
|
|
|
services:
|
|
stronghold:
|
|
build: .
|
|
ports:
|
|
- "8080:80"
|
|
volumes:
|
|
# Socket access for Podman (rootless)
|
|
# For Podman rootless, mount the socket to /var/run/docker.sock inside container
|
|
# This way the Docker SDK can find it at the standard location
|
|
- ${XDG_RUNTIME_DIR}/podman/podman.sock:/var/run/docker.sock:ro
|
|
# Database persistence
|
|
- ./data:/app/data
|
|
# Hot reload frontend (optional, for development)
|
|
- ./index.html:/usr/share/nginx/html/index.html:ro,z
|
|
- ./manage.html:/usr/share/nginx/html/manage.html:ro,z
|
|
environment:
|
|
# Set working directory for database
|
|
- PWD=/app/data
|
|
# Pass XDG_RUNTIME_DIR for Podman rootless
|
|
- XDG_RUNTIME_DIR=${XDG_RUNTIME_DIR:-/run/user/1000}
|
|
working_dir: /app/data
|
|
restart: unless-stopped
|