···11+# Your Bluesky credentials (required)
22+BSKY_HANDLE=your-handle.bsky.social
33+BSKY_PASSWORD=your-app-password
+32
Dockerfile
···11+# Build stage
22+FROM golang:1.21-alpine AS builder
33+44+WORKDIR /app
55+66+# Install build dependencies
77+RUN apk add --no-cache git
88+99+# Copy go mod files
1010+COPY go.mod go.sum ./
1111+RUN go mod download
1212+1313+# Copy source code
1414+COPY *.go ./
1515+1616+# Build the application
1717+RUN CGO_ENABLED=0 GOOS=linux go build -o konbini .
1818+1919+# Runtime stage
2020+FROM alpine:latest
2121+2222+RUN apk --no-cache add ca-certificates
2323+2424+WORKDIR /root/
2525+2626+# Copy the binary from builder
2727+COPY --from=builder /app/konbini .
2828+2929+# Expose the API port
3030+EXPOSE 4444
3131+3232+CMD ["./konbini"]
+43-1
README.md
···1212- Docker (optional, for easy PostgreSQL setup)
1313- Bluesky account credentials
14141515-## Setup
1515+## Quick Start with Docker Compose
1616+1717+The easiest way to run Konbini is with Docker Compose, which will start PostgreSQL, the backend, and frontend all together.
1818+1919+### Prerequisites
2020+2121+- Docker and Docker Compose installed
2222+- Your Bluesky DID (find it at https://bsky.app/settings/account)
2323+2424+### Setup
2525+2626+1. Create a `.env` file with your credentials:
2727+2828+```bash
2929+cp .env.example .env
3030+# Edit .env and add:
3131+# - BSKY_HANDLE=your-handle.bsky.social
3232+# - BSKY_PASSWORD=your-app-password
3333+```
3434+3535+2. Start all services:
3636+3737+```bash
3838+docker-compose up -d
3939+```
4040+4141+3. Wait for the backend to index posts from the firehose (this may take a few minutes for initial indexing)
4242+4343+4. Open your browser to http://localhost:3000
4444+4545+### Stopping the services
4646+4747+```bash
4848+docker-compose down
4949+```
5050+5151+To also remove the database volume:
5252+5353+```bash
5454+docker-compose down -v
5555+```
5656+5757+## Manual Setup
16581759### 1. PostgreSQL Database Setup
1860