v3: added password change/reset feature
This commit is contained in:
31
README.md
31
README.md
@@ -1,6 +1,6 @@
|
||||
# gerbeur
|
||||
|
||||
A small invite-only social platform for sharing links and files. Users can post URLs and media (YouTube, SoundCloud, Bandcamp, images, …), vote, comment, follow each other, and build playlists. A real-time WebSocket layer handles live presence, vote counts, and notifications.
|
||||
A small invite-only social platform for sharing links and files. Users can post URLs and media (YouTube, SoundCloud, Bandcamp, images, audio, video, …), vote, comment, follow each other, build playlists, and search content. A real-time WebSocket layer handles live presence, vote counts, and notifications. The UI is localized (English and French) and ships multiple visual themes.
|
||||
|
||||
## Stack
|
||||
|
||||
@@ -38,14 +38,22 @@ Open [http://localhost:3000](http://localhost:3000). On first run a default `adm
|
||||
|
||||
See [`.env.example`](.env.example) for the full list with descriptions. Key variables:
|
||||
|
||||
| Variable | Description | Default |
|
||||
| ------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------- |
|
||||
| `GERBEUR_JWT_SECRET` | JWT signing secret — **required**, generate with `openssl rand -hex 32` | — |
|
||||
| `GERBEUR_SMTPS_URL` | SMTPS connection URL used by the email service (`smtps://user:pass@host:465`) | unset |
|
||||
| `GERBEUR_SITE_NAME` | Site name used in OG meta tags | `gerbeur` |
|
||||
| `GERBEUR_PORT` | API server port | `8000` |
|
||||
| `GERBEUR_ALLOWED_ORIGINS` | Comma-separated list of extra allowed frontend origins; the server's own `BASE_URL` is always allowed | `http://localhost:3000` |
|
||||
| `VITE_API_HOSTNAME` | Override API hostname in the frontend bundle (see [Production](#production)) | unset |
|
||||
| Variable | Description | Default |
|
||||
| ---------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------- |
|
||||
| `GERBEUR_JWT_SECRET` | JWT signing secret — **required**, generate with `openssl rand -hex 32` | — |
|
||||
| `GERBEUR_PROTOCOL` | Protocol the API server listens on (`http` or `https`) | `http` |
|
||||
| `GERBEUR_HOSTNAME` | Public hostname used in generated URLs (e.g. OG image tags) | `localhost` |
|
||||
| `GERBEUR_PORT` | API server port | `8000` |
|
||||
| `GERBEUR_LISTEN_HOST` | Network interface Oak binds to; use `127.0.0.1` to restrict to loopback | `0.0.0.0` |
|
||||
| `GERBEUR_ALLOWED_ORIGINS` | Comma-separated list of extra allowed frontend origins; the server's own `BASE_URL` is always allowed | `http://localhost:3000` |
|
||||
| `GERBEUR_FRONTEND_URL` | Frontend base URL used in email links (e.g. password reset); defaults to the API's own `BASE_URL` | `BASE_URL` |
|
||||
| `GERBEUR_SITE_NAME` | Site name used in OG meta tags and emails | `gerbeur` |
|
||||
| `GERBEUR_SMTPS_URL` | SMTPS connection URL for outgoing email (`smtps://user:pass@host:465`) | unset |
|
||||
| `GERBEUR_FROM_EMAIL` | Sender address for outgoing emails — required when `GERBEUR_SMTPS_URL` is set | unset |
|
||||
| `GERBEUR_WELCOME_EMAIL_BODY` | Markdown body for the account-creation welcome email; supports `{{username}}` and `{{site_name}}` | built-in template |
|
||||
| `VITE_API_PROTOCOL` | API protocol baked into the frontend bundle (see [Production](#production)) | `http` |
|
||||
| `VITE_API_HOSTNAME` | API hostname baked into the frontend bundle | `localhost` |
|
||||
| `VITE_API_PORT` | API port baked into the frontend bundle | `8000` |
|
||||
|
||||
## Production
|
||||
|
||||
@@ -114,7 +122,10 @@ src/ # React frontend (Vite)
|
||||
config/api.ts # API base URL, validation constants
|
||||
pages/ # Route-level components
|
||||
components/ # Shared UI components
|
||||
contexts/ # Auth, WebSocket, player, follows
|
||||
contexts/ # Auth, WebSocket, player, follows, theme
|
||||
hooks/ # Data fetching and UI hooks
|
||||
locales/ # Lingui message catalogues (en, fr)
|
||||
themes/ # Per-theme CSS files
|
||||
i18n.ts # Lingui runtime setup
|
||||
public/ # Static assets (favicon, icon sprite)
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user