Skip to content

Deploying Quizmaster

Introduction

Quizmaster is a self-hosted quiz and trivia platform that allows you to create, manage, and host interactive quizzes. Whether you’re running team trivia nights, educational assessments, or corporate training quizzes, Quizmaster provides the tools to engage participants and track results.

Key features of Quizmaster include:

  • Quiz Creation: Build custom quizzes with various question types
  • Live Hosting: Run real-time trivia events with live scoring
  • Multiple Question Types: Support for multiple choice, true/false, and open-ended questions
  • Leaderboards: Track scores and display rankings
  • Team Support: Create team-based competitions
  • Media Support: Include images and audio in questions
  • Timer Options: Set time limits for individual questions or entire quizzes
  • Results Analytics: Review performance statistics and answer distributions
  • Mobile Friendly: Participants can join from any device

This guide walks through deploying Quizmaster on Klutch.sh using Docker, configuring the database, and setting up your quiz platform.

Prerequisites

Before deploying Quizmaster on Klutch.sh, ensure you have:

Deploying Quizmaster on Klutch.sh

    Create Your Dockerfile

    Create a Dockerfile in your repository:

    FROM node:18-alpine
    WORKDIR /app
    # Install dependencies
    RUN apk add --no-cache git python3 make g++
    # Clone Quizmaster repository
    RUN git clone https://github.com/quizmaster/quizmaster.git .
    # Install dependencies
    RUN npm install
    # Build the application
    RUN npm run build
    # Environment configuration
    ENV NODE_ENV=production
    ENV PORT=3000
    # Expose the web interface
    EXPOSE 3000
    # Start the application
    CMD ["npm", "start"]

    Push Your Repository to GitHub

    Commit and push your Dockerfile to your GitHub repository.

    Create a New Project on Klutch.sh

    Navigate to the Klutch.sh dashboard and create a new project named “quizmaster”.

    Create a New App

    Create a new app within your project and connect your GitHub repository.

    Configure HTTP Traffic

    In the deployment settings:

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

    Set Environment Variables

    Configure the following environment variables:

    VariableValue
    NODE_ENVproduction
    PORT3000
    DATABASE_URLYour database connection string
    SESSION_SECRETA secure random string

    Attach Persistent Volumes

    Add persistent storage:

    Mount PathRecommended SizePurpose
    /app/data5 GBQuiz data and results
    /app/uploads10 GBMedia files for questions

    Deploy Your Application

    Click Deploy to build and start your Quizmaster instance.

    Access Quizmaster

    Once deployment completes, access your Quizmaster instance at https://your-app-name.klutch.sh.

Creating Your First Quiz

  1. Log in to the admin panel
  2. Navigate to “Create Quiz”
  3. Add a title and description
  4. Create questions with answer options
  5. Set time limits and scoring rules
  6. Publish and share the quiz code with participants

Additional Resources

Conclusion

Deploying Quizmaster on Klutch.sh provides a complete quiz hosting platform with automatic builds, persistent storage, and secure HTTPS access. Create engaging quizzes, host live trivia events, and track participant scores all from your own self-hosted platform.