Panda-995

RoomDeck

Panda-995

RoomDeck is a self-hosted party room service where guests join by QR code to share photos, vote, cast screens, and play games, with host-controlled display and auto cleanup.

nas-deploy-20260913
Published at
Sep 13, 2026
3
Stars
9
Download
Synced at
1d ago

Latest release

nas-deploy-20260913Sep 13, 2026, 09:44 AM
Downloads slow? Switch the source anytime above

README

Project Overview

Getting everyone's photos and votes onto one big screen at an in-person party usually means herding a group chat. RoomDeck takes another route: it gives the physical room a self-hosted digital room. Participants scan a QR code or type a six-character room code to join without accounts, share photos, files, notes, and links, while the host picks what goes on screen and drives the TV or projector from a phone or laptop, exporting a ZIP and auto-cleaning when the event ends.

One NAS or server gives every gathering a shareable digital room.

Item Value
Form Self-hosted web service (Docker deployment)
Stack Go + WebSocket + LiveKit
Image ghcr.io/panda-995/roomdeck:latest (amd64/arm64)
Defaults 2 GB and 50 guests per room, 100 rooms and 2,000 items max
License AGPL-3.0

Key Features

  • Account-free joining: six-character room codes with QR codes, rotating invites, nickname sessions, and host powers to remove or mute uploads
  • Content sharing: photo uploads (JPEG/PNG/WebP with orientation fix and metadata strip), file attachments, notes, and links
  • Voting: anonymous single/multi-choice polls with hidden results and vote changes
  • Display control: a separate read-only big-screen page with carousel, pause, blackout, and pinned content or polls
  • Turn-based screen share: members take turns casting via LiveKit for many viewers at once, hosts can stop anytime
  • Party games: built-in Undercover and dice guessing with private info, round scoring, points, and reconnect recovery
  • Shared whiteboard: a collaborative canvas plus timed draw-and-guess, with role-based co-host permissions
  • Data handling: ZIP export with checksum list, expiry deletion, restart cleanup, and single-instance data lock

Deployment & Setup

  1. Download the repo's compose.yaml on your NAS or server, then run docker compose pull and docker compose up -d
  2. Open http://serverIP:8080 and finish first-run setup with the First-run setup token from the logs, admin password is set in the web UI
  3. For fresh NAS installs use compose.nas.yaml, filling in just the LAN IP with no .env needed
  4. For screen sharing configure HTTPS and media ports, either with the bundled auto-HTTPS config or your existing reverse proxy

Usage Flow

  1. The host creates a room and throws the QR code onto the big screen or into the group chat
  2. Guests scan to join, uploading photos, posting notes, and voting
  3. The host curates content on the control page, the TV or projector shows the read-only display
  4. Export a ZIP when the event ends, expired data deletes itself

Target Audience

  • Organizers of class reunions, annual parties, and weddings
  • NAS enthusiasts looking for big-screen interaction
  • Clubs needing a temporary shared space

Notes

  • Photo formats: previews cover JPEG/PNG/WebP only, HEIC and video share as plain files with no transcoding
  • Anonymity limits: anonymous votes dedupe by browser session without identity checks
  • Screen share prerequisites: multi-user casting needs correct media IP, ports, and HTTPS, plain HTTP LANs may not let browsers capture the screen
  • Capacity caps: 100 rooms and 2,000 items per room at most, with 2 GB and 50 guests per room by default, adjustable in settings
  • Sample assets: bundled demo photos come from Unsplash, replace them with your own before real events

Release history

Sort