tangled
alpha
login
or
join now
julien.rbrt.fr
/
bskyrss
1
fork
atom
Subscribe and post RSS feeds to Bluesky
rss
bluesky
1
fork
atom
overview
issues
pulls
pipelines
feat: add dockerfile
julien.rbrt.fr
2 months ago
831cae84
6e6c07f7
1/1
ci.yml
success
2mo ago
+22
-11
2 changed files
expand all
collapse all
unified
split
Dockerfile
readme.md
+11
Dockerfile
···
1
1
+
FROM golang:1.25-alpine AS builder
2
2
+
WORKDIR /build
3
3
+
COPY . .
4
4
+
RUN go build -o bksyrss -ldflags="-w -s" .
5
5
+
6
6
+
FROM alpine:latest
7
7
+
RUN apk --no-cache add ca-certificates
8
8
+
WORKDIR /app
9
9
+
COPY --from=builder /build/bksyrss .
10
10
+
VOLUME ["/data"]
11
11
+
ENTRYPOINT ["./bksyrss"]
+11
-11
readme.md
···
14
14
15
15
```bash
16
16
docker run -d \
17
17
-
--name bksy-rss-post \
17
17
+
--name bksyrss \
18
18
-v $(pwd)/data:/data \
19
19
-e BSKY_PASSWORD="your-app-password" \
20
20
-
bksy-rss-post \
20
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
31
-
./bksy-rss-post \
31
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
42
-
./bksy-rss-post \
42
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
52
-
./bksy-rss-post \
52
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
76
-
./bksy-rss-post \
76
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
84
-
./bksy-rss-post \
84
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
93
-
./bksy-rss-post \
93
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
102
-
./bksy-rss-post \
102
102
+
./bksyrss \
103
103
-feed "https://example.com/feed.xml" \
104
104
-handle "your-handle.bsky.social" \
105
105
-
-storage /var/lib/bksy-rss-post/posted.txt
105
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
123
-
./bksy-rss-post \
123
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"