+11
Dockerfile
+11
Dockerfile
···
1
+
FROM golang:1.25-alpine AS builder
2
+
WORKDIR /build
3
+
COPY . .
4
+
RUN go build -o bksyrss -ldflags="-w -s" .
5
+
6
+
FROM alpine:latest
7
+
RUN apk --no-cache add ca-certificates
8
+
WORKDIR /app
9
+
COPY --from=builder /build/bksyrss .
10
+
VOLUME ["/data"]
11
+
ENTRYPOINT ["./bksyrss"]
+11
-11
readme.md
+11
-11
readme.md
···
14
14
15
15
```bash
16
16
docker run -d \
17
-
--name bksy-rss-post \
17
+
--name bksyrss \
18
18
-v $(pwd)/data:/data \
19
19
-e BSKY_PASSWORD="your-app-password" \
20
-
bksy-rss-post \
20
+
bksyrss \
21
21
-feed "https://example.com/feed.xml" \
22
22
-handle "your-handle.bsky.social" \
23
23
-storage /data/posted_items.txt
···
28
28
### Basic Usage
29
29
30
30
```bash
31
-
./bksy-rss-post \
31
+
./bksyrss \
32
32
-feed "https://example.com/feed.xml" \
33
33
-handle "your-handle.bsky.social" \
34
34
-password "your-app-password"
···
39
39
Monitor multiple feeds by separating URLs with commas:
40
40
41
41
```bash
42
-
./bksy-rss-post \
42
+
./bksyrss \
43
43
-feed "https://blog1.com/feed.xml,https://blog2.com/rss,https://news.com/atom.xml" \
44
44
-handle "your-handle.bsky.social" \
45
45
-password "your-app-password"
···
49
49
50
50
```bash
51
51
export BSKY_PASSWORD="your-app-password"
52
-
./bksy-rss-post \
52
+
./bksyrss \
53
53
-feed "https://example.com/feed.xml" \
54
54
-handle "your-handle.bsky.social"
55
55
```
···
73
73
#### Monitor multiple feeds
74
74
75
75
```bash
76
-
./bksy-rss-post \
76
+
./bksyrss \
77
77
-feed "https://blog.com/rss,https://news.com/atom.xml,https://podcast.com/feed" \
78
78
-handle "your-handle.bsky.social"
79
79
```
···
81
81
#### Check feeds every 5 minutes
82
82
83
83
```bash
84
-
./bksy-rss-post \
84
+
./bksyrss \
85
85
-feed "https://example.com/feed.xml" \
86
86
-handle "your-handle.bsky.social" \
87
87
-interval 5m
···
90
90
#### Test without posting (dry-run mode)
91
91
92
92
```bash
93
-
./bksy-rss-post \
93
+
./bksyrss \
94
94
-feed "https://example.com/feed.xml" \
95
95
-handle "your-handle.bsky.social" \
96
96
-dry-run
···
99
99
#### Use custom storage file
100
100
101
101
```bash
102
-
./bksy-rss-post \
102
+
./bksyrss \
103
103
-feed "https://example.com/feed.xml" \
104
104
-handle "your-handle.bsky.social" \
105
-
-storage /var/lib/bksy-rss-post/posted.txt
105
+
-storage /var/lib/bksyrss/posted.txt
106
106
```
107
107
108
108
## Bluesky Authentication
···
120
120
If you're using a self-hosted Personal Data Server:
121
121
122
122
```bash
123
-
./bksy-rss-post \
123
+
./bksyrss \
124
124
-feed "https://example.com/feed.xml" \
125
125
-handle "your-handle.your-pds.com" \
126
126
-pds "https://your-pds.com"