From b023a9211285452b2d7534a74fdf735c620e5895 Mon Sep 17 00:00:00 2001 From: vianm Date: Sun, 15 Feb 2026 17:13:30 +0100 Subject: [PATCH] add hi.events template --- .gitignore | 1 + public/svgs/hi-events.svg | 20 +++++++ templates/compose/hi-events.yaml | 94 ++++++++++++++++++++++++++++++++ 3 files changed, 115 insertions(+) create mode 100644 public/svgs/hi-events.svg create mode 100644 templates/compose/hi-events.yaml diff --git a/.gitignore b/.gitignore index 935ea548e..4b7c420d9 100644 --- a/.gitignore +++ b/.gitignore @@ -38,3 +38,4 @@ docker/coolify-realtime/node_modules .DS_Store CHANGELOG.md /.workspaces +/.claude/settings.local.json diff --git a/public/svgs/hi-events.svg b/public/svgs/hi-events.svg new file mode 100644 index 000000000..6af4872f9 --- /dev/null +++ b/public/svgs/hi-events.svg @@ -0,0 +1,20 @@ + + + Hi.Events Icon - Light + + + + + + + + + + + + + + + diff --git a/templates/compose/hi-events.yaml b/templates/compose/hi-events.yaml new file mode 100644 index 000000000..be2443e73 --- /dev/null +++ b/templates/compose/hi-events.yaml @@ -0,0 +1,94 @@ +# documentation: https://hi.events/docs +# slogan: Open-source event ticketing and management platform +# category: booking +# tags: events, ticketing, tickets, booking, conferences, festivals, concerts, event-management +# logo: svgs/hi-events.svg +# port: 80 + +services: + hi-events: + image: vianmora/hi-events-all-in-one:latest + environment: + - SERVICE_URL_HIEVENTS + # Frontend URLs (Vite) + - VITE_FRONTEND_URL=${SERVICE_URL_HIEVENTS} + - VITE_API_URL_CLIENT=${SERVICE_URL_HIEVENTS}/api + - VITE_API_URL_SERVER=http://localhost/api + - VITE_APP_NAME=${VITE_APP_NAME:-Hi.Events} + # Application keys (auto-generated by Coolify) + - APP_KEY=base64:${SERVICE_REALBASE64_APPKEY} + - JWT_SECRET=${SERVICE_REALBASE64_JWTSECRET} + # Application settings + - APP_CDN_URL=${SERVICE_URL_HIEVENTS}/storage + - APP_FRONTEND_URL=${SERVICE_URL_HIEVENTS} + - CORS_ALLOWED_ORIGINS=${CORS_ALLOWED_ORIGINS:-*} + - APP_DISABLE_REGISTRATION=${APP_DISABLE_REGISTRATION:-false} + - APP_SAAS_MODE_ENABLED=${APP_SAAS_MODE_ENABLED:-false} + - APP_SAAS_STRIPE_APPLICATION_FEE_PERCENT=${APP_SAAS_STRIPE_APPLICATION_FEE_PERCENT:-0} + - APP_SAAS_STRIPE_APPLICATION_FEE_FIXED=${APP_SAAS_STRIPE_APPLICATION_FEE_FIXED:-0} + - APP_EMAIL_LOGO_URL=${APP_EMAIL_LOGO_URL} + - APP_EMAIL_LOGO_LINK_URL=${APP_EMAIL_LOGO_LINK_URL} + # Logging and queue + - LOG_CHANNEL=${LOG_CHANNEL:-stderr} + - QUEUE_CONNECTION=${QUEUE_CONNECTION:-redis} + # Database + - DATABASE_URL=postgresql://${SERVICE_USER_POSTGRES}:${SERVICE_PASSWORD_POSTGRES}@postgres:5432/${POSTGRES_DB:-hievents} + # Redis + - REDIS_HOST=redis + - REDIS_PASSWORD= + - REDIS_PORT=6379 + # Email settings + - MAIL_MAILER=${MAIL_MAILER:-smtp} + - MAIL_DRIVER=${MAIL_DRIVER:-smtp} + - MAIL_HOST=${MAIL_HOST} + - MAIL_PORT=${MAIL_PORT:-587} + - MAIL_USERNAME=${MAIL_USERNAME} + - MAIL_PASSWORD=${MAIL_PASSWORD} + - MAIL_ENCRYPTION=${MAIL_ENCRYPTION:-tls} + - MAIL_FROM_ADDRESS=${MAIL_FROM_ADDRESS:-noreply@example.com} + - MAIL_FROM_NAME=${MAIL_FROM_NAME:-Hi.Events} + # File storage + - FILESYSTEM_PUBLIC_DISK=${FILESYSTEM_PUBLIC_DISK:-public} + - FILESYSTEM_PRIVATE_DISK=${FILESYSTEM_PRIVATE_DISK:-local} + # Stripe settings (optional) + - STRIPE_PUBLIC_KEY=${STRIPE_PUBLIC_KEY} + - STRIPE_SECRET_KEY=${STRIPE_SECRET_KEY} + - STRIPE_WEBHOOK_SECRET=${STRIPE_WEBHOOK_SECRET} + - VITE_STRIPE_PUBLISHABLE_KEY=${STRIPE_PUBLIC_KEY} + # Webhook queue + - WEBHOOK_QUEUE_NAME=webhook-queue + depends_on: + postgres: + condition: service_healthy + redis: + condition: service_healthy + healthcheck: + test: ["CMD", "curl", "-f", "http://127.0.0.1:80"] + interval: 10s + timeout: 10s + retries: 10 + start_period: 30s + + postgres: + image: postgres:17-alpine + environment: + - POSTGRES_DB=${POSTGRES_DB:-hievents} + - POSTGRES_USER=${SERVICE_USER_POSTGRES} + - POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRES} + volumes: + - hi-events-postgres-data:/var/lib/postgresql/data + healthcheck: + test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"] + interval: 5s + timeout: 20s + retries: 10 + + redis: + image: redis:7-alpine + volumes: + - hi-events-redis-data:/data + healthcheck: + test: ["CMD", "redis-cli", "ping"] + interval: 5s + timeout: 10s + retries: 5