RSS-Bridge#
Docker#
See also
follow the Docker instructions
create the jobs directories
mkdir -p /home/jobs/scripts/by-user/root/docker/rssbridge cd /home/jobs/scripts/by-user/root/docker/rssbridge
create the whitelist file and enable the modules you want to use. If you use the asterisk character (
*
) all modules will be enabledmkdir config echo '*' > config/whilelist.txt
create a
Docker compose file
1version: '2.4' 2 3services: 4 rssbridge: 5 image: rssbridge/rss-bridge:latest 6 restart: always 7 ports: 8 - 127.0.0.1:4008:80 9 networks: 10 - mynetwork 11 volumes: 12 - ./config/whitelist.txt:/app/whitelist.txt
create a
Systemd unit file
. See also the Docker compose services section1[Unit] 2Requires=docker.service 3Requires=network-online.target 4After=docker.service 5After=network-online.target 6 7## Run 8## docker-compose up --detach --force-recreate 9## to reload configuration. 10 11[Service] 12# https://community.hetzner.com/tutorials/docker-compose-as-systemd-service 13Type=simple 14WorkingDirectory=/home/jobs/scripts/by-user/root/docker/rssbridge 15 16ExecStart=/usr/bin/docker-compose up --remove-orphans 17ExecStop=/usr/bin/docker-compose down --remove-orphans 18 19Restart=always 20 21[Install] 22WantedBy=multi-user.target
fix the permissions
chmod 700 /home/jobs/scripts/by-user/root/docker/rssbridge chmod 700 -R /home/jobs/services/by-user/root
run the deploy script
serve the files via HTTP by creating a new
Apache virtual host
. ReplaceFQDN
with the appropriate domain and include this file from the Apache configuration1<IfModule mod_ssl.c> 2<VirtualHost *:80> 3 ServerName ${FQDN} 4 5 # Force https. 6 UseCanonicalName on 7 RewriteEngine on 8 RewriteCond %{SERVER_NAME} =${FQDN} 9 10 # Ignore rewrite rules for 127.0.0.1 11 RewriteCond %{HTTP_HOST} !=127.0.0.1 12 RewriteCond %{REMOTE_ADDR} !=127.0.0.1 13 14 RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent] 15</VirtualHost> 16</IfModule> 17 18############## 19# rss-bridge # 20############## 21<IfModule mod_ssl.c> 22<VirtualHost *:443> 23 UseCanonicalName on 24 25 Keepalive On 26 RewriteEngine on 27 28 ServerName ${FQDN} 29 30 SSLCompression off 31 32 RequestHeader set X-Forwarded-Proto "https" 33 RequestHeader set X-Forwarded-Port "443" 34 RequestHeader set X-Forwarded-Host "${FQDN}" 35 36 # You can restrict access to RSS-Bridge to LAN 37 # or Docker containers only by adding this. 38 <Proxy *> 39 # Localhost. 40 Require ip 127.0.0.1 41 42 # LAN. 43 Require ip 192.168.0. 44 45 # Docker containers. 46 Require ip 172.16. 47 </Proxy> 48 49 ProxyPass / http://127.0.0.1:4008/ 50 ProxyPassReverse / http://127.0.0.1:4008/ 51 52 Include /etc/letsencrypt/options-ssl-apache.conf 53 SSLCertificateFile /etc/letsencrypt/live/${FQDN}/fullchain.pem 54 SSLCertificateKeyFile /etc/letsencrypt/live/${FQDN}/privkey.pem 55</VirtualHost> 56</IfModule>
restart Apache
systemctl restart apache2.service
Bare metal#
install the dependencies
apt-get install rss-bridge php7.4-fpm
create the whitelist file and enable the modules you want to use. If you use the asterisk character (
*
) all modules will be enabledecho '*' > /usr/share/rss-bridge/whitelist.txt
start and enable the php-fpm service
systemctl enable --now php7.4-fpm.service
enable the php7.4-fpm module for Apache
a2enmod php7.4
serve the files via HTTP by creating a new
Apache virtual host
. ReplaceFQDN
with the appropriate domain and include this file from the Apache configuration1############## 2# rss-bridge # 3############## 4<VirtualHost *:80> 5 ServerName ${FQDN} 6 7 # Force https. 8 UseCanonicalName on 9 RewriteEngine on 10 RewriteCond %{SERVER_NAME} =${FQDN} 11 12 # Ignore rewrite rules for 127.0.0.1 13 RewriteCond %{HTTP_HOST} !=127.0.0.1 14 RewriteCond %{REMOTE_ADDR} !=127.0.0.1 15 16 RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent] 17</VirtualHost> 18</IfModule> 19 20<IfModule mod_ssl.c> 21<VirtualHost *:443> 22 UseCanonicalName on 23 24 Keepalive On 25 RewriteEngine on 26 27 ServerName ${FQDN} 28 29 SSLCompression off 30 31 Include conf-enabled/php7.4-fpm.conf 32 33 DocumentRoot "/usr/share/rss-bridge" 34 <Directory "/usr/share/rss-bridge"> 35 AllowOverride All 36 Options FollowSymlinks 37 Require all granted 38 39 # You can restrict access to RSS-Bridge to LAN 40 # or Docker containers only by adding this. 41 42 # Localhost. 43 Require ip 127.0.0.1 44 45 # LAN. 46 Require ip 192.168.0. 47 48 # Docker containers. 49 Require ip 172.16. 50 </Directory> 51 52 Include /etc/letsencrypt/options-ssl-apache.conf 53 SSLCertificateFile /etc/letsencrypt/live/${FQDN}/fullchain.pem 54 SSLCertificateKeyFile /etc/letsencrypt/live/${FQDN}/privkey.pem 55</VirtualHost> 56</IfModule>
restart Apache
systemctl restart apache2.service
Footnotes