Compare commits

...

12 Commits

Author SHA1 Message Date
d9814120e5 Apply suggestion from @tremor021 2025-12-12 14:55:24 +01:00
ae85b0915b Apply suggestion from @tremor021 2025-12-12 14:54:59 +01:00
f4f4500f7d Apply suggestion from @tremor021 2025-12-12 14:52:26 +01:00
b78176c019 Add wallabag (ct) 2025-12-12 13:38:49 +00:00
cf14c1b540 Update CHANGELOG.md (#9903)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-12-12 13:21:42 +00:00
e27a68275b Fixed URLs (#9902) 2025-12-12 14:21:15 +01:00
ec433b3abc Update versions.json (#9901)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-12-12 13:06:19 +01:00
b4db6a6c70 Update CHANGELOG.md (#9897)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-12-12 00:15:56 +00:00
11a407b54f Update versions.json (#9896)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-12-12 01:15:30 +01:00
af5172a8cf Update CHANGELOG.md (#9893)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-12-11 17:32:43 +00:00
115ea10ecd dokploy: require unprivileged LXC environment (#9891) 2025-12-11 18:32:20 +01:00
8549f2a84d Update versions.json (#9889)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-12-11 13:06:13 +01:00
9 changed files with 434 additions and 160 deletions

View File

@ -10,6 +10,14 @@
> [!CAUTION]
Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit the project's popularity for potentially malicious purposes.
## 2025-12-12
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Pangolin: URL fixes [@tremor021](https://github.com/tremor021) ([#9902](https://github.com/community-scripts/ProxmoxVE/pull/9902))
## 2025-12-11
### 🆕 New Scripts
@ -20,6 +28,7 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
- #### 🐞 Bug Fixes
- dokploy: require unprivileged LXC environment [@MickLesk](https://github.com/MickLesk) ([#9891](https://github.com/community-scripts/ProxmoxVE/pull/9891))
- Update NetVisor repo information [@vhsdream](https://github.com/vhsdream) ([#9864](https://github.com/community-scripts/ProxmoxVE/pull/9864))
- #### 🔧 Refactor

View File

@ -12,7 +12,7 @@ var_ram="${var_ram:-2048}"
var_disk="${var_disk:-10}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
var_unprivileged="${var_unprivileged:-0}"
header_info "$APP"
variables

6
ct/headers/wallabag Normal file
View File

@ -0,0 +1,6 @@
_ __ ____ __
| | / /___ _/ / /___ _/ /_ ____ _____ _
| | /| / / __ `/ / / __ `/ __ \/ __ `/ __ `/
| |/ |/ / /_/ / / / /_/ / /_/ / /_/ / /_/ /
|__/|__/\__,_/_/_/\__,_/_.___/\__,_/\__, /
/____/

71
ct/wallabag.sh Normal file
View File

@ -0,0 +1,71 @@
#!/usr/bin/env bash
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2025 community-scripts ORG
# Author: MickLesk (CanbiZ)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://wallabag.org/
APP="Wallabag"
var_tags="${var_tags:-productivity;read-it-later}"
var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-2048}"
var_disk="${var_disk:-6}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
variables
color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -d /opt/wallabag ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
if check_for_gh_release "wallabag" "wallabag/wallabag"; then
msg_info "Stopping Services"
systemctl stop nginx php8.3-fpm
msg_ok "Stopped Services"
msg_info "Creating Backup"
cp /opt/wallabag/app/config/parameters.yml /tmp/wallabag_parameters.yml.bak
msg_ok "Created Backup"
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "wallabag" "wallabag/wallabag" "prebuild" "latest" "/opt/wallabag" "wallabag-*.tar.gz"
msg_info "Restoring Configuration"
cp /tmp/wallabag_parameters.yml.bak /opt/wallabag/app/config/parameters.yml
rm -f /tmp/wallabag_parameters.yml.bak
msg_ok "Restored Configuration"
msg_info "Running Migrations"
cd /opt/wallabag
$STD php bin/console cache:clear --env=prod
$STD php bin/console doctrine:migrations:migrate --env=prod --no-interaction
chown -R www-data:www-data /opt/wallabag
chmod -R 755 /opt/wallabag/{var,web/assets}
msg_ok "Ran Migrations"
msg_info "Starting Services"
systemctl start php8.3-fpm nginx
msg_ok "Started Services"
msg_ok "Updated successfully!"
fi
exit
}
start
build_container
description
msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8000${CL}"

View File

@ -7,7 +7,7 @@
"date_created": "2025-12-09",
"type": "ct",
"updateable": true,
"privileged": false,
"privileged": true,
"interface_port": 3000,
"documentation": "https://docs.dokploy.com/",
"config_path": "/etc/dokploy",

View File

@ -1,18 +1,68 @@
[
{
"name": "WGDashboard/WGDashboard",
"version": "v4.3.0.3",
"date": "2025-12-10T23:05:31Z"
"name": "BerriAI/litellm",
"version": "v1.80.9.dev6",
"date": "2025-12-12T11:00:12Z"
},
{
"name": "chrisbenincasa/tunarr",
"version": "v0.23.0-alpha.32",
"date": "2025-12-10T21:26:24Z"
"name": "opencloud-eu/opencloud",
"version": "4.0.1-rc.1",
"date": "2025-12-12T10:52:28Z"
},
{
"name": "tailscale/tailscale",
"version": "v1.92.2",
"date": "2025-12-10T21:20:31Z"
"name": "zitadel/zitadel",
"version": "v4.7.4",
"date": "2025-12-12T10:25:19Z"
},
{
"name": "netvisor-io/netvisor",
"version": "v0.11.7",
"date": "2025-12-12T09:22:44Z"
},
{
"name": "karakeep-app/karakeep",
"version": "v0.29.3",
"date": "2025-12-12T09:14:41Z"
},
{
"name": "grokability/snipe-it",
"version": "v8.3.7",
"date": "2025-12-12T09:13:40Z"
},
{
"name": "passbolt/passbolt_api",
"version": "v5.8.0-test.1",
"date": "2025-12-12T06:53:05Z"
},
{
"name": "Jackett/Jackett",
"version": "v0.24.441",
"date": "2025-12-12T05:55:23Z"
},
{
"name": "coder/code-server",
"version": "v4.106.3",
"date": "2025-12-01T22:06:12Z"
},
{
"name": "theonedev/onedev",
"version": "v13.1.5",
"date": "2025-12-12T03:30:50Z"
},
{
"name": "umami-software/umami",
"version": "v3.0.3",
"date": "2025-12-12T02:39:27Z"
},
{
"name": "jeedom/core",
"version": "4.5",
"date": "2025-12-12T00:27:07Z"
},
{
"name": "steveiliop56/tinyauth",
"version": "v4.1.0",
"date": "2025-11-23T12:13:34Z"
},
{
"name": "ollama/ollama",
@ -21,24 +71,104 @@
},
{
"name": "metabase/metabase",
"version": "v0.56.x",
"date": "2025-12-10T20:09:24Z"
"version": "v0.57.6",
"date": "2025-12-11T23:31:19Z"
},
{
"name": "BerriAI/litellm",
"version": "v1.80.9.dev5",
"date": "2025-12-10T16:52:35Z"
"name": "fosrl/pangolin",
"version": "1.13.0",
"date": "2025-12-11T23:19:41Z"
},
{
"name": "WGDashboard/WGDashboard",
"version": "v4.3.0.3",
"date": "2025-12-11T23:03:52Z"
},
{
"name": "motioneye-project/motioneye",
"version": "0.43.1",
"date": "2025-12-11T22:45:52Z"
},
{
"name": "coollabsio/coolify",
"version": "v4.0.0-beta.454",
"date": "2025-12-11T20:37:05Z"
},
{
"name": "chrisbenincasa/tunarr",
"version": "v0.23.0-alpha.35",
"date": "2025-12-11T18:20:45Z"
},
{
"name": "msgbyte/tianji",
"version": "v1.30.22",
"date": "2025-12-11T18:02:06Z"
},
{
"name": "meilisearch/meilisearch",
"version": "prototype-v1.30.0-network-topology.2",
"date": "2025-12-11T16:47:51Z"
},
{
"name": "chrisvel/tududi",
"version": "v0.87",
"date": "2025-12-06T07:36:26Z"
},
{
"name": "joaovitoriasilva/endurain",
"version": "v0.16.2",
"date": "2025-12-11T15:16:01Z"
},
{
"name": "keycloak/keycloak",
"version": "26.4.7",
"date": "2025-12-01T08:14:11Z"
},
{
"name": "alam00000/bentopdf",
"version": "v1.11.1",
"date": "2025-12-11T14:12:20Z"
},
{
"name": "Stirling-Tools/Stirling-PDF",
"version": "v2.1.3",
"date": "2025-12-11T13:31:56Z"
},
{
"name": "zabbix/zabbix",
"version": "7.4.6rc1",
"date": "2025-12-11T12:01:51Z"
},
{
"name": "pommee/goaway",
"version": "v0.62.24",
"date": "2025-12-11T09:54:59Z"
},
{
"name": "linkwarden/linkwarden",
"version": "v2.13.2",
"date": "2025-12-11T06:31:24Z"
},
{
"name": "moghtech/komodo",
"version": "v1.19.5",
"date": "2025-09-27T20:59:46Z"
},
{
"name": "TwiN/gatus",
"version": "v5.33.1",
"date": "2025-12-11T01:59:13Z"
},
{
"name": "tailscale/tailscale",
"version": "v1.92.2",
"date": "2025-12-10T21:20:31Z"
},
{
"name": "gethomepage/homepage",
"version": "v1.8.0",
"date": "2025-12-10T16:44:33Z"
},
{
"name": "netvisor-io/netvisor",
"version": "v0.11.6",
"date": "2025-12-10T16:40:51Z"
},
{
"name": "n8n-io/n8n",
"version": "n8n@1.123.5-exp.0",
@ -49,11 +179,6 @@
"version": "jenkins-2.541",
"date": "2025-12-10T15:57:13Z"
},
{
"name": "zitadel/zitadel",
"version": "v4.7.2",
"date": "2025-12-10T12:52:31Z"
},
{
"name": "prometheus/alertmanager",
"version": "v0.29.0",
@ -84,31 +209,11 @@
"version": "0.211.1",
"date": "2025-12-10T12:25:19Z"
},
{
"name": "Stirling-Tools/Stirling-PDF",
"version": "v2.1.2",
"date": "2025-12-10T11:46:48Z"
},
{
"name": "cockpit-project/cockpit",
"version": "353",
"date": "2025-12-10T10:55:50Z"
},
{
"name": "theonedev/onedev",
"version": "v13.1.4",
"date": "2025-12-10T10:24:13Z"
},
{
"name": "chrisvel/tududi",
"version": "v0.87",
"date": "2025-12-06T07:36:26Z"
},
{
"name": "zabbix/zabbix",
"version": "7.2.15rc1",
"date": "2025-12-10T10:20:02Z"
},
{
"name": "mattermost/mattermost",
"version": "v10.11.8",
@ -124,11 +229,6 @@
"version": "v1.5.3",
"date": "2025-09-20T12:12:33Z"
},
{
"name": "Jackett/Jackett",
"version": "v0.24.429",
"date": "2025-12-10T05:56:09Z"
},
{
"name": "kyantech/Palmr",
"version": "v3.3.2-beta",
@ -144,16 +244,6 @@
"version": "2.2.15",
"date": "2025-12-10T01:52:14Z"
},
{
"name": "jeedom/core",
"version": "4.5",
"date": "2025-12-10T00:27:04Z"
},
{
"name": "steveiliop56/tinyauth",
"version": "v4.1.0",
"date": "2025-11-23T12:13:34Z"
},
{
"name": "comfyanonymous/ComfyUI",
"version": "v0.4.0",
@ -224,11 +314,6 @@
"version": "v2025.12.0",
"date": "2025-12-09T14:30:23Z"
},
{
"name": "keycloak/keycloak",
"version": "26.4.7",
"date": "2025-12-01T08:14:11Z"
},
{
"name": "home-assistant/operating-system",
"version": "16.3",
@ -239,11 +324,6 @@
"version": "6.16.1+251125",
"date": "2025-12-09T12:27:31Z"
},
{
"name": "joaovitoriasilva/endurain",
"version": "v0.16.0",
"date": "2025-12-09T12:26:46Z"
},
{
"name": "Paymenter/Paymenter",
"version": "v1.4.7",
@ -279,11 +359,6 @@
"version": "2025.12.2",
"date": "2025-12-08T21:36:42Z"
},
{
"name": "fosrl/pangolin",
"version": "1.13.0-rc.0",
"date": "2025-12-08T21:17:44Z"
},
{
"name": "hansmi/prometheus-paperless-exporter",
"version": "v0.0.9",
@ -294,21 +369,11 @@
"version": "v1.37.0",
"date": "2025-12-08T20:36:16Z"
},
{
"name": "pommee/goaway",
"version": "v0.62.23",
"date": "2025-12-08T20:30:54Z"
},
{
"name": "TuroYT/snowshare",
"version": "v1.1.2",
"date": "2025-12-08T20:29:51Z"
},
{
"name": "coollabsio/coolify",
"version": "v4.0.0-beta.453",
"date": "2025-12-08T20:23:48Z"
},
{
"name": "homarr-labs/homarr",
"version": "v1.45.3",
@ -329,11 +394,6 @@
"version": "v1.1.08",
"date": "2025-12-08T10:13:51Z"
},
{
"name": "meilisearch/meilisearch",
"version": "latest",
"date": "2025-12-08T09:36:54Z"
},
{
"name": "firefly-iii/firefly-iii",
"version": "v6.4.9",
@ -374,11 +434,6 @@
"version": "2.222.0",
"date": "2025-12-07T09:09:47Z"
},
{
"name": "umami-software/umami",
"version": "v2.20.1",
"date": "2025-12-07T01:14:23Z"
},
{
"name": "sysadminsmedia/homebox",
"version": "v0.22.0-rc.2",
@ -474,11 +529,6 @@
"version": "v3.6.4",
"date": "2025-12-05T09:58:17Z"
},
{
"name": "alam00000/bentopdf",
"version": "v1.10.5",
"date": "2025-12-05T09:28:50Z"
},
{
"name": "transmission/transmission",
"version": "4.0.1-beta.1",
@ -494,15 +544,10 @@
"version": "v2.10.2",
"date": "2025-08-23T03:10:31Z"
},
{
"name": "msgbyte/tianji",
"version": "v1.30.20",
"date": "2025-12-04T18:17:47Z"
},
{
"name": "wazuh/wazuh",
"version": "coverity-w49-4.14.2",
"date": "2025-12-02T14:01:48Z"
"version": "coverity-w50-4.14.2",
"date": "2025-12-04T15:06:55Z"
},
{
"name": "crowdsecurity/crowdsec",
@ -526,8 +571,8 @@
},
{
"name": "bunkerity/bunkerweb",
"version": "testing",
"date": "2025-12-04T08:39:16Z"
"version": "v1.6.6",
"date": "2025-11-24T15:30:21Z"
},
{
"name": "gtsteffaniak/filebrowser",
@ -549,11 +594,6 @@
"version": "v25.12.0",
"date": "2025-12-03T17:45:09Z"
},
{
"name": "karakeep-app/karakeep",
"version": "v0.29.1",
"date": "2025-12-03T16:56:18Z"
},
{
"name": "Graylog2/graylog2-server",
"version": "6.2.10",
@ -654,11 +694,6 @@
"version": "v2.20.1",
"date": "2025-12-01T22:45:34Z"
},
{
"name": "coder/code-server",
"version": "v4.106.3",
"date": "2025-12-01T22:06:12Z"
},
{
"name": "C4illin/ConvertX",
"version": "v0.16.0",
@ -689,11 +724,6 @@
"version": "1.11.5",
"date": "2025-12-01T12:58:46Z"
},
{
"name": "opencloud-eu/opencloud",
"version": "v4.0.0",
"date": "2025-12-01T09:33:08Z"
},
{
"name": "photoprism/photoprism",
"version": "251130-b3068414c",
@ -849,11 +879,6 @@
"version": "2.3.6",
"date": "2025-11-24T19:40:27Z"
},
{
"name": "grokability/snipe-it",
"version": "v8.3.6",
"date": "2025-11-24T13:02:52Z"
},
{
"name": "silverbulletmd/silverbullet",
"version": "2.3.0",
@ -894,11 +919,6 @@
"version": "v14.2.0",
"date": "2025-11-22T12:54:08Z"
},
{
"name": "TwiN/gatus",
"version": "v5.33.0",
"date": "2025-11-21T22:54:49Z"
},
{
"name": "Bubka/2FAuth",
"version": "v5.6.1",
@ -1014,11 +1034,6 @@
"version": "v0.28.2",
"date": "2025-11-18T05:51:46Z"
},
{
"name": "passbolt/passbolt_api",
"version": "v5.7.2",
"date": "2025-11-17T15:17:55Z"
},
{
"name": "librenms/librenms",
"version": "25.11.0",
@ -1094,11 +1109,6 @@
"version": "v5.1.0",
"date": "2025-11-12T10:44:24Z"
},
{
"name": "moghtech/komodo",
"version": "v1.19.5",
"date": "2025-09-27T20:59:46Z"
},
{
"name": "CrazyWolf13/web-check",
"version": "1.1.0",
@ -1189,11 +1199,6 @@
"version": "v3.0.9",
"date": "2025-11-04T07:28:45Z"
},
{
"name": "motioneye-project/motioneye",
"version": "0.42.1",
"date": "2020-06-07T07:27:04Z"
},
{
"name": "wanetty/upgopher",
"version": "v1.12.0",
@ -1279,11 +1284,6 @@
"version": "RELEASE.2025-10-15T17-29-55Z",
"date": "2025-10-16T19:33:51Z"
},
{
"name": "linkwarden/linkwarden",
"version": "v2.13.1",
"date": "2025-10-15T13:29:37Z"
},
{
"name": "rogerfar/rdt-client",
"version": "v2.0.119",

View File

@ -0,0 +1,40 @@
{
"name": "Wallabag",
"slug": "wallabag",
"categories": [
12
],
"date_created": "2025-12-09",
"type": "ct",
"updateable": true,
"privileged": false,
"config_path": "/opt/wallabag/app/config/parameters.yml",
"interface_port": 8000,
"documentation": "https://doc.wallabag.org/",
"website": "https://wallabag.org/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/wallabag.webp",
"description": "Wallabag is a self-hosted read-it-later application. Save web articles to read them later, offline, in a clean and distraction-free interface. Features tagging, full-text search, and browser/mobile app integrations.",
"install_methods": [
{
"type": "default",
"script": "ct/wallabag.sh",
"resources": {
"cpu": 2,
"ram": 2048,
"hdd": 6,
"os": "Debian",
"version": "13"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": [
{
"text": "Database credentials are stored in ~/wallabag.creds",
"type": "info"
}
]
}

View File

@ -62,7 +62,7 @@ server:
secret: "$SECRET_KEY"
gerbil:
base_endpoint: "$pango_url"
base_endpoint: "${pango_url#https://}"
flags:
require_email_verification: false
@ -130,7 +130,7 @@ http:
routers:
# HTTP to HTTPS redirect router
main-app-router-redirect:
rule: "Host(\`$pango_url\`)"
rule: "Host(\`${pango_url#https://}\`)"
service: next-service
entryPoints:
- web
@ -139,7 +139,7 @@ http:
# Next.js router (handles everything except API and WebSocket paths)
next-router:
rule: "Host(\`$pango_url\`) && !PathPrefix(\`/api/v1\`)"
rule: "Host(\`${pango_url#https://}\`) && !PathPrefix(\`/api/v1\`)"
service: next-service
entryPoints:
- websecure
@ -148,7 +148,7 @@ http:
# API router (handles /api/v1 paths)
api-router:
rule: "Host(\`$pango_url\`) && PathPrefix(\`/api/v1\`)"
rule: "Host(\`${pango_url#https://}\`) && PathPrefix(\`/api/v1\`)"
service: api-service
entryPoints:
- websecure
@ -157,7 +157,7 @@ http:
# WebSocket router
ws-router:
rule: "Host(\`$pango_url\`)"
rule: "Host(\`${pango_url#https://}\`)"
service: api-service
entryPoints:
- websecure

148
install/wallabag-install.sh Normal file
View File

@ -0,0 +1,148 @@
#!/usr/bin/env bash
# Copyright (c) 2021-2025 community-scripts ORG
# Author: MickLesk (CanbiZ)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://wallabag.org/
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
color
verb_ip6
catch_errors
setting_up_container
network_check
update_os
msg_info "Installing Dependencies"
$STD apt install -y \
nginx \
redis-server \
imagemagick
msg_ok "Installed Dependencies"
import_local_ip
setup_mariadb
MARIADB_DB_NAME="wallabag" MARIADB_DB_USER="wallabag" setup_mariadb_db
PHP_VERSION="8.3" PHP_FPM="YES" PHP_MODULE="bcmath,bz2,curl,gd,imagick,intl,mbstring,mysql,redis,tidy,xml,zip" setup_php
setup_composer
NODE_VERSION="22" setup_nodejs
fetch_and_deploy_gh_release "wallabag" "wallabag/wallabag" "prebuild" "latest" "/opt/wallabag" "wallabag-*.tar.gz"
msg_info "Configuring Wallabag"
cd /opt/wallabag
SECRET_KEY="$(openssl rand -base64 32 | tr -dc 'a-zA-Z0-9' | cut -c1-32)"
cat <<EOF >/opt/wallabag/app/config/parameters.yml
parameters:
database_driver: pdo_mysql
database_host: 127.0.0.1
database_port: 3306
database_name: ${MARIADB_DB_NAME}
database_user: ${MARIADB_DB_USER}
database_password: ${MARIADB_DB_PASS}
database_path: null
database_table_prefix: wallabag_
database_socket: null
database_charset: utf8mb4
domain_name: http://${LOCAL_IP}:8000
server_name: Wallabag
mailer_dsn: null
locale: en
secret: ${SECRET_KEY}
twofactor_auth: false
twofactor_sender: no-reply@wallabag.org
fosuser_registration: true
fosuser_confirmation: false
fos_oauth_server_access_token_lifetime: 3600
fos_oauth_server_refresh_token_lifetime: 1209600
from_email: no-reply@wallabag.org
rss_limit: 50
rabbitmq_host: localhost
rabbitmq_port: 5672
rabbitmq_user: guest
rabbitmq_password: guest
rabbitmq_prefetch_count: 10
redis_scheme: tcp
redis_host: localhost
redis_port: 6379
redis_path: null
redis_password: null
sentry_dsn: null
EOF
chown -R www-data:www-data /opt/wallabag
msg_ok "Configured Wallabag"
msg_info "Installing Wallabag (Patience)"
export COMPOSER_ALLOW_SUPERUSER=1
export SYMFONY_ENV=prod
cd /opt/wallabag
$STD php bin/console wallabag:install --env=prod --no-interaction
$STD php bin/console cache:clear --env=prod
chown -R www-data:www-data /opt/wallabag
chmod -R 755 /opt/wallabag/{var,web/assets}
msg_ok "Installed Wallabag"
msg_info "Configuring Nginx"
cat <<'EOF' >/etc/nginx/sites-available/wallabag
server {
listen 8000;
server_name _;
root /opt/wallabag/web;
add_header X-Frame-Options "SAMEORIGIN";
add_header X-Content-Type-Options "nosniff";
index app.php;
charset utf-8;
location / {
try_files $uri /app.php$is_args$args;
}
location ~ ^/app\.php(/|$) {
fastcgi_pass unix:/run/php/php8.3-fpm.sock;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
fastcgi_param DOCUMENT_ROOT $realpath_root;
internal;
}
location ~ \.php$ {
return 404;
}
location ~ /\.(?!well-known).* {
deny all;
}
error_log /var/log/nginx/wallabag_error.log;
access_log /var/log/nginx/wallabag_access.log;
}
EOF
ln -sf /etc/nginx/sites-available/wallabag /etc/nginx/sites-enabled/
rm -f /etc/nginx/sites-enabled/default
$STD systemctl reload nginx
msg_ok "Configured Nginx"
msg_info "Enabling Services"
systemctl enable -q --now redis-server
systemctl enable -q --now php8.3-fpm
systemctl enable -q --now nginx
msg_ok "Enabled Services"
motd_ssh
customize
cleanup_lxc