Files
dumpsterChat/README.md
T
hobokenchicken e499ce884d Initial scaffold: Go backend, React frontend, Docker Compose
- Go backend: config, db (PostgreSQL migrations), auth (argon2id + sessions),
  middleware (cookie sessions, RequireAuth), chi router, cmd/server
- React frontend: Vite + React 18 + TS + Tailwind + Gruvbox palette + terminal CSS
- Docker: compose.yml (Postgres, Valkey, minio, LiveKit, coturn, Caddy),
  livekit.yaml, Caddyfile, Dockerfile (multi-stage Go+Node+Alpine)
- .env.example, .gitignore, README.md
2026-06-26 14:41:10 -04:00

1.5 KiB

Dumpster

A chaotic, self-hosted Discord-like platform for ~12 degenerates.

Built for fun, maintained with pride, named with intent.

Quick Start

# Copy and edit environment variables
cp .env.example .env
$EDITOR .env

# Start backing services
docker compose -f docker/compose.yml up -d

# Run migrations
go run ./cmd/migrate

# Start the server
go run ./cmd/server

# In another terminal, start the web dev server
cd web
npm install
npm run dev

Project Structure

dumpster/
├── cmd/
│   ├── server/           # Main API + WebSocket gateway
│   ├── tui/              # Terminal client (Phase 5)
│   └── migrate/          # Database migrations CLI
├── internal/
│   ├── auth/             # Auth logic
│   ├── server/           # Server CRUD + membership
│   ├── channel/          # Channel CRUD
│   ├── message/          # Message CRUD
│   ├── voice/            # LiveKit integration
│   ├── role/             # Roles + permissions
│   ├── gateway/          # WebSocket gateway
│   ├── upload/           # File upload (minio)
│   └── middleware/        # Auth, rate limiting, CORS
├── migrations/           # SQL migrations
├── web/                  # React frontend (PWA)
├── docker/               # Docker Compose + Caddyfile
├── scripts/              # Helper scripts
└── docs/                 # Documentation

License

AGPLv3