Added CT: freshrss
This commit is contained in:
2
.vscode/tasks.json
vendored
2
.vscode/tasks.json
vendored
@@ -7,7 +7,7 @@
|
||||
// When ran in a Proxmox CT, expose a folder mountpoint and symlink to it MOUNTPOINT/build/template/cache and tell Proxmox this use this folder for LXC images
|
||||
"label": "BuildIMG",
|
||||
"type": "shell",
|
||||
"command": " export XZ_DEFAULTS='-T 0'; sudo ./distrobuilder build-lxc CT-Build/${input:Distro}.yaml -o image.variant=${input:BuildVariant} ;sudo chown $SUDO_USER:$SUDO_USER -R *.tar.xz ;rm -f meta.tar.xz; mv rootfs.tar.xz bin/${input:Distro}-${input:BuildVariant}.tar.xz",
|
||||
"command": " export XZ_DEFAULTS='-T 0'; sudo ./distrobuilder build-lxc CT-Build/${input:Distro}.yaml -o image.variant=${input:BuildVariant} ;sudo chown $SUDO_USER:$SUDO_USER -R *.tar.xz ;rm -f meta.tar.xz; mv -f rootfs.tar.xz bin/${input:Distro}-${input:BuildVariant}.tar.xz",
|
||||
"problemMatcher": [],
|
||||
"group": {
|
||||
"kind": "build",
|
||||
|
||||
@@ -7,7 +7,7 @@ pipeline {
|
||||
string defaultValue: '192.168.200.11', description: 'Proxy server for packages, when enabled', name: 'ProxyServer'
|
||||
booleanParam description: 'will disable use of proxy server', name: 'DisProxy'
|
||||
checkboxParameter(name: 'ImgVariantList', format: 'JSON', displayNodePath: "//Variants/Variant", valueNodePath: "//Variants/Variant", description: 'Select the variant(s) that should be build',
|
||||
pipelineSubmitContent: '{"Variants": [{"Variant": "minimal"},{"Variant": "default"},{"Variant": "gitea"},{"Variant": "nginx"},{"Variant": "ddns"},{"Variant": "transfersh"},{"Variant": "iscsi"},{"Variant": "z2mqtt"},{"Variant": "nodered"},{"Variant": "nodejs"},{"Variant": "nextcloud"},{"Variant": "mqtt"},{"Variant": "hass"},{"Variant": "mailbackup"},{"Variant": "elkarbackupALP"},{"Variant": "heimdall"},{"Variant": "vouchproxy"}]}')
|
||||
pipelineSubmitContent: '{"Variants": [{"Variant": "minimal"},{"Variant": "default"},{"Variant": "gitea"},{"Variant": "nginx"},{"Variant": "ddns"},{"Variant": "transfersh"},{"Variant": "iscsi"},{"Variant": "z2mqtt"},{"Variant": "nodered"},{"Variant": "nodejs"},{"Variant": "nextcloud"},{"Variant": "mqtt"},{"Variant": "hass"},{"Variant": "mailbackup"},{"Variant": "elkarbackupALP"},{"Variant": "heimdall"},{"Variant": "vouchproxy"},{"Variant": "freshrss"}]}')
|
||||
}
|
||||
options {
|
||||
skipDefaultCheckout()
|
||||
|
||||
@@ -368,6 +368,13 @@ files:
|
||||
variants:
|
||||
- vouchproxy
|
||||
|
||||
#FileForFreshrss
|
||||
- path: /opt/Setup
|
||||
generator: copy
|
||||
source: CT-Files/freshrss
|
||||
variants:
|
||||
- freshrss
|
||||
|
||||
packages:
|
||||
manager: apk
|
||||
update: true
|
||||
@@ -389,6 +396,7 @@ packages:
|
||||
- mailbackup
|
||||
- elkarbackupALP
|
||||
- heimdall
|
||||
- freshrss
|
||||
|
||||
#PKGS for Default
|
||||
- packages:
|
||||
@@ -598,6 +606,39 @@ packages:
|
||||
variants:
|
||||
- vouchproxy
|
||||
|
||||
#PKGS for FreshRSS
|
||||
- packages:
|
||||
- git
|
||||
- php82
|
||||
- php82-fpm
|
||||
- php82-curl
|
||||
- php82-gmp
|
||||
- php82-intl
|
||||
- php82-mbstring
|
||||
- php82-xml
|
||||
- php82-zip
|
||||
- php82-ctype
|
||||
- php82-dom
|
||||
- php82-fileinfo
|
||||
- php82-iconv
|
||||
- php82-json
|
||||
- php82-opcache
|
||||
- php82-openssl
|
||||
- php82-phar
|
||||
- php82-session
|
||||
- php82-simplexml
|
||||
- php82-xmlreader
|
||||
- php82-xmlwriter
|
||||
- php82-xml
|
||||
- php82-tokenizer
|
||||
- php82-zlib
|
||||
- php82-pdo_mysql
|
||||
#- php82-pdo_sqlite
|
||||
action: install
|
||||
variants:
|
||||
- freshrss
|
||||
|
||||
|
||||
repositories:
|
||||
- name: /etc/apk/repositories
|
||||
url: |-
|
||||
@@ -670,6 +711,7 @@ actions:
|
||||
- mailbackup
|
||||
- elkarbackupALP
|
||||
- heimdall
|
||||
- freshrss
|
||||
|
||||
#Run provided init script
|
||||
- trigger: post-files
|
||||
@@ -691,6 +733,7 @@ actions:
|
||||
- elkarbackupALP
|
||||
- heimdall
|
||||
- vouchproxy
|
||||
- freshrss
|
||||
|
||||
#Move App update script for ProxmoxHelper/ProxMoxToolKit, if CT has this script
|
||||
- trigger: post-files
|
||||
|
||||
1
CT-Files/freshrss/Configs/crontab
Normal file
1
CT-Files/freshrss/Configs/crontab
Normal file
@@ -0,0 +1 @@
|
||||
27,57 * * * * php82 /opt/freshrss/app/actualize_script.php 2>> /proc/1/fd/2 > /tmp/FreshRSS.log
|
||||
52
CT-Files/freshrss/Configs/nginx.conf
Normal file
52
CT-Files/freshrss/Configs/nginx.conf
Normal file
@@ -0,0 +1,52 @@
|
||||
user nginx;
|
||||
worker_processes auto;
|
||||
error_log /var/log/nginx/error.log notice;
|
||||
pid /var/run/nginx.pid;
|
||||
|
||||
events {
|
||||
worker_connections 1024;
|
||||
}
|
||||
|
||||
http {
|
||||
sendfile on;
|
||||
tcp_nopush on;
|
||||
tcp_nodelay on;
|
||||
keepalive_timeout 65;
|
||||
types_hash_max_size 2048;
|
||||
server_tokens off;
|
||||
client_body_buffer_size 10K;
|
||||
client_header_buffer_size 1k;
|
||||
client_max_body_size 64m;
|
||||
large_client_header_buffers 4 4k;
|
||||
server_names_hash_bucket_size 64;
|
||||
root /usr/share/nginx/html;
|
||||
include /etc/nginx/mime.types;
|
||||
default_type application/octet-stream;
|
||||
access_log off;
|
||||
error_log /var/log/nginx/error.log;
|
||||
#Server config for FreshRSS
|
||||
server {
|
||||
listen 80 default_server;
|
||||
listen [::]:80 default_server;
|
||||
server_name _;
|
||||
root /opt/freshrss/p/;
|
||||
index index.php index.html;
|
||||
|
||||
location / {
|
||||
try_files $uri $uri/ index.php;
|
||||
|
||||
}
|
||||
location ~ \.php$ {
|
||||
include fastcgi_params;
|
||||
fastcgi_pass unix:/run/php-fpm82/php-fpm.sock;
|
||||
fastcgi_split_path_info ^(.+\.php)(/.*)$;
|
||||
set $path_info $fastcgi_path_info;
|
||||
fastcgi_param PATH_INFO $path_info;
|
||||
include fastcgi_params;
|
||||
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||||
}
|
||||
location ~ /\.ht {
|
||||
deny all;
|
||||
}
|
||||
}
|
||||
}
|
||||
39
CT-Files/freshrss/Configs/php.conf
Normal file
39
CT-Files/freshrss/Configs/php.conf
Normal file
@@ -0,0 +1,39 @@
|
||||
[freshrss]
|
||||
user = nginx
|
||||
group = nginx
|
||||
listen = /run/php-fpm82/php-fpm.sock
|
||||
listen.owner = nginx
|
||||
listen.group = nginx
|
||||
php_admin_value[disable_functions] = exec,passthru,system
|
||||
php_admin_value[error_log] = /var/log/php-fpm.error.log
|
||||
php_admin_value [date.timezone] = Europe/Amsterdam
|
||||
|
||||
; OPCACHE SETTINGS
|
||||
php_admin_value[opcache.memory_consumption] = 256
|
||||
php_admin_value[opcache.enable] = 0
|
||||
php_admin_value[opcache.interned_strings_buffer] = 32
|
||||
php_admin_value[opcache.max_accelerated_files] = 50000
|
||||
php_admin_value[opcache.max_wasted_percentage] = 5
|
||||
php_admin_value[opcache.revalidate_freq] = 0
|
||||
php_admin_value[opcache.validate_timestamps] = 1
|
||||
|
||||
; PERFORMANCE LIMITS
|
||||
php_admin_value[max_input_vars] = 5000
|
||||
php_admin_value[upload_max_filesize] = 64M
|
||||
php_admin_value[post_max_size] = 64M
|
||||
php_admin_value[max_input_time] = 15
|
||||
|
||||
; SECURITY
|
||||
php_admin_value[cgi.fix_pathinfo] = 0
|
||||
php_admin_value[allow_url_fopen] = 1
|
||||
php_admin_value[file_uploads] = On
|
||||
php_admin_value[open_basedir] = /opt/freshrss:/run/php-fpm82/php-fpm.sock:/tmp
|
||||
php_admin_value[session.use_strict_mode] = 1
|
||||
php_admin_value[session.cookie_httponly] = 1
|
||||
|
||||
pm = dynamic
|
||||
pm.max_children = 5
|
||||
pm.start_servers = 2
|
||||
pm.min_spare_servers = 1
|
||||
pm.max_spare_servers = 3
|
||||
chdir = /
|
||||
2
CT-Files/freshrss/Configs/phpTimezone.ini
Normal file
2
CT-Files/freshrss/Configs/phpTimezone.ini
Normal file
@@ -0,0 +1,2 @@
|
||||
[Date]
|
||||
date.timezone = Europe/Amsterdam
|
||||
24
CT-Files/freshrss/Scripts/Init.sh
Normal file
24
CT-Files/freshrss/Scripts/Init.sh
Normal file
@@ -0,0 +1,24 @@
|
||||
#!/bin/ash
|
||||
|
||||
#Configure Nginx
|
||||
rm -rf /etc/nginx/conf.d
|
||||
mv /opt/Setup/Configs/nginx.conf /etc/nginx/nginx.conf
|
||||
|
||||
#Configure Php-Fpm
|
||||
rm -rf /etc/php82/php-fpm.d/*
|
||||
mv /opt/Setup/Configs/php.conf /etc/php82/php-fpm.d/freshrss.conf
|
||||
mv /opt/Setup/Configs/phpTimezone.ini /etc/php82/conf.d/04_date_timezone.ini
|
||||
|
||||
#Configure Cron
|
||||
mv /opt/Setup/Configs/crontab /etc/crontabs/nginx
|
||||
|
||||
#Install freshrss
|
||||
mkdir -p /opt/freshrss
|
||||
wget https://github.com/FreshRSS/FreshRSS/tarball/latest -O /tmp/freshrss.tar.gz
|
||||
tar -C /opt/freshrss -xzf /tmp/freshrss.tar.gz --strip 1
|
||||
chown -R nginx:nginx /opt/freshrss
|
||||
rm /tmp/freshrss.tar.gz
|
||||
|
||||
#Enable services on boot
|
||||
rc-update add nginx
|
||||
rc-update add php-fpm82
|
||||
11
Readme.md
11
Readme.md
@@ -50,6 +50,7 @@ This can be done on a privileged Debian CT (make sure to enable the Fuse, Nestin
|
||||
| mailbackup | Alpine | Contains mail archive tools (MailBackup-sys) |
|
||||
| heimdall | Alpine | Heimdall, A application dashboard/launcher |
|
||||
| vouchproxy | Alpine | Vouch-proxy, A SSO solution for Nginx |
|
||||
| freshrss | Alpine | FreshRSS, a self-hosted RSS feed aggregator |
|
||||
|
||||
## TODO
|
||||
**Begin original list**
|
||||
@@ -172,11 +173,16 @@ exit
|
||||
KERNEL=="ttyUSB[0-9]*", MODE="0666"
|
||||
KERNEL=="ttyACM[0-9]*", MODE="0666"
|
||||
```
|
||||
#### Add for Sonoff Zigbee 3.0 USB (CC2652P + CP2102N)
|
||||
#### Add for Sonoff Zigbee 3.0 Plus USB ZBDongel-P (CC2652P + CP2102N)
|
||||
```
|
||||
SUBSYSTEM=="tty", ACTION=="change", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", SYMLINK+="ttyACM-Zigbee"
|
||||
SUBSYSTEM=="tty", ACTION=="add", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", SYMLINK+="ttyACM-Zigbee"
|
||||
```
|
||||
#### Add for Sonoff Zigbee 3.0 Plus USB ZBDongel-E (EFR32MG21)
|
||||
```
|
||||
SUBSYSTEM=="tty", ACTION=="change", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="55d4", SYMLINK+="ttyACM-Zigbee"
|
||||
SUBSYSTEM=="tty", ACTION=="add", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="55d4", SYMLINK+="ttyACM-Zigbee"
|
||||
```
|
||||
#### Add for Zigbee CC2531 USB
|
||||
```
|
||||
SUBSYSTEM=="tty", ACTION=="change", ATTRS{idVendor}=="0451", ATTRS{idProduct}=="16a8", SYMLINK+="ttyACM-Zigbee"
|
||||
@@ -246,6 +252,9 @@ lxc.mount.entry: /dev/ttyACM-Zwave dev/ttyACM-Zwave none bind,optional,create=fi
|
||||
* Default port 9090
|
||||
* A script to setup another instance is located here: `/opt/AddVouchInstance.sh`
|
||||
|
||||
## freshrss
|
||||
* Available on http://`<ip>`:80
|
||||
|
||||
## elkarbackup
|
||||
**Alpine version recommended**
|
||||
1. Edit the parameters in the FistRun script in the container `vi /opt/Setup/Scripts/FirstRun.sh`
|
||||
|
||||
Reference in New Issue
Block a user