Sign inSign up

benwsapp/rlgl

By benwsapp

Updated 11 months ago

Collaboration app to display your work-in-progress

Image
Developer tools
Web servers
0

360

benwsapp/rlgl repository overview

Red Light/Green Light (rlgl)

A lightweight status dashboard for developers to showcase their current work-in-progress. Display what you're focusing on, your task queue, and availability status in real-time.

Quick Start

Run Server
# Start the server (token will be auto-generated and displayed)
docker run -p 8080:8080 benwsapp/rlgl:latest serve

# Or with pre-configured token
docker run -p 8080:8080 \
  -e RLGL_TOKEN="rlgl_your_secure_token_here" \
  benwsapp/rlgl:latest serve

Visit http://localhost:8080 to see your dashboard.

Run Client

First, create a config file rlgl.yaml:

name: "My Status"
description: "Current work and availability"
user: "username"
contributor:
  active: true
  focus: "Implementing feature X"
  queue:
    - "Task 1"
    - "Task 2"

Then run the client:

docker run \
  -v $(pwd)/rlgl.yaml:/config/rlgl.yaml:ro \
  -e RLGL_REMOTE_HOST="ws://host.docker.internal:8080/ws" \
  -e RLGL_CLIENT_ID="my-laptop" \
  -e RLGL_TOKEN="rlgl_your_secure_token_here" \
  benwsapp/rlgl:latest client --config /config/rlgl.yaml

Features

  • Client/Server Architecture: Server hosts web UI and Slack integration while client manages config
  • WebSocket Authentication: Secure token-based authentication
  • Real-time Updates: Server-Sent Events (SSE) for instant dashboard updates
  • Simple Configuration: Single YAML file to manage your status
  • No Database Required: In-memory storage
  • Security First: Non-root container, token auth, CSRF protection

Supported Architectures

This image supports multiple architectures:

  • linux/amd64
  • linux/arm64

Environment Variables

Server Mode:

  • RLGL_SERVER_ADDR - Server address (default: :8080)
  • RLGL_TOKEN - WebSocket authentication token (auto-generated if not set)
  • RLGL_TRUSTED_ORIGINS - Comma-separated CORS origins

Client Mode:

  • RLGL_REMOTE_HOST - WebSocket server URL (required)
  • RLGL_CLIENT_ID - Unique client identifier (required)
  • RLGL_TOKEN - Authentication token (required)
  • RLGL_CLIENT_INTERVAL - Update interval (default: 30s)

Docker Compose Example

version: '3.8'

services:
  rlgl-server:
    image: benwsapp/rlgl:latest
    command: serve
    ports:
      - "8080:8080"
    environment:
      - RLGL_TOKEN=rlgl_your_secure_token_here
      - RLGL_TRUSTED_ORIGINS=https://example.com

  rlgl-client:
    image: benwsapp/rlgl:latest
    command: client --config /config/rlgl.yaml
    volumes:
      - ./config:/config:ro
    environment:
      - RLGL_REMOTE_HOST=ws://rlgl-server:8080/ws
      - RLGL_CLIENT_ID=docker-client
      - RLGL_TOKEN=rlgl_your_secure_token_here
    depends_on:
      - rlgl-server

Documentation

Full documentation available at: https://github.com/benwsapp/rlgl

License

MIT License - Copyright © 2025 Ben Sapp

Tag summary

Content type

Image

Digest

sha256:d82480bea

Size

4.4 MB

Last updated

11 months ago

docker pull benwsapp/rlgl