chore: update docker logic c4b2f85a
Steve · 2026-04-18 15:03 6 file(s) · +21 −11
apps/feeds/.env.example +1 −1
3 3
BASE_URL=http://localhost:3000
4 4
HOST=127.0.0.1
5 5
PORT=3000
6 -
DB_PATH=feeds.sqlite
6 +
FEEDS_DB_PATH=/data/feeds.sqlite
7 7
API_KEY=
8 8
DEFAULT_POLL_MINUTES=30
9 9
ITEM_CAP_PER_FEED=200
apps/feeds/Dockerfile +3 −1
36 36
37 37
FROM debian:bookworm-slim
38 38
RUN apt-get update && apt-get install -y ca-certificates && rm -rf /var/lib/apt/lists/*
39 -
WORKDIR /data
40 39
COPY --from=builder /app/target/release/feeds /usr/local/bin/feeds
40 +
WORKDIR /data
41 41
EXPOSE 3000
42 +
ENV HOST=0.0.0.0
43 +
ENV PORT=3000
42 44
CMD ["feeds"]
apps/feeds/README.md +2 −2
36 36
| `BASE_URL` | Public base URL of the app | `http://localhost:3000` |
37 37
| `HOST` | Bind address | `0.0.0.0` |
38 38
| `PORT` | Bind port | `3000` |
39 -
| `DB_PATH` | SQLite database path | `feeds.sqlite` |
39 +
| `FEEDS_DB_PATH` | SQLite database path | `/data/feeds.sqlite` |
40 40
| `DEFAULT_POLL_MINUTES` | Background poll interval in minutes (overridable from the admin panel) | `30` |
41 41
| `ITEM_CAP_PER_FEED` | Maximum stored items per subscription; older items pruned | `200` |
42 42
| `COOKIE_SECURE` | Enable HTTPS-only cookies | `false` |
146 146
docker compose up -d
147 147
```
148 148
149 -
Mount a volume at `DB_PATH` to persist the SQLite database.
149 +
Mount a volume at `FEEDS_DB_PATH` to persist the SQLite database.
150 150
151 151
### Binary
152 152
apps/feeds/docker-compose.yml +12 −6
1 1
services:
2 -
  feeds:
2 +
  app:
3 3
    build:
4 4
      context: ../..
5 5
      dockerfile: apps/feeds/Dockerfile
6 6
    ports:
7 -
      - "3000:3000"
7 +
      - "${PORT:-3000}:${PORT:-3000}"
8 +
    environment:
9 +
      - ADMIN_PASSWORD=${ADMIN_PASSWORD:-changeme}
10 +
      - API_KEY=${API_KEY:-}
11 +
      - FEEDS_DB_PATH=/data/feeds.sqlite
12 +
      - BASE_URL=${BASE_URL:-http://localhost:3000}
13 +
      - COOKIE_SECURE=false
14 +
      - HOST=0.0.0.0
15 +
      - PORT=${PORT:-3000}
8 16
    volumes:
9 -
      - feeds_data:/app/data
10 -
    env_file:
11 -
      - .env
17 +
      - feeds-data:/data
12 18
    restart: unless-stopped
13 19
14 20
volumes:
15 -
  feeds_data:
21 +
  feeds-data:
apps/feeds/src/main.rs +2 −1
558 558
        )
559 559
        .init();
560 560
561 -
    let db_path = std::env::var("DB_PATH").unwrap_or_else(|_| "feeds.sqlite".to_string());
561 +
    let db_path =
562 +
        std::env::var("FEEDS_DB_PATH").unwrap_or_else(|_| "/data/feeds.sqlite".to_string());
562 563
    let conn = Connection::open(&db_path).expect("open sqlite");
563 564
    conn.execute_batch(SESSION_SCHEMA).expect("session schema");
564 565
    conn.execute_batch(fdb::FEEDS_SCHEMA).expect("feeds schema");
apps/sipp/docker-compose.yml +1 −0
8 8
    environment:
9 9
      - SIPP_API_KEY=${SIPP_API_KEY:-changeme}
10 10
      - SIPP_AUTH_ENDPOINTS=api_delete,api_list
11 +
      - SIPP_DB_PATH=/data/sipp.sqlite
11 12
    volumes:
12 13
      - sipp-data:/data
13 14
    restart: unless-stopped