This commit is contained in:
Vianney MORAIN 2026-02-25 12:42:11 +01:00 committed by GitHub
commit 59695039b3
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 217 additions and 0 deletions

View file

@ -8,6 +8,7 @@ on:
- .github/workflows/coolify-helper-next.yml
- .github/workflows/coolify-realtime.yml
- .github/workflows/coolify-realtime-next.yml
- .github/workflows/pr-quality.yaml
- docker/coolify-helper/Dockerfile
- docker/coolify-realtime/Dockerfile
- docker/testing-host/Dockerfile

View file

@ -11,6 +11,7 @@ on:
- .github/workflows/coolify-helper-next.yml
- .github/workflows/coolify-realtime.yml
- .github/workflows/coolify-realtime-next.yml
- .github/workflows/pr-quality.yaml
- docker/coolify-helper/Dockerfile
- docker/coolify-realtime/Dockerfile
- docker/testing-host/Dockerfile

View file

@ -3,6 +3,12 @@ name: Generate Changelog
on:
push:
branches: [ v4.x ]
paths-ignore:
- .github/workflows/coolify-helper.yml
- .github/workflows/coolify-helper-next.yml
- .github/workflows/coolify-realtime.yml
- .github/workflows/coolify-realtime-next.yml
- .github/workflows/pr-quality.yaml
workflow_dispatch:
permissions:

93
.github/workflows/pr-quality.yaml vendored Normal file
View file

@ -0,0 +1,93 @@
name: PR Quality
permissions:
contents: read
issues: read
pull-requests: write
on:
pull_request_target:
types: [opened, reopened]
jobs:
pr-quality:
runs-on: ubuntu-latest
steps:
- uses: peakoss/anti-slop@v0
with:
# General Settings
max-failures: 3
# PR Branch Checks
allowed-target-branches: "next"
blocked-target-branches: ""
allowed-source-branches: ""
blocked-source-branches: |
main
master
v4.x
next
# PR Quality Checks
max-negative-reactions: 0
require-maintainer-can-modify: true
# PR Title Checks
require-conventional-title: true
# PR Description Checks
require-description: true
max-description-length: 0
max-emoji-count: 2
require-pr-template: true
require-linked-issue: false
blocked-terms: "STRAWBERRY"
blocked-issue-numbers: 8154
# Commit Message Checks
require-conventional-commits: false
blocked-commit-authors: "claude,copilot"
# File Checks
allowed-file-extensions: ""
allowed-paths: ""
blocked-paths: |
README.md
SECURITY.md
LICENSE
CODE_OF_CONDUCT.md
require-final-newline: true
# User Health Checks
min-repo-merged-prs: 0
min-repo-merge-ratio: 0
min-global-merge-ratio: 30
global-merge-ratio-exclude-own: false
min-account-age: 10
# Exemptions
exempt-author-association: "OWNER,MEMBER,COLLABORATOR"
exempt-users: ""
exempt-bots: |
actions-user
dependabot[bot]
renovate[bot]
github-actions[bot]
exempt-draft-prs: false
exempt-label: "status/exempt"
exempt-pr-label: ""
exempt-milestones: ""
exempt-pr-milestones: ""
exempt-all-milestones: false
exempt-all-pr-milestones: false
# PR Success Actions
success-add-pr-labels: "status/verified"
# PR Failure Actions
close-pr: true
lock-pr: false
delete-branch: false
failure-pr-message: "This PR did not pass quality checks so it will be closed. If you believe this is a mistake please let us know."
failure-remove-pr-labels: ""
failure-remove-all-pr-labels: true
failure-add-pr-labels: ""

1
.gitignore vendored
View file

@ -38,5 +38,6 @@ docker/coolify-realtime/node_modules
.DS_Store
CHANGELOG.md
/.workspaces
/.claude/settings.local.json
tests/Browser/Screenshots
tests/v4/Browser/Screenshots

20
public/svgs/hi-events.svg Normal file
View file

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" width="130" height="130" viewBox="0 0 130 130">
<title>Hi.Events Icon - Light</title>
<!-- Icon centered -->
<g transform="translate(65, 65)">
<g transform="rotate(-6)">
<!-- Ticket stub shape -->
<path d="M 20 -28 L -54 -28 Q -56 -28 -56 -26 L -56 26 Q -56 28 -54 28 L 20 28"
fill="none" stroke="#18181b" stroke-width="4.5" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M 30 -28 L 54 -28 Q 56 -28 56 -26 L 56 26 Q 56 28 54 28 L 30 28"
fill="none" stroke="#18181b" stroke-width="4.5" stroke-linecap="round" stroke-linejoin="round"/>
<!-- Soundwave bars -->
<line x1="-38" y1="-8" x2="-38" y2="8" stroke="#cd58dd" stroke-width="4" stroke-linecap="round"/>
<line x1="-26" y1="-16" x2="-26" y2="16" stroke="#cd58dd" stroke-width="4" stroke-linecap="round"/>
<line x1="-14" y1="-16" x2="-14" y2="16" stroke="#cd58dd" stroke-width="4" stroke-linecap="round"/>
<line x1="-2" y1="-8" x2="-2" y2="8" stroke="#cd58dd" stroke-width="4" stroke-linecap="round"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View file

@ -0,0 +1,95 @@
# documentation: https://hi.events/docs
# slogan: 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:
# only available for amd
image: daveearley/hi.events-all-in-one:v1.6.0-beta.1
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