e499ce884d
- 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
57 lines
1.5 KiB
Markdown
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
|