Some checks failed
lint / lint (push) Has been cancelled
test / unit (push) Has been cancelled
test / integration (push) Has been cancelled
lint / lint (pull_request) Has been cancelled
test / unit (pull_request) Has been cancelled
test / integration (pull_request) Has been cancelled
48 lines
1.3 KiB
Markdown
48 lines
1.3 KiB
Markdown
# Thoughts — Frontend
|
|
|
|
Next.js 15 (App Router) frontend for the [Thoughts](../) self-hosted microblogging server.
|
|
|
|
## Features
|
|
|
|
- Post thoughts, reply, boost, and like
|
|
- Home feed, public feed, per-user timelines
|
|
- Browse and follow remote Fediverse actors by `@user@instance` handle
|
|
- Full remote actor profiles — bio, banner, profile fields, posts tab, followers/following tabs
|
|
- Full-text search for local users and thoughts; remote actor lookup via WebFinger
|
|
- Notifications, API key management, profile editing
|
|
- Dark/light theme
|
|
|
|
## Setup
|
|
|
|
```bash
|
|
bun install
|
|
```
|
|
|
|
Copy `.env.local.example` to `.env.local` (or set the variables directly):
|
|
|
|
```env
|
|
NEXT_PUBLIC_API_URL=http://localhost:8000
|
|
NEXT_PUBLIC_SERVER_SIDE_API_URL=http://localhost:8000
|
|
```
|
|
|
|
`NEXT_PUBLIC_API_URL` is used by client-side fetches (runs in the browser).
|
|
`NEXT_PUBLIC_SERVER_SIDE_API_URL` is used by server-side fetches (runs in Next.js SSR — can point to an internal service URL in Docker).
|
|
|
|
## Run
|
|
|
|
```bash
|
|
bun run dev # development — http://localhost:3000
|
|
bun run build # production build
|
|
bun run start # serve production build
|
|
```
|
|
|
|
## Docker
|
|
|
|
```bash
|
|
docker build \
|
|
--build-arg NEXT_PUBLIC_API_URL=https://api.yourdomain.example.com \
|
|
--build-arg NEXT_PUBLIC_SERVER_SIDE_API_URL=http://thoughts:8000 \
|
|
-t thoughts-frontend .
|
|
docker run -p 3000:3000 thoughts-frontend
|
|
```
|