summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitignore7
-rw-r--r--PKGBUILD55
-rw-r--r--config.yaml28
-rw-r--r--walrss.conf2
-rw-r--r--walrss.service32
-rw-r--r--walrss.sysusers1
6 files changed, 125 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..d4c4a60
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,7 @@
+*
+!.gitignore
+!PKGBUILD
+!config.yaml
+!walrss.sysusers
+!walrss.service
+!walrss.conf \ No newline at end of file
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 0000000..4cbb368
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,55 @@
+# Maintainer: Leonardo Bishop <me@leonardobishop.net>
+_pkgname=walrss
+pkgname="${_pkgname}-fork-git"
+pkgdesc="Email-based RSS digest generator"
+pkgver=0.4.4.r4.g399a3ef
+pkgrel=2
+makedepends=('go' 'make' 'git')
+arch=('x86_64')
+url="https://github.com/codemicro/walrss"
+license=('AGPL-3.0-only')
+conflicts=("${_pkgname}")
+provides=("${_pkgname}=${pkgver}")
+source=(walrss-fork::git+https://git.leonardobishop.net/fork/walrss/
+ walrss.service
+ walrss.sysusers
+ walrss.conf
+ config.yaml)
+sha256sums=('SKIP'
+ '8b87e2f23d06e0a81fb747dccbd5d11b971ac298803d3aadfdf2623b4efc269e'
+ '662f0df2e8025034d395e15726883bb009af89ec02aa3a198fd40d792a5c4ace'
+ 'd3fdc459dd3c712da5ec62213ef15d8d5d7ad2335bffbb277fc8eac66fd2cd79'
+ '3b52207caf19f9ecd395bdb86ff976cef8d1193c105512b39145b3da77e449a8')
+backup=(etc/walrss/config.yaml
+ etc/conf.d/walrss)
+
+
+pkgver() {
+ cd "walrss-fork"
+ git describe --long --tags --abbrev=7 | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g'
+}
+
+prepare() {
+ export GOPATH="$srcdir/build"
+
+ cd "walrss-fork"
+ go mod download
+ go install github.com/valyala/quicktemplate/qtc@latest
+}
+
+build() {
+ export GOPATH="$srcdir/build"
+ export PATH="$PATH:$srcdir/build/bin"
+
+ cd "walrss-fork"
+ make
+}
+
+package() {
+ install -Dm755 "$srcdir/walrss-fork/bin/walrss" "$pkgdir/usr/bin/walrss"
+ install -Dm644 "$srcdir/walrss.service" "$pkgdir/usr/lib/systemd/system/walrss.service"
+ install -Dm644 "$srcdir/walrss.sysusers" "$pkgdir/usr/lib/sysusers.d/walrss.conf"
+ install -Dm644 "$srcdir/walrss.conf" "$pkgdir/etc/conf.d/walrss"
+ install -Dm755 -d "${pkgdir}/etc/walrss"
+ install -Dm644 "$srcdir/config.yaml" "$pkgdir/etc/walrss/config.yaml"
+}
diff --git a/config.yaml b/config.yaml
new file mode 100644
index 0000000..138a535
--- /dev/null
+++ b/config.yaml
@@ -0,0 +1,28 @@
+server:
+ host: 127.0.0.1
+ port: 8080
+ # externalURL is the URL that your instance of Walrss is accessible at
+ # This is a required field
+ externalURL: "http://127.0.0.1:8080"
+email:
+ # These are required fields
+ host: "smtp.sendgrid.net"
+ port: 587
+ from: "Walrss <walrss@yourdomain.com>"
+ # These fields are not required
+ tls: "" # valid values are: starttls, tls, no - default: starttls
+ password: "yourapikey"
+ username: "apikey"
+platform:
+ disableRegistration: false
+ disableSecureCookies: false
+ disableBasicAuth: false
+ contactInformation: "https://example.com" # optional. will be included in the user agent if set.
+oidc:
+ enable: false
+ clientID: "yourclientid"
+ clientSecret: "yourclientsecret"
+ issuer: "https://sso.example.com/"
+ loginFilter: ""
+ loginFilterAllowedValues: []
+
diff --git a/walrss.conf b/walrss.conf
new file mode 100644
index 0000000..63fb5d3
--- /dev/null
+++ b/walrss.conf
@@ -0,0 +1,2 @@
+WALRSS_DIR="/var/lib/walrss"
+WALRSS_CONFIG_DIR="/etc/walrss"
diff --git a/walrss.service b/walrss.service
new file mode 100644
index 0000000..ae8f2d9
--- /dev/null
+++ b/walrss.service
@@ -0,0 +1,32 @@
+[Unit]
+Description=Email-based RSS digest generator
+
+[Service]
+User=walrss
+Restart=always
+ExecStart=/usr/bin/walrss
+StateDirectory=walrss
+EnvironmentFile=/etc/conf.d/walrss
+
+CapabilityBoundingSet=CAP_NET_BIND_SERVICE
+AmbientCapabilities=CAP_NET_BIND_SERVICE
+NoNewPrivileges=true
+SystemCallFilter=@system-service
+SystemCallErrorNumber=EPERM
+
+ProtectSystem=strict
+ProtectHome=true
+PrivateTmp=true
+PrivateDevices=true
+ExecPaths=/usr/bin/walrss
+
+ProtectKernelTunables=true
+ProtectKernelModules=true
+ProtectKernelLogs=true
+ProtectControlGroups=true
+ProtectClock=true
+RestrictRealtime=true
+RestrictSUIDSGID=true
+
+[Install]
+WantedBy=multi-user.target
diff --git a/walrss.sysusers b/walrss.sysusers
new file mode 100644
index 0000000..03c2112
--- /dev/null
+++ b/walrss.sysusers
@@ -0,0 +1 @@
+u walrss - "Email-based RSS digest generator" /var/lib/walrss