Documentation Getting Started Quickstart Guide

Quickstart Guide

You bought the script. Let’s get it running.

This guide takes you from a fresh download to a fully working casino demo on your local machine in under 30 minutes. It covers the happy path — Docker, first login, and the five settings you must configure before going live.


What you need before you start

Requirement Version Notes
Docker Desktop 4.0+ Includes Docker Compose v2. Download here.
Git Any recent For cloning the repository
make Any Pre-installed on macOS and Linux. Windows: use Git Bash or WSL

You do not need PHP, MySQL, or Redis installed locally. Docker handles everything.


Step 1 — Get the code

Clone your licensed repository:

git clone <your-repo-url> casino
cd casino

Your repo URL was included in your purchase confirmation email. If you can’t find it, check your account dashboard.


Step 2 — Run the setup command

make setup

This single command does everything:

  • Copies the pre-configured Docker environment file
  • Builds all container images
  • Starts the full stack (web server, app, database, cache, queue worker, WebSocket server, scheduler)
  • Generates your application key and JWT secret
  • Runs all database migrations
  • Seeds default games, admin account, and demo data

Expected output (condensed):

[setup] Copying .env.docker → .env
[setup] Building images...
[setup] Starting services...
[setup] Waiting for database...
[setup] Running migrations...
[setup] Seeding database...
[setup] Done! Visit http://localhost

The first run downloads base images — this can take 3–5 minutes on a typical broadband connection. Subsequent starts take seconds.


Step 3 — Open your casino

Once setup completes, open these URLs:

URL What you see
http://localhost Player-facing casino lobby
http://localhost/admin Admin dashboard

Step 4 — Log in to the admin panel

Navigate to http://localhost/admin and log in with the default credentials:

Field Value
Email admin@casino.com
Password password

Change this password immediately. Go to Admin → Roles & Permissions, find the admin user, and set a strong password. Enable two-factor authentication while you’re there.


Step 5 — Essential first-time configuration

Before sharing this with anyone or pointing a domain at it, complete these five items.

5.1 Site name and currency

Admin → Settings → General

Setting What to set
Casino Name Your brand name
Default Currency Your primary currency (e.g., USD, EUR, GBP)
Support Email An email players can contact
Timezone Your operating timezone

5.2 Enable at least one game

Admin → Games

The seeder enables all games by default, so you may already have a working lobby. To enable or disable individual games, toggle the switch on each game card. Click Configure on any game to adjust bet limits and RTP.

5.3 Enable a payment method

Admin → Settings → Payment Methods

At least one payment method must be active for players to deposit. Each method has an Enabled toggle and requires provider-specific API keys — see the Configuration Reference for the relevant .env variables.

5.4 Configure email sending

Admin → Settings → Email

Enter your SMTP provider details so the platform can send registration confirmations, withdrawal notifications, and KYC emails. Use the Test Email button to confirm it works before going live.

5.5 Review responsible gaming defaults

Admin → Settings → Responsible Gaming

Check the default deposit limits and self-exclusion settings. These apply to all players platform-wide. Adjust them to match the regulatory requirements of your target jurisdiction before accepting real players.


Daily development workflow

Once the initial setup is done, use these commands to manage your local instance:

make up       # Start all services
make down     # Stop all services
make logs     # Tail logs from all services
make shell    # Open a bash shell inside the app container
make ps       # Show container status

For active development with hot-reload:

make dev      # Starts with Vite HMR at http://localhost:5173

Health check

Confirm everything is running:

curl http://localhost/health

You should see a JSON response with "status": "ok" for each subsystem (database, cache, queue, WebSocket). If any subsystem shows an error, run make logs to investigate.


Common first-run issues

Port 80 already in use Another application is listening on port 80. Edit docker-compose.yml and change 80:80 to 8080:80, then update APP_URL=http://localhost:8080 in .env and re-run make up.

Services not starting / containers restarting MySQL can take up to 60 seconds to finish initialising on first boot. Wait and retry. If the problem persists: make logs to see which service is failing.

make not found on Windows Install Git Bash or WSL, or run the commands inside each make target manually (open Makefile to see the underlying commands).


Where to go next

I want to… Go to
Deploy to a production server Installation Guide
Understand all .env options Configuration Reference
Integrate via the REST API API Reference
Manage games and the dashboard Admin: Dashboard & Game Management
Set up KYC and payments Admin: User & Payment Management
Configure compliance settings Admin: Settings & Compliance
Get answers to common questions FAQ for Operators