Deploying Scribble.rs
Introduction
Scribble.rs is an open-source, self-hosted alternative to the popular online drawing and guessing game Skribbl.io. Players take turns drawing words while others attempt to guess what is being drawn, earning points for correct guesses. The game supports multiple languages, custom word lists, and various game modes, making it perfect for parties, team building, or casual fun with friends.
Built with Go on the backend and a responsive web frontend, Scribble.rs requires no client installation - players simply join through their web browser. The application is lightweight and can handle multiple simultaneous game lobbies with minimal resources.
Key highlights of Scribble.rs:
- Multiplayer Drawing Game: Real-time drawing and guessing with WebSocket communication
- Multiple Languages: Supports word lists in numerous languages
- Custom Word Lists: Create your own themed word lists for specialized games
- Public and Private Lobbies: Host open games or invite-only sessions
- No Registration Required: Players can join instantly with just a username
- Responsive Design: Works on desktop and mobile browsers
- Customizable Settings: Adjust rounds, draw time, player limits, and hints
- 100% Open Source: Licensed under BSD-3-Clause with no ads or tracking
This guide walks through deploying Scribble.rs on Klutch.sh using Docker, configuring game settings, and hosting your own drawing game server.
Why Deploy Scribble.rs on Klutch.sh
Deploying Scribble.rs on Klutch.sh provides several advantages:
Simplified Deployment: Klutch.sh automatically detects your Dockerfile and builds Scribble.rs without complex configuration. Push to GitHub, and your game server deploys automatically.
HTTPS by Default: Klutch.sh provides automatic SSL certificates, ensuring secure WebSocket connections for real-time gameplay.
Always-On Gaming: Your game server remains accessible 24/7, ready for spontaneous game sessions without startup delays.
Custom Domains: Assign a custom domain for a branded gaming experience.
GitHub Integration: Connect your configuration repository directly from GitHub for seamless updates.
Prerequisites
Before deploying Scribble.rs on Klutch.sh, ensure you have:
- A Klutch.sh account
- A GitHub account with a repository for your Scribble.rs configuration
- Basic familiarity with Docker and containerization concepts
- (Optional) Custom word lists for themed games
Preparing Your Repository
Create a GitHub repository with your Scribble.rs configuration.
Repository Structure
scribblrs-deploy/├── Dockerfile├── words/│ └── custom_words.txt└── .dockerignoreCreating the Dockerfile
Create a Dockerfile in the root of your repository:
FROM ghcr.io/scribble-rs/scribble.rs:latest
# Set environment variablesENV SCRIBBLE_PORT=${SCRIBBLE_PORT:-8080}
# Optional: Copy custom word lists# COPY words/ /app/words/
# Expose the web interface portEXPOSE 8080Custom Word Lists
Create custom word lists by adding text files with one word per line:
applebananacomputerelephantguitarEnvironment Variables Reference
| Variable | Required | Default | Description |
|---|---|---|---|
SCRIBBLE_PORT | No | 8080 | Port for the web server |
SCRIBBLE_ROOT_PATH | No | / | Root path for reverse proxy setups |
Deploying Scribble.rs on Klutch.sh
- Select HTTP as the traffic type
- Set the internal port to 8080
Push Your Repository to GitHub
Initialize and push your repository:
git initgit add Dockerfile .dockerignoregit commit -m "Initial Scribble.rs deployment configuration"git remote add origin https://github.com/yourusername/scribblrs-deploy.gitgit push -u origin mainCreate a New Project on Klutch.sh
Navigate to the Klutch.sh dashboard and create a new project with a descriptive name like “scribblrs” or “drawing-game”.
Create a New App
Within your project, create a new app. Connect your GitHub account and select your Scribble.rs repository.
Configure HTTP Traffic
In the deployment settings:
Deploy Your Application
Click Deploy to start the build process. Klutch.sh will build the container and provision an HTTPS certificate.
Access Scribble.rs
Once deployment completes, access your game at https://your-app-name.klutch.sh.
Using Scribble.rs
Creating a Game Lobby
- Navigate to your Scribble.rs instance
- Click Create Private Lobby for invite-only games or join public lobbies
- Configure game settings:
- Number of rounds
- Drawing time
- Maximum players
- Language/word list
- Hints enabled/disabled
- Share the lobby link with players
Joining a Game
- Open the shared lobby link
- Enter your username
- Wait for the host to start the game
Playing the Game
- Drawing: When it’s your turn, draw the assigned word using the canvas tools
- Guessing: Type guesses in the chat when others are drawing
- Scoring: Points are awarded for correct guesses (faster = more points)
Troubleshooting
Players Cannot Join
Symptoms: Players receive connection errors when joining.
Solutions:
- Verify the deployment is running
- Ensure HTTPS is working (required for secure WebSockets)
- Check that the lobby hasn’t reached maximum players
Drawing Not Syncing
Symptoms: Drawings don’t appear for other players.
Solutions:
- Check WebSocket connections in browser developer tools
- Refresh the page to reconnect
- Verify network stability
Additional Resources
Conclusion
Deploying Scribble.rs on Klutch.sh gives you a private, self-hosted drawing game server perfect for team building, parties, or casual fun. With automatic HTTPS and always-on availability, your game server is ready whenever inspiration strikes.