Claper

Claper

Docker app from junkerderprovinz's Repository

Overview

Claper is an open-source, self-hosted alternative to Mentimeter/Slido: run live polls, Q&A and quizzes alongside your slides, audience joins from their own phone/laptop, no app install. This is a plug-and-play Unraid Community Applications template that wraps the official ghcr.io/claperco/claper image. Variables with fixed options are dropdowns. IMPORTANT - two one-time setup steps (see the README): 1. DATABASE: Claper needs a reachable PostgreSQL server and takes a single combined connection string, not separate host/port/user/password fields. Create a database and user first, then fill in the Database URL field below in the form postgres://USER:PASSWORD@HOST:PORT/DBNAME. 2. SECRET KEY: generate one with `openssl rand -base64 48` on the Unraid console and paste it into Secret Key Base below. It signs sessions/cookies - keep it stable across restarts, or every logged-in user gets signed out. First login: the image auto-seeds a default admin account, admin@claper.co / claper. Change that password immediately after first login. Detailed README (full setup & options): https://github.com/junkerderprovinz/Unraid-apps/blob/main/claper/README.md
Claper for Unraid

Validate  Upstream Claper  Image  PostgreSQL  Unraid  License

A plug-and-play Unraid Community Applications template for Claper — the open-source, self-hosted Mentimeter/Slido alternative. Wraps the official ghcr.io/claperco/claper image: run live polls, Q&A and quizzes alongside your slides, your audience joins from their own phone or laptop, no app install. Every option is exposed in the template form.


Maintained solo, in whatever spare time there is. Questions via the support thread, bugs, ideas and feature requests via GitHub issues. If it's useful to you, a coffee is always welcome.

Buy me a coffee


Table of Contents

  1. What is this?
  2. Features
  3. PostgreSQL setup (do this first)
  4. Quick Start on Unraid
  5. Configuration
  6. Reverse proxy & HTTPS
  7. Backup & restore
  8. Updating
  9. Troubleshooting
  10. License
  11. Support this project

1. What is this?

An Unraid Community Applications template for Claper (source). It deploys the official ghcr.io/claperco/claper image — an open-source (AGPL-3.0) tool for running live polls, Q&A and quizzes alongside a presentation. The audience joins from a link or QR code on their own device; no app to install, no account required to participate.


2. Features

  • Live polls, quizzes and Q&A during a presentation, results update in real time
  • Slide upload (PDF/PPTX/images) with a join link and QR code generated per event
  • Self-hosted, AGPL-3.0 — your events and responses stay on your own server
  • Optional self-registration for presenter accounts (toggle in the template)
  • Multi-language UI (English, French, Spanish, Italian, German by default)
  • Multi-arch upstream image — amd64 + arm64

3. PostgreSQL setup (do this first)

Claper needs a reachable PostgreSQL server and takes one combined connection string (DATABASE_URL), not separate host/user/password fields. Create a database and user first, for example via docker exec -it <postgres-container> psql -U postgres:

CREATE DATABASE claper;
CREATE USER claper WITH ENCRYPTED PASSWORD 'change-me';
GRANT ALL PRIVILEGES ON DATABASE claper TO claper;

Then build the Database URL field from those values:

postgres://claper:change-me@192.168.1.10:5432/claper

Migrations run automatically on container start — no manual step needed.


4. Quick Start on Unraid

  1. Install from Community Applications, or add this template's URL directly: https://raw.githubusercontent.com/junkerderprovinz/unraid-apps/main/claper/claper.xml
  2. Fill in Database URL (see section 3).
  3. Set Secret Key Base — generate one on the Unraid console: openssl rand -base64 48.
  4. Set Base URL to your server's real address or reverse-proxy domain.
  5. Start the container, open the WebUI, log in with the seeded admin account admin@claper.co / claperchange that password immediately.

5. Configuration

Setting Container Variable Default Notes
WebUI Port (port) 4000 Claper's web interface.
Uploads (path) /mnt/user/appdata/claper/uploads Presentation files. Must be mapped.
Database URL DATABASE_URL (empty) postgres://USER:PASSWORD@HOST:PORT/DBNAME. Required.
Secret Key Base SECRET_KEY_BASE (empty) Session/cookie signing key, openssl rand -base64 48. Required, ≥32 bytes.
Base URL BASE_URL (placeholder) Public URL used in join links and QR codes.
Enable Account Creation ENABLE_ACCOUNT_CREATION true Advanced. Set false once your presenter accounts exist.
Max File Size (MB) MAX_FILE_SIZE_MB 15 Advanced. Per-file upload cap.
Languages LANGUAGES en,fr,es,it,de Advanced. UI languages to offer.

Claper also supports SMTP/Postmark mail, OIDC login, and S3-compatible storage instead of the local Uploads path — none of these are exposed as template fields (advanced, rarely needed for a home install); set them as extra container variables if you need them. See Claper's own configuration docs for the full variable list.


6. Reverse proxy & HTTPS

Claper works fine on plain LAN HTTP. For access from outside your network, put it behind a reverse proxy with HTTPS and set Base URL to the public https:// address — this is what gets embedded in join links and QR codes shown to your audience.


7. Backup & restore

Back up two things: the Uploads volume (presentation files) and the PostgreSQL database (everything else — accounts, events, poll/quiz results). Restoring both together restores a working instance; restoring only one leaves uploads and database references out of sync.


8. Updating

Community Applications shows an update badge when a new image is available. Stop the container, pull the new :latest, start it again — migrations run automatically.


9. Troubleshooting

  • Container won't start, log mentions SECRET_KEY_BASE — the field is empty or under 32 bytes. Generate a real one: openssl rand -base64 48.
  • Container won't start, log mentions BASE_URL — the value must start with http:// or https:// (a bare hostname is rejected).
  • Can't reach the database — check DATABASE_URL's host/port are reachable from this container (same Docker network or a routable IP), and that the database/user from section 3 actually exist.
  • Forgot the admin password — reset it directly in Postgres, or drop and let it reseed on a fresh database (loses all data).

10. License

This template is MIT-licensed (see ../LICENSE). Claper itself is licensed AGPL-3.0 by ClaperCo — this is an independent, community-maintained Unraid packaging and is not affiliated with the Claper project.


11. Support this project

Questions? Check the support thread. Bugs, ideas or feature requests? Please open a GitHub issue.

This is a one-person project. I put a lot of time and effort into building and maintaining it, in whatever free time I have. If it's helped you, I'd genuinely appreciate the support: you're welcome to buy me a coffee.

Buy me a coffee

Install Claper on Unraid in a few clicks.

Find Claper in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.

Open the Apps tab on your Unraid server Search Community Apps for Claper Review the template variables and paths Click Install

Requirements

A reachable PostgreSQL server with a database and user created for Claper (see the README for the SQL). A Secret Key Base (openssl rand -base64 48). Change the seeded admin password (admin@claper.co / claper) immediately after first login.

Related apps

Details

Repository
ghcr.io/claperco/claper:latest
Last Updated2026-08-16
First Seen2026-08-16

Runtime arguments

Web UI
http://[IP]:[PORT:4000]
Network
bridge
Shell
sh
Privileged
false

Template configuration

WebUI PortPorttcp

Claper web interface port.

Target
4000
Default
4000
Value
4000
UploadsPathrw

Uploaded presentation files (slides, images). Must be mapped or everything is lost on recreate.

Target
/app/uploads
Default
/mnt/user/appdata/claper/uploads
Value
/mnt/user/appdata/claper/uploads
Database URLVariable

Full PostgreSQL connection string: postgres://USER:PASSWORD@HOST:PORT/DBNAME. Claper takes one combined URL, not separate host/user/password fields - create the database and user first (see the README for the SQL).

Target
DATABASE_URL
Secret Key BaseVariable

Signs sessions/cookies. Generate with: openssl rand -base64 48 - paste the output here and keep it stable across restarts, or every logged-in user gets signed out. Must be at least 32 bytes; the container refuses to start without one.

Target
SECRET_KEY_BASE
Base URLVariable

Public URL Claper is reached at (must start with http:// or https://) - used to build links shared with your audience (join links, QR codes). Replace the placeholder IP with your server's real address or reverse-proxy domain.

Target
BASE_URL
Default
http://192.168.1.10:4000
Value
http://192.168.1.10:4000
Enable Account CreationVariable

Pick from the dropdown. Whether visitors can self-register a presenter account. Set to false once you and your team have accounts, to keep it private.

Target
ENABLE_ACCOUNT_CREATION
Default
true|false
Value
true
Max File Size (MB)Variable

Maximum upload size per presentation file, in megabytes.

Target
MAX_FILE_SIZE_MB
Default
15
Value
15
LanguagesVariable

Comma-separated list of UI languages to offer, from Claper's supported set.

Target
LANGUAGES
Default
en,fr,es,it,de
Value
en,fr,es,it,de