Add readmeUnverified
4517fb2 parent: c812fa6 modified
readme.md +64 -2 | @@ -1,3 +1,65 @@ | ||
| 1 | -# Glean.at | |
| 1 | +# Glean | |
| 2 | 2 | |
| 3 | -[See live](https://glean.at) | |
| 3 | +A social RSS reader built on the AT Protocol. Sign in with your Bluesky/Atmosphere account, subscribe to feeds, and discover what like-minded readers are into. | |
| 4 | + | |
| 5 | +**Try it at [glean.at](https://glean.at).** | |
| 6 | + | |
| 7 | +Your subscriptions live as records on your PDS. You own them. If Glean goes away, your data doesn't. | |
| 8 | + | |
| 9 | +## What you get | |
| 10 | + | |
| 11 | +- RSS, Atom, and JSON Feed support with a keyboard-driven reading interface | |
| 12 | +- Highlights, notes, tags, and ratings on articles | |
| 13 | +- A trending page showing what's popular across all users | |
| 14 | +- Feed and people recommendations based on reading overlap | |
| 15 | +- OPML import and export | |
| 16 | +- Sign in with Bluesky / Atmosphere account — no new account needed | |
| 17 | + | |
| 18 | +## Self-hosting | |
| 19 | + | |
| 20 | +### Docker | |
| 21 | + | |
| 22 | +```bash | |
| 23 | +docker run -p 8080:8080 -v glean-data:/data atcr.io/julien.rbrt.fr/glean:latest | |
| 24 | +``` | |
| 25 | + | |
| 26 | +### From source | |
| 27 | + | |
| 28 | +```bash | |
| 29 | +git clone https://github.com/anomalyco/glean.git | |
| 30 | +cd glean | |
| 31 | +make build | |
| 32 | +./glean | |
| 33 | +``` | |
| 34 | + | |
| 35 | +Then open `http://localhost:8080`. | |
| 36 | + | |
| 37 | +## Configuration | |
| 38 | + | |
| 39 | +| Variable | Default | What it does | | |
| 40 | +| -------------------------- | -------------------- | --------------------------------------------------------- | | |
| 41 | +| `GLEAN_ADDR` | `:8080` | Listen address | | |
| 42 | +| `GLEAN_DB` | `glean.db` | SQLite database path | | |
| 43 | +| `GLEAN_RELAY` | `wss://bsky.network` | AT Relay WebSocket URL | | |
| 44 | +| `GLEAN_OAUTH_CLIENT_ID` | _(empty)_ | OAuth client metadata URL (leave empty for localhost dev) | | |
| 45 | +| `GLEAN_OAUTH_REDIRECT_URL` | _(empty)_ | OAuth redirect URL (leave empty for localhost dev) | | |
| 46 | + | |
| 47 | +For production: | |
| 48 | + | |
| 49 | +```bash | |
| 50 | +export GLEAN_OAUTH_CLIENT_ID=https://yourdomain.com/oauth/client-metadata | |
| 51 | +export GLEAN_OAUTH_REDIRECT_URL=https://yourdomain.com/auth/callback | |
| 52 | +``` | |
| 53 | + | |
| 54 | +## Documentation | |
| 55 | + | |
| 56 | +- [Technical specification](docs/specs.md) — architecture, database schema, AT Protocol lexicons, API endpoints, recommendations | |
| 57 | +- [Design system](docs/design.md) | |
| 58 | + | |
| 59 | +## Stack | |
| 60 | + | |
| 61 | +Go, SQLite, htmx, TailwindCSS, AT Protocol OAuth. | |
| 62 | + | |
| 63 | +## License | |
| 64 | + | |
| 65 | +[MIT](license) | |
| @@ -1,3 +1,65 @@ | |||
| 1 | -# Glean.at | 1 | +# Glean |
| 2 | 2 | ||
| 3 | -[See live](https://glean.at) | 3 | +A social RSS reader built on the AT Protocol. Sign in with your Bluesky/Atmosphere account, subscribe to feeds, and discover what like-minded readers are into. |
| 4 | + | ||
| 5 | +**Try it at [glean.at](https://glean.at).** | ||
| 6 | + | ||
| 7 | +Your subscriptions live as records on your PDS. You own them. If Glean goes away, your data doesn't. | ||
| 8 | + | ||
| 9 | +## What you get | ||
| 10 | + | ||
| 11 | +- RSS, Atom, and JSON Feed support with a keyboard-driven reading interface | ||
| 12 | +- Highlights, notes, tags, and ratings on articles | ||
| 13 | +- A trending page showing what's popular across all users | ||
| 14 | +- Feed and people recommendations based on reading overlap | ||
| 15 | +- OPML import and export | ||
| 16 | +- Sign in with Bluesky / Atmosphere account — no new account needed | ||
| 17 | + | ||
| 18 | +## Self-hosting | ||
| 19 | + | ||
| 20 | +### Docker | ||
| 21 | + | ||
| 22 | +```bash | ||
| 23 | +docker run -p 8080:8080 -v glean-data:/data atcr.io/julien.rbrt.fr/glean:latest | ||
| 24 | +``` | ||
| 25 | + | ||
| 26 | +### From source | ||
| 27 | + | ||
| 28 | +```bash | ||
| 29 | +git clone https://github.com/anomalyco/glean.git | ||
| 30 | +cd glean | ||
| 31 | +make build | ||
| 32 | +./glean | ||
| 33 | +``` | ||
| 34 | + | ||
| 35 | +Then open `http://localhost:8080`. | ||
| 36 | + | ||
| 37 | +## Configuration | ||
| 38 | + | ||
| 39 | +| Variable | Default | What it does | | ||
| 40 | +| -------------------------- | -------------------- | --------------------------------------------------------- | | ||
| 41 | +| `GLEAN_ADDR` | `:8080` | Listen address | | ||
| 42 | +| `GLEAN_DB` | `glean.db` | SQLite database path | | ||
| 43 | +| `GLEAN_RELAY` | `wss://bsky.network` | AT Relay WebSocket URL | | ||
| 44 | +| `GLEAN_OAUTH_CLIENT_ID` | _(empty)_ | OAuth client metadata URL (leave empty for localhost dev) | | ||
| 45 | +| `GLEAN_OAUTH_REDIRECT_URL` | _(empty)_ | OAuth redirect URL (leave empty for localhost dev) | | ||
| 46 | + | ||
| 47 | +For production: | ||
| 48 | + | ||
| 49 | +```bash | ||
| 50 | +export GLEAN_OAUTH_CLIENT_ID=https://yourdomain.com/oauth/client-metadata | ||
| 51 | +export GLEAN_OAUTH_REDIRECT_URL=https://yourdomain.com/auth/callback | ||
| 52 | +``` | ||
| 53 | + | ||
| 54 | +## Documentation | ||
| 55 | + | ||
| 56 | +- [Technical specification](docs/specs.md) — architecture, database schema, AT Protocol lexicons, API endpoints, recommendations | ||
| 57 | +- [Design system](docs/design.md) | ||
| 58 | + | ||
| 59 | +## Stack | ||
| 60 | + | ||
| 61 | +Go, SQLite, htmx, TailwindCSS, AT Protocol OAuth. | ||
| 62 | + | ||
| 63 | +## License | ||
| 64 | + | ||
| 65 | +[MIT](license) | ||