diff options
| author | Leonardo Bishop <me@leonardobishop.net> | 2025-08-09 18:45:05 +0100 |
|---|---|---|
| committer | Leonardo Bishop <me@leonardobishop.net> | 2025-08-09 18:45:05 +0100 |
| commit | 4a2211fb3e96255124c6cb4f7e1d29b00132ce1a (patch) | |
| tree | a9aa2a507f3f0712357dfa497613c8fce6a2877c | |
| -rw-r--r-- | .gitignore | 7 | ||||
| -rw-r--r-- | PKGBUILD | 55 | ||||
| -rw-r--r-- | config.yaml | 28 | ||||
| -rw-r--r-- | walrss.conf | 2 | ||||
| -rw-r--r-- | walrss.service | 32 | ||||
| -rw-r--r-- | walrss.sysusers | 1 |
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 |
