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

57 lines
1.5 KiB
Markdown

# Dumpster
A chaotic, self-hosted Discord-like platform for ~12 degenerates.
Built for fun, maintained with pride, named with intent.
## Quick Start
```bash
# 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