Skip to content

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
└── .dockerignore

Creating the Dockerfile

Create a Dockerfile in the root of your repository:

FROM ghcr.io/scribble-rs/scribble.rs:latest
# Set environment variables
ENV SCRIBBLE_PORT=${SCRIBBLE_PORT:-8080}
# Optional: Copy custom word lists
# COPY words/ /app/words/
# Expose the web interface port
EXPOSE 8080

Custom Word Lists

Create custom word lists by adding text files with one word per line:

apple
banana
computer
elephant
guitar

Environment Variables Reference

VariableRequiredDefaultDescription
SCRIBBLE_PORTNo8080Port for the web server
SCRIBBLE_ROOT_PATHNo/Root path for reverse proxy setups

Deploying Scribble.rs on Klutch.sh

    Push Your Repository to GitHub

    Initialize and push your repository:

    Terminal window
    git init
    git add Dockerfile .dockerignore
    git commit -m "Initial Scribble.rs deployment configuration"
    git remote add origin https://github.com/yourusername/scribblrs-deploy.git
    git push -u origin main

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

    • Select HTTP as the traffic type
    • Set the internal port to 8080

    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

  1. Navigate to your Scribble.rs instance
  2. Click Create Private Lobby for invite-only games or join public lobbies
  3. Configure game settings:
    • Number of rounds
    • Drawing time
    • Maximum players
    • Language/word list
    • Hints enabled/disabled
  4. Share the lobby link with players

Joining a Game

  1. Open the shared lobby link
  2. Enter your username
  3. 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.