| Adding sfeed container. - selfhost - Incus configurations for my self-hosted se… | |
| Log | |
| Files | |
| Refs | |
| README | |
| --- | |
| commit 62b0fa7fad89fc5b453edcfb915fd8222b74bc86 | |
| parent 7f29fb96e0c3f9a9195a0475c71c7a5476c09cbd | |
| Author: Jay Scott <[email protected]> | |
| Date: Thu, 20 Jun 2024 16:59:09 +0100 | |
| Adding sfeed container. | |
| Diffstat: | |
| A feeds/feeds.yaml | 32 +++++++++++++++++++++++++++++… | |
| A feeds/files/fetch.sh | 5 +++++ | |
| A feeds/files/lighttpd.conf | 29 +++++++++++++++++++++++++++++ | |
| A feeds/files/style.css | 68 +++++++++++++++++++++++++++++… | |
| A feeds/init.sh | 13 +++++++++++++ | |
| 5 files changed, 147 insertions(+), 0 deletions(-) | |
| --- | |
| diff --git a/feeds/feeds.yaml b/feeds/feeds.yaml | |
| @@ -0,0 +1,32 @@ | |
| +devices: | |
| + feeds: | |
| + path: /root/.sfeed | |
| + source: /srv/services/feeds | |
| + type: disk | |
| + shift: true | |
| + certs: | |
| + path: /etc/lighttpd/certs | |
| + source: /srv/certs | |
| + type: disk | |
| + shift: true | |
| + | |
| +config: | |
| + cloud-init.network-config: | | |
| + version: 2 | |
| + ethernets: | |
| + eth0: | |
| + addresses: | |
| + - 192.168.2.16/24 | |
| + gateway4: 192.168.2.1 | |
| + cloud-init.user-data: | | |
| + #cloud-config | |
| + package_upgrade: true | |
| + hostname: feeds.jay.scot | |
| + timezone: Europe/London | |
| + manage_resolv_conf: true | |
| + resolv_conf: | |
| + nameservers: ['192.168.2.10', '1.1.1.1'] | |
| + packages: | |
| + - lighttpd | |
| + - sfeed | |
| + - curl | |
| diff --git a/feeds/files/fetch.sh b/feeds/files/fetch.sh | |
| @@ -0,0 +1,5 @@ | |
| +#!/bin/sh | |
| + | |
| +sfeed_update | |
| +sfeed_html /root/.sfeed/feeds/* > /srv/index.html | |
| +cp /root/.sfeed/style.css /srv/ | |
| diff --git a/feeds/files/lighttpd.conf b/feeds/files/lighttpd.conf | |
| @@ -0,0 +1,29 @@ | |
| +var.basedir = "/var/www/localhost" | |
| +var.logdir = "/var/log/lighttpd" | |
| +var.statedir = "/var/lib/lighttpd" | |
| + | |
| +include "mime-types.conf" | |
| +server.username = "lighttpd" | |
| +server.groupname = "lighttpd" | |
| +server.document-root = var.basedir + "/htdocs" | |
| +server.pid-file = "/run/lighttpd.pid" | |
| +server.errorlog = var.logdir + "/error.log" | |
| +index-file.names = ("index.html") | |
| + | |
| +server.modules += ( "mod_redirect", "mod_openssl") | |
| + | |
| +$SERVER["socket"] == ":443" { | |
| + ssl.engine = "enable" | |
| + ssl.pemfile = "/etc/lighttpd/certs/jay.scot.cer" | |
| + ssl.privkey = "/etc/lighttpd/certs/jay.scot.key" | |
| + ssl.openssl.ssl-conf-cmd = ("MinProtocol" => "TLSv1.3", "Options" => "-Ser… | |
| + | |
| + server.name = "feeds.jay.scot" | |
| + server.document-root = "/srv/" | |
| +} | |
| + | |
| +$HTTP["scheme"] == "http" { | |
| + $HTTP["host"] =~ ".*" { | |
| + url.redirect = (".*" => "https://%0$0") | |
| + } | |
| +} | |
| diff --git a/feeds/files/style.css b/feeds/files/style.css | |
| @@ -0,0 +1,68 @@ | |
| +body { | |
| + background-color: #fff; | |
| + color: #333; | |
| + font-family: monospace; | |
| + font-size: 11pt; | |
| + margin: 0; | |
| + overflow: hidden; | |
| + padding: 0; | |
| +} | |
| +h2 { | |
| + font-size: 14pt; | |
| + margin: 0.5em 0; | |
| +} | |
| +#sidebar ul, #sidebar ul li { | |
| + list-style: none; | |
| + margin: 0; | |
| + padding: 0; | |
| + font-size: 9pt; | |
| +} | |
| +#sidebar { | |
| + background-color: inherit; | |
| +} | |
| +#sidebar a { | |
| + padding: 5px 3px 5px 10px; | |
| + display: block; | |
| + text-decoration: none; | |
| +} | |
| +a { | |
| + text-decoration: none; | |
| +} | |
| +a:hover { | |
| + background-color: grey; | |
| + color: black | |
| +} | |
| + | |
| +#sidebar a, #items h2 a { | |
| + color: inherit; | |
| +} | |
| +div#items { | |
| + padding: 0 15px; | |
| +} | |
| +body.noframe div#sidebar { | |
| + height: 100%; | |
| + left: 0; | |
| + overflow: auto; | |
| + position: fixed; | |
| + top: 0; | |
| + width: 250px; | |
| + z-index: 999; | |
| +} | |
| +body.noframe div#items { | |
| + height: 100%; | |
| + left: 250px; | |
| + overflow: auto; | |
| + position: absolute; | |
| + right: 0; | |
| + top: 0; | |
| +} | |
| +body.noframe div#items.nosidebar { | |
| + left: 0px; | |
| +} | |
| +body.frame { | |
| + overflow: auto; | |
| +} | |
| +body.frame #sidebar br { | |
| + display: none; | |
| +} | |
| + | |
| diff --git a/feeds/init.sh b/feeds/init.sh | |
| @@ -0,0 +1,13 @@ | |
| +#!/bin/sh | |
| + | |
| +HOST=feeds | |
| + | |
| +incus stop $HOST | |
| +incus delete $HOST | |
| +incus launch images:alpine/3.20/cloud $HOST < $HOST.yaml | |
| + | |
| +incus file push ./files/lighttpd.conf $HOST/etc/lighttpd/ -pv --mode 644 | |
| +incus file push ./files/fetch.sh $HOST/etc/periodic/hourly/ -pv --mode 755 | |
| +incus exec $HOST -- cloud-init status --wait | |
| +incus exec $HOST -- rc-service lighttpd start | |
| + |