···37373838Access at http://localhost:18910
39394040-## Docker
4141-4242-```bash
4343-# Build and run with Docker Compose
4444-docker compose up -d
4545-4646-# Or build and run manually
4747-docker build -t arabica .
4848-docker run -p 18910:18910 -v arabica-data:/data arabica
4949-```
5050-5151-For production deployments, configure environment variables in `docker-compose.yml`:
5252-5353-```yaml
5454-environment:
5555- - SERVER_PUBLIC_URL=https://arabica.example.com
5656- - SECURE_COOKIES=true
5757-```
5858-5940## Configuration
60416142### Command-Line Flags
···7556- `LOG_LEVEL` - Logging level: debug, info, warn, error (default: info)
7657- `LOG_FORMAT` - Log format: console, json (default: console)
77587878-## Architecture
7979-8080-Data is stored in AT Protocol records on users' Personal Data Servers. The application uses OAuth to authenticate with the PDS and performs all CRUD operations via the AT Protocol API.
8181-8282-Local BoltDB stores:
8383-8484-- OAuth session data
8585-- Feed registry (list of DIDs for community feed)
8686-8787-See docs/ for detailed documentation.
8888-8959## Development
6060+6161+With Nix:
90629163```bash
9264# Enter development environment
···10173# Build
10274go build -o arabica cmd/server/main.go
10375```
7676+7777+Without Nix, you'll need to have Go, Templ, and tailwindcss installed (just is optional but recommended).
7878+7979+```sh
8080+# Generate CSS files
8181+tailwindcss -i static/css/app.css -o static/css/output.css --minify
8282+# Compile Templ
8383+templ generate
8484+# Run the appview
8585+go run cmd/server/main.go
8686+8787+# with just
8888+just run
8989+```
9090+9191+---
1049210593## Deployment
10694
-1
justfile
···3344run:
55 @LOG_LEVEL=debug LOG_FORMAT=console ARABICA_MODERATORS_CONFIG=roles.json go run cmd/server/main.go -known-dids known-dids.txt
66- # @bash scripts/run.sh
7687templ-watch:
98 @templ generate --watch --proxy="http://localhost:18080" --cmd="go run ./cmd/server -known-dids known-dids.txt"