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
|
// 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",
|
"label": "BuildIMG",
|
||||||
"type": "shell",
|
"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": [],
|
"problemMatcher": [],
|
||||||
"group": {
|
"group": {
|
||||||
"kind": "build",
|
"kind": "build",
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ pipeline {
|
|||||||
string defaultValue: '192.168.200.11', description: 'Proxy server for packages, when enabled', name: 'ProxyServer'
|
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'
|
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',
|
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 {
|
options {
|
||||||
skipDefaultCheckout()
|
skipDefaultCheckout()
|
||||||
|
|||||||
@@ -368,6 +368,13 @@ files:
|
|||||||
variants:
|
variants:
|
||||||
- vouchproxy
|
- vouchproxy
|
||||||
|
|
||||||
|
#FileForFreshrss
|
||||||
|
- path: /opt/Setup
|
||||||
|
generator: copy
|
||||||
|
source: CT-Files/freshrss
|
||||||
|
variants:
|
||||||
|
- freshrss
|
||||||
|
|
||||||
packages:
|
packages:
|
||||||
manager: apk
|
manager: apk
|
||||||
update: true
|
update: true
|
||||||
@@ -389,6 +396,7 @@ packages:
|
|||||||
- mailbackup
|
- mailbackup
|
||||||
- elkarbackupALP
|
- elkarbackupALP
|
||||||
- heimdall
|
- heimdall
|
||||||
|
- freshrss
|
||||||
|
|
||||||
#PKGS for Default
|
#PKGS for Default
|
||||||
- packages:
|
- packages:
|
||||||
@@ -598,6 +606,39 @@ packages:
|
|||||||
variants:
|
variants:
|
||||||
- vouchproxy
|
- 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:
|
repositories:
|
||||||
- name: /etc/apk/repositories
|
- name: /etc/apk/repositories
|
||||||
url: |-
|
url: |-
|
||||||
@@ -670,6 +711,7 @@ actions:
|
|||||||
- mailbackup
|
- mailbackup
|
||||||
- elkarbackupALP
|
- elkarbackupALP
|
||||||
- heimdall
|
- heimdall
|
||||||
|
- freshrss
|
||||||
|
|
||||||
#Run provided init script
|
#Run provided init script
|
||||||
- trigger: post-files
|
- trigger: post-files
|
||||||
@@ -691,6 +733,7 @@ actions:
|
|||||||
- elkarbackupALP
|
- elkarbackupALP
|
||||||
- heimdall
|
- heimdall
|
||||||
- vouchproxy
|
- vouchproxy
|
||||||
|
- freshrss
|
||||||
|
|
||||||
#Move App update script for ProxmoxHelper/ProxMoxToolKit, if CT has this script
|
#Move App update script for ProxmoxHelper/ProxMoxToolKit, if CT has this script
|
||||||
- trigger: post-files
|
- 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) |
|
| mailbackup | Alpine | Contains mail archive tools (MailBackup-sys) |
|
||||||
| heimdall | Alpine | Heimdall, A application dashboard/launcher |
|
| heimdall | Alpine | Heimdall, A application dashboard/launcher |
|
||||||
| vouchproxy | Alpine | Vouch-proxy, A SSO solution for Nginx |
|
| vouchproxy | Alpine | Vouch-proxy, A SSO solution for Nginx |
|
||||||
|
| freshrss | Alpine | FreshRSS, a self-hosted RSS feed aggregator |
|
||||||
|
|
||||||
## TODO
|
## TODO
|
||||||
**Begin original list**
|
**Begin original list**
|
||||||
@@ -172,11 +173,16 @@ exit
|
|||||||
KERNEL=="ttyUSB[0-9]*", MODE="0666"
|
KERNEL=="ttyUSB[0-9]*", MODE="0666"
|
||||||
KERNEL=="ttyACM[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=="change", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", SYMLINK+="ttyACM-Zigbee"
|
||||||
SUBSYSTEM=="tty", ACTION=="add", 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
|
#### Add for Zigbee CC2531 USB
|
||||||
```
|
```
|
||||||
SUBSYSTEM=="tty", ACTION=="change", ATTRS{idVendor}=="0451", ATTRS{idProduct}=="16a8", SYMLINK+="ttyACM-Zigbee"
|
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
|
* Default port 9090
|
||||||
* A script to setup another instance is located here: `/opt/AddVouchInstance.sh`
|
* A script to setup another instance is located here: `/opt/AddVouchInstance.sh`
|
||||||
|
|
||||||
|
## freshrss
|
||||||
|
* Available on http://`<ip>`:80
|
||||||
|
|
||||||
## elkarbackup
|
## elkarbackup
|
||||||
**Alpine version recommended**
|
**Alpine version recommended**
|
||||||
1. Edit the parameters in the FistRun script in the container `vi /opt/Setup/Scripts/FirstRun.sh`
|
1. Edit the parameters in the FistRun script in the container `vi /opt/Setup/Scripts/FirstRun.sh`
|
||||||
|
|||||||
Reference in New Issue
Block a user