feat: Add GitHub Container Registry (GHCR) support with automated builds

- Add GitHub Actions workflow to build and push Docker images to GHCR
- Create root-level docker-compose.yml using pre-built ghcr.io/cyph3rasi/synapsis:latest image
- Update docker/README.md with new simplified installation instructions
- Update main README.md with quick start Docker instructions
- Users can now deploy without cloning: just download compose file + Caddyfile + .env
- Supports automatic tagging: latest, semver, sha, branch names
- Multi-platform builds: linux/amd64, linux/arm64
- Includes SBOM generation for security tracking
This commit is contained in:
Christomatt
2026-01-31 04:11:14 +01:00
parent df5b61f42a
commit 2a9c91d623
5 changed files with 396 additions and 121 deletions
+38 -13
View File
@@ -1,29 +1,54 @@
# ===========================================
# Synapsis Environment Configuration
# Synapsis Docker Environment Configuration
# ===========================================
# Copy this file to .env and fill in your values
# Copy this file to .env and configure your values
# Database (Required)
DATABASE_URL=postgresql://user:password@localhost/synapsis
# ===========================================
# Required Settings
# ===========================================
# Authentication (Required)
# Domain Configuration
# Replace with your actual domain
DOMAIN=your-domain.com
# Database Credentials
# Change these to secure values!
DB_USER=synapsis
DB_PASSWORD=your-secure-password-here
DB_NAME=synapsis
# Authentication Secret
# Generate with: openssl rand -hex 32
AUTH_SECRET=your-secret-key-here
AUTH_SECRET=your-secret-key-here-minimum-32-characters
# Node Configuration (Required)
NEXT_PUBLIC_NODE_DOMAIN=your-domain.com
# Admin Users
# Comma-separated list of email addresses with admin access
ADMIN_EMAILS=admin@your-domain.com
# Admin Users (Required)
# Comma-separated list of email addresses that have admin access
ADMIN_EMAILS=admin@example.com
# ===========================================
# S3-Compatible Storage (Required for uploads)
# ===========================================
# You can use AWS S3, MinIO, Wasabi, Backblaze B2, etc.
# S3-Compatible Storage (Required for media uploads)
STORAGE_ENDPOINT=https://s3.your-provider.com
STORAGE_REGION=us-east-1
STORAGE_BUCKET=synapsis
STORAGE_BUCKET=synapsis-uploads
STORAGE_ACCESS_KEY=your-access-key
STORAGE_SECRET_KEY=your-secret-key
STORAGE_PUBLIC_BASE_URL=https://cdn.your-domain.com
# ===========================================
# Optional Settings
# ===========================================
# Maximum bots per user (default: 5)
# BOT_MAX_PER_USER=5
# Redis configuration (if using external Redis)
# REDIS_URL=redis://redis:6379
# ===========================================
# Docker Compose Settings
# ===========================================
# COMPOSE_PROJECT_NAME=synapsis