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 |
|---|---|
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 |