2026-05-01 19:31:44 +02:00
2026-05-01 19:31:44 +02:00
2026-05-01 19:31:44 +02:00
2026-05-01 19:31:44 +02:00
2026-05-01 19:31:44 +02:00
2026-05-01 19:31:44 +02:00
2026-05-01 19:31:44 +02:00
2026-05-01 19:31:44 +02:00
2026-05-01 19:31:44 +02:00
2026-05-01 19:31:44 +02:00
2026-05-01 19:31:44 +02:00

WinniePatGG's Ticket Support

Docker Pulls GitHub License Docker Stars

Environment Variables (.env)

Server Variables

Key Value
PORT Default: 3000 ; Port the service is running on
SESSION_SECRET Long Random String that is used for sessions

Admin Seeding (Initial Admin Account)

Key Value
ADMIN_EMAIL Default: admin@example.com; Email for the initial admin account
ADMIN_PASSWORD Default: admin123; Password for the initial admin account

Google OAuth 2.0

Key Value
GOOGLE_CLIENT_ID Email for the initial admin account
GOOGLE_CLIENT_SECRET Password for the initial admin account
GOOGLE_CALLBACK_URL Password for the initial admin account

SMTP (Email)

Key Value
SMTP_HOST Your SMTP Host
SMTP_PORT Your SMTP Port
SMTP_USER Your SMTP User
SMTP_PASS Your SMTP User password
SMTP_SECURE true or false
SMTP_FROM Default: "Support no-reply@yourdomain.com"; The from message

Discord webhook

Key Value
DISCORD_WEBHOOK_URL The url of you discord webhook

Information

The Service creates a support.sqlite3 file that stores all data the service needs.

Getting Started

Docker

  • Create a folder support-service
  • Download the docker-compose.yml from the repo
  • Create a new directory app
  • Put all files into the app directory
  • Run docker compose up -d in the directory with the docker-compose.yml

Standalone

  • git clone https://github.com/WinniePatGG/TicketSupport.git
  • cd TicketSupport
  • npm install
  • npm run start

Important Notes

  • The Google login button appears only when GOOGLE_CLIENT_ID and GOOGLE_CLIENT_SECRET are set.
  • If you change PORT, also update GOOGLE_CALLBACK_URL and the redirect URI in Google Cloud.
  • I couldn't test the SMTP stuff, but it should work (I hope). If not, let me know.
S
Description
No description provided
Readme 43 KiB
Languages
JavaScript 59.2%
EJS 27.4%
CSS 13.4%