Install Pro Ticket on your server
The Railway template deploys the bot, the web panel and the database together. You create the Discord application, fill in three variables and, within minutes, publish the ticket panel.
Open the Railway template (opens in a new tab)Before you start
- A Railway account
- A Discord server where you are an Administrator
- Optional: a Steam API key, only to show the profile picture during Steam verification — verification works without it
Create the bot on Discord
Everything happens in the Discord Developer Portal.
- Open the Discord Developer Portal (opens in a new tab), click New Application, give it a name and create it.
- In the Bot tab, turn off Public Bot and turn on Server Members Intent and Message Content Intent. Presence Intent is not needed.
- Still in Bot, click Reset Token and copy the token. It is the
BOT_TOKEN. - In the OAuth2 tab, click Reset Secret and copy the Client Secret. It is the
DISCORD_CLIENT_SECRET. - Still in OAuth2, in the URL generator, check the
botandapplications.commandsscopes and the Administrator permission. Open the generated link and authorize the bot on your server. - In Discord, turn on Developer Mode (User Settings → Advanced), right-click the server icon and choose Copy Server ID. It is the
GUILD_ID.
Deploy on Railway
Open the template: it already includes MongoDB. Fill in the variables below and click Deploy.
BOT_TOKENRequiredThe bot token, copied in step 3.
DISCORD_CLIENT_SECRETRequiredThe Client Secret, copied in step 4. It is what turns on the web panel login.
GUILD_IDRequiredYour server ID, copied in step 6.
STEAM_API_KEYOptionalOnly to show the Steam profile picture during verification. Without it, verification works normally. Get the key from Steam (opens in a new tab).
The template sets up the rest on its own: MONGO_URI, BASE_URL, PORT and AI_MASTER_KEY. The deploy takes 2 to 5 minutes.
AI_MASTER_KEY encrypts the AI API keys in your database. Never change it after saving a key in the panel: decryption fails and every key has to be registered again.After the deploy
- Check that the bot shows as online on your server.
- On Railway, open the bot service at Settings → Networking and copy the public domain. In the Developer Portal, under OAuth2 → Redirects, add this address with your domain:
https://YOUR_DOMAIN/api/auth/discord/callback - Open the domain in your browser, sign in with Discord and run the initial setup at Settings → Overview — or use
/startin Discord. That is where you set the time zone, language, ticket category, transcript and attachment channels, and the staff role. - Publish the ticket opening panel with
/ticket setup-panel, or from the web panel. - Turn on Auto Deploy: on Railway, open the bot service at Settings → Source and click Enable if it is off. It is what keeps the bot up to date — without it, the project stays on the version from the day you deployed.
Optional
Steam verification
Set up verification in the web panel, at Settings → Verification, and publish the buttons in Discord with /config-steam-buttons. It uses the service's public networking on port 8080, which the template already sets up. It doesn't need a Steam API key: STEAM_API_KEY only adds the profile picture during verification.
AI Assistant
In the web panel, open AI Assistant, choose a compatible provider and model, register your API key and turn the system on. The panel suggests free and paid models, and their usage is handled directly with the provider. The module has a free trial and, after it, a symbolic subscription — see Pricing.
What next?
The first time the bot starts, it registers here on its own. Sign in with Discord to see your server's status, follow the AI module trial and subscribe to it whenever you want.
Sign in with DiscordStuck on a step?
Reach out on the support Discord — that is where installation questions get answered.
Don't want to host it yourself? Talk to us on Discord (opens in a new tab).