···31313232- [Future work]: adjust timing of caching in feed, maybe use firehose and a sqlite database since we are only storing a few anyway
3333 - Goal: reduce pings to server when idling
3434+3535+- Non-authed home page feed shows different from what the firehose version shows (should be cached and show same db contents I think)
3636+3737+- After adding a bean via add brew, that bean does not show up in the drop down until after a refresh
+50
Dockerfile
···11+# Build stage
22+FROM golang:1.25-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 first for caching
1010+COPY go.mod go.sum ./
1111+RUN go mod download
1212+1313+# Copy source code
1414+COPY . .
1515+1616+# Build the binary
1717+RUN CGO_ENABLED=0 GOOS=linux go build -o arabica cmd/server/main.go
1818+1919+# Runtime stage
2020+FROM alpine:3.23
2121+2222+WORKDIR /app
2323+2424+# Install ca-certificates for HTTPS calls
2525+RUN apk add --no-cache ca-certificates
2626+2727+# Create non-root user
2828+RUN adduser -D -u 1000 arabica
2929+3030+# Create data directory
3131+RUN mkdir -p /data && chown arabica:arabica /data
3232+3333+# Copy binary from builder
3434+COPY --from=builder /app/arabica .
3535+3636+# Copy static assets and templates
3737+COPY --chown=arabica:arabica templates/ ./templates/
3838+COPY --chown=arabica:arabica web/static/ ./web/static/
3939+4040+# Switch to non-root user
4141+USER arabica
4242+4343+# Environment defaults
4444+ENV PORT=18910
4545+ENV ARABICA_DB_PATH=/data/arabica.db
4646+ENV LOG_FORMAT=json
4747+4848+EXPOSE 18910
4949+5050+CMD ["./arabica"]
+19
README.md
···22222323Access at http://localhost:18910
24242525+## Docker
2626+2727+```bash
2828+# Build and run with Docker Compose
2929+docker compose up -d
3030+3131+# Or build and run manually
3232+docker build -t arabica .
3333+docker run -p 18910:18910 -v arabica-data:/data arabica
3434+```
3535+3636+For production deployments, configure environment variables in `docker-compose.yml`:
3737+3838+```yaml
3939+environment:
4040+ - SERVER_PUBLIC_URL=https://arabica.example.com
4141+ - SECURE_COOKIES=true
4242+```
4343+2544## Configuration
26452746Environment variables: