diff --git a/ct/headers/wallabag b/ct/headers/wallabag deleted file mode 100644 index dab1ff5cc..000000000 --- a/ct/headers/wallabag +++ /dev/null @@ -1,6 +0,0 @@ - _ __ ____ __ -| | / /___ _/ / /___ _/ /_ ____ _____ _ -| | /| / / __ `/ / / __ `/ __ \/ __ `/ __ `/ -| |/ |/ / /_/ / / / /_/ / /_/ / /_/ / /_/ / -|__/|__/\__,_/_/_/\__,_/_.___/\__,_/\__, / - /____/ diff --git a/ct/invoiceninja.sh b/ct/invoiceninja.sh deleted file mode 100644 index b043df78a..000000000 --- a/ct/invoiceninja.sh +++ /dev/null @@ -1,79 +0,0 @@ -#!/usr/bin/env bash -source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/misc/build.func) -# Copyright (c) 2021-2025 community-scripts ORG -# Author: MickLesk (CanbiZ) -# License: MIT | https://github.com/community-scripts/ProxmoxVED/raw/main/LICENSE -# Source: https://invoiceninja.com/ - -APP="InvoiceNinja" -var_tags="${var_tags:-invoicing;business}" -var_cpu="${var_cpu:-2}" -var_ram="${var_ram:-2048}" -var_disk="${var_disk:-8}" -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/invoiceninja ]]; then - msg_error "No ${APP} Installation Found!" - exit - fi - - if check_for_gh_release "invoiceninja" "invoiceninja/invoiceninja"; then - msg_info "Stopping Services" - systemctl stop supervisor nginx php8.4-fpm - msg_ok "Stopped Services" - - msg_info "Creating Backup" - mkdir -p /tmp/invoiceninja_backup - cp /opt/invoiceninja/.env /tmp/invoiceninja_backup/ - cp -r /opt/invoiceninja/storage /tmp/invoiceninja_backup/ 2>/dev/null || true - cp -r /opt/invoiceninja/public/storage /tmp/invoiceninja_backup/public_storage 2>/dev/null || true - msg_ok "Created Backup" - - CLEAN_INSTALL=1 fetch_and_deploy_gh_release "invoiceninja" "invoiceninja/invoiceninja" "prebuild" "latest" "/opt/invoiceninja" "invoiceninja.tar.gz" - - msg_info "Restoring Data" - cp /tmp/invoiceninja_backup/.env /opt/invoiceninja/ - cp -r /tmp/invoiceninja_backup/storage/* /opt/invoiceninja/storage/ 2>/dev/null || true - cp -r /tmp/invoiceninja_backup/public_storage/* /opt/invoiceninja/public/storage/ 2>/dev/null || true - rm -rf /tmp/invoiceninja_backup - msg_ok "Restored Data" - - msg_info "Running Migrations" - cd /opt/invoiceninja - $STD php artisan migrate --force - $STD php artisan config:clear - $STD php artisan cache:clear - $STD php artisan optimize - chown -R www-data:www-data /opt/invoiceninja - chmod -R 755 /opt/invoiceninja/storage - msg_ok "Ran Migrations" - - msg_info "Starting Services" - systemctl start php8.4-fpm nginx supervisor - 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}:8080/setup${CL}" diff --git a/ct/nextexplorer.sh b/ct/nextexplorer.sh new file mode 100644 index 000000000..f673a7cfc --- /dev/null +++ b/ct/nextexplorer.sh @@ -0,0 +1,72 @@ +#!/usr/bin/env bash +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/misc/build.func) +# Copyright (c) 2021-2025 community-scripts ORG +# Author: vhsdream +# License: MIT | https://github.com/community-scripts/ProxmoxVED/raw/main/LICENSE +# Source: https://github.com/vikramsoni2/nextExplorer + +APP="nextExplorer" +var_tags="${var_tags:-files;documents}" +var_cpu="${var_cpu:-2}" +var_ram="${var_ram:-3072}" +var_disk="${var_disk:-8}" +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/nextExplorer ]]; then + msg_error "No ${APP} Installation Found!" + exit + fi + + if check_for_gh_release "nextExplorer" "vikramsoni2/nextExplorer"; then + msg_info "Stopping nextExplorer" + $STD systemctl stop nextexplorer + msg_ok "Stopped nextExplorer" + + CLEAN_INSTALL=1 fetch_and_deploy_gh_release "nextExplorer" "vikramsoni2/nextExplorer" "tarball" "latest" "/opt/nextExplorer" + + msg_info "Updating nextExplorer" + APP_DIR="/opt/nextExplorer/app" + mkdir -p "$APP_DIR" + cd /opt/nextExplorer/backend + export NODE_ENV=production + $STD npm ci + cd /opt/nextExplorer/frontend + unset NODE_ENV + export NODE_ENV=development + $STD npm ci + $STD npm run build -- --sourcemap false + unset NODE_ENV + cd /opt/nextExplorer/ + mv backend/{node_modules,src,package.json} "$APP_DIR" + mv frontend/dist/ "$APP_DIR"/src/public + chown -R explorer:explorer "$APP_DIR" /etc/nextExplorer + msg_ok "Updated nextExplorer" + + msg_info "Starting nextExplorer" + $STD systemctl start nextexplorer + msg_ok "Started nextExplorer" + 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}:3000${CL}" diff --git a/ct/opencloud.sh b/ct/opencloud.sh index 1a47f5293..78aadba47 100644 --- a/ct/opencloud.sh +++ b/ct/opencloud.sh @@ -40,7 +40,7 @@ function update_script() { $STD apt-get dist-upgrade msg_ok "Updated packages" - CLEAN_INSTALL=1 fetch_and_deploy_gh_release "opencloud" "opencloud-eu/opencloud" "singlefile" "${RELEASE}" "/usr/bin" "opencloud-.*linux-amd64" + CLEAN_INSTALL=1 fetch_and_deploy_gh_release "opencloud" "opencloud-eu/opencloud" "singlefile" "${RELEASE}" "/usr/bin" "opencloud-*-linux-amd64" msg_info "Starting services" systemctl start opencloud opencloud-wopi diff --git a/ct/wallabag.sh b/ct/wallabag.sh deleted file mode 100644 index 2fc8b6a3f..000000000 --- a/ct/wallabag.sh +++ /dev/null @@ -1,72 +0,0 @@ -#!/usr/bin/env bash -source <(curl -fsSL https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/build.func) -# Copyright (c) 2021-2025 community-scripts ORG -# Author: MickLesk (CanbiZ) -# License: MIT | https://github.com/community-scripts/ProxmoxVED/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 - chmod -R 755 /opt/wallabag/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}" diff --git a/frontend/public/json/invoiceninja.json b/frontend/public/json/invoiceninja.json deleted file mode 100644 index 10c178e93..000000000 --- a/frontend/public/json/invoiceninja.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "name": "InvoiceNinja", - "slug": "invoiceninja", - "categories": [ - 3 - ], - "date_created": "2025-12-09", - "type": "ct", - "updateable": true, - "privileged": false, - "interface_port": 8080, - "documentation": "https://invoiceninja.github.io/selfhost.html", - "config_path": "/opt/invoiceninja/.env", - "website": "https://invoiceninja.com/", - "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/invoice-ninja.webp", - "description": "Invoice Ninja is a free, open-source invoicing, quotes, expenses and time-tracking application for freelancers and businesses. Features include recurring invoices, online payments, client portal, and multi-company support.", - "install_methods": [ - { - "type": "default", - "script": "ct/invoiceninja.sh", - "resources": { - "cpu": 2, - "ram": 2048, - "hdd": 8, - "os": "Debian", - "version": "13" - } - } - ], - "default_credentials": { - "username": null, - "password": null - }, - "notes": [ - { - "text": "First visit http://IP:8080/setup to complete the initial configuration", - "type": "info" - }, - { - "text": "Database credentials are stored in ~/invoiceninja.creds", - "type": "info" - }, - { - "text": "Configure SMTP settings in /opt/invoiceninja/.env for email functionality", - "type": "warning" - } - ] -} diff --git a/frontend/public/json/nextexplorer.json b/frontend/public/json/nextexplorer.json new file mode 100644 index 000000000..caa88b336 --- /dev/null +++ b/frontend/public/json/nextexplorer.json @@ -0,0 +1,37 @@ +{ + "name": "nextExplorer", + "slug": "nextexplorer", + "categories": [ + 11, + 12 + ], + "date_created": "2025-12-11", + "type": "ct", + "updateable": true, + "privileged": false, + "interface_port": 3000, + "documentation": "https://explorer.nxz.ai", + "website": "https://github.com/vikramsoni2/nextExplorer", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/nextexplorer.webp", + "config_path": "/etc/nextExplorer/.env", + "description": "", + "install_methods": [ + { + "type": "default", + "script": "ct/nextexplorer.sh", + "resources": { + "cpu": 2, + "ram": 3072, + "hdd": 8, + "os": "Debian", + "version": "13" + } + } + ], + "notes": [ + { + "text": "Bind mount your volume(s) in the `/mnt` directory", + "type": "info" + } + ] +} diff --git a/frontend/public/json/wallabag.json b/frontend/public/json/wallabag.json deleted file mode 100644 index c7ead0b69..000000000 --- a/frontend/public/json/wallabag.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "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" - } - ] -} diff --git a/install/invoiceninja-install.sh b/install/invoiceninja-install.sh deleted file mode 100644 index 38ac180d4..000000000 --- a/install/invoiceninja-install.sh +++ /dev/null @@ -1,168 +0,0 @@ -#!/usr/bin/env bash - -# Copyright (c) 2021-2025 community-scripts ORG -# Author: MickLesk (CanbiZ) -# License: MIT | https://github.com/community-scripts/ProxmoxVED/raw/main/LICENSE -# Source: https://invoiceninja.com/ - -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 \ - supervisor -msg_ok "Installed Dependencies" - -setup_mariadb -MARIADB_DB_NAME="invoiceninja" MARIADB_DB_USER="invoiceninja" setup_mariadb_db -PHP_VERSION="8.4" PHP_FPM="YES" PHP_MODULE="bcmath,curl,gd,gmp,imagick,intl,mbstring,mysql,soap,xml,zip" setup_php -import_local_ip -fetch_and_deploy_gh_release "invoiceninja" "invoiceninja/invoiceninja" "prebuild" "latest" "/opt/invoiceninja" "invoiceninja.tar.gz" - -msg_info "Configuring InvoiceNinja" -cd /opt/invoiceninja -APP_KEY=$(php artisan key:generate --show) -cat </opt/invoiceninja/.env -APP_NAME="Invoice Ninja" -APP_ENV=production -APP_KEY=${APP_KEY} -APP_DEBUG=false -APP_URL=http://${LOCAL_IP}:8080 - -DB_CONNECTION=mysql -DB_HOST=127.0.0.1 -DB_PORT=3306 -DB_DATABASE=${MARIADB_DB_NAME} -DB_USERNAME=${MARIADB_DB_USER} -DB_PASSWORD=${MARIADB_DB_PASS} - -MULTI_DB_ENABLED=false -DEMO_MODE=false - -BROADCAST_DRIVER=log -LOG_CHANNEL=stack -CACHE_DRIVER=file -QUEUE_CONNECTION=database -SESSION_DRIVER=file -SESSION_LIFETIME=120 - -MAIL_MAILER=log -MAIL_HOST=null -MAIL_PORT=null -MAIL_USERNAME=null -MAIL_PASSWORD=null -MAIL_ENCRYPTION=null -MAIL_FROM_ADDRESS="noreply@localhost" -MAIL_FROM_NAME="Invoice Ninja" - -REQUIRE_HTTPS=false -NINJA_ENVIRONMENT=selfhost -PDF_GENERATOR=snappdf - -TRUSTED_PROXIES=* -INTERNAL_QUEUE_ENABLED=false -EOF - -mkdir -p /opt/invoiceninja/bootstrap/cache -mkdir -p /opt/invoiceninja/storage/{app/public,framework/{cache/data,sessions,views},logs} -chown -R www-data:www-data /opt/invoiceninja -chmod -R 775 /opt/invoiceninja/storage /opt/invoiceninja/bootstrap/cache -msg_ok "Configured InvoiceNinja" - -msg_info "Setting up Database" -cd /opt/invoiceninja -$STD php artisan config:clear -$STD php artisan cache:clear -$STD php artisan route:clear -$STD php artisan view:clear -$STD php artisan migrate --force -$STD php artisan db:seed --force -$STD php artisan optimize -msg_ok "Set up Database" - -msg_info "Configuring Nginx" -cat <<'EOF' >/etc/nginx/sites-available/invoiceninja -server { - listen 8080; - server_name _; - root /opt/invoiceninja/public; - index index.php; - - client_max_body_size 50M; - charset utf-8; - - gzip on; - gzip_types application/javascript application/x-javascript text/javascript text/plain application/xml application/json; - gzip_proxied no-cache no-store private expired auth; - gzip_min_length 1000; - - location / { - try_files $uri $uri/ /index.php?$query_string; - } - - location = /index.php { - fastcgi_pass unix:/run/php/php8.4-fpm.sock; - fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; - include fastcgi_params; - fastcgi_read_timeout 300; - } - - location ~ \.php$ { - return 403; - } - - location ~ /\.ht { - deny all; - } - - error_log /var/log/nginx/invoiceninja_error.log; - access_log /var/log/nginx/invoiceninja_access.log; -} -EOF - -ln -sf /etc/nginx/sites-available/invoiceninja /etc/nginx/sites-enabled/ -rm -f /etc/nginx/sites-enabled/default -$STD systemctl reload nginx -msg_ok "Configured Nginx" - -msg_info "Setting up Queue Worker" -cat <<'EOF' >/etc/supervisor/conf.d/invoiceninja-worker.conf -[program:invoiceninja-worker] -process_name=%(program_name)s_%(process_num)02d -command=php /opt/invoiceninja/artisan queue:work --sleep=3 --tries=3 --max-time=3600 -autostart=true -autorestart=true -stopasgroup=true -killasgroup=true -user=www-data -numprocs=2 -redirect_stderr=true -stdout_logfile=/var/log/invoiceninja-worker.log -stopwaitsecs=3600 -EOF - -touch /var/log/invoiceninja-worker.log -chown www-data:www-data /var/log/invoiceninja-worker.log -$STD supervisorctl reread -$STD supervisorctl update -msg_ok "Set up Queue Worker" - -msg_info "Setting up Cron" -cat <<'EOF' >/etc/cron.d/invoiceninja -* * * * * www-data cd /opt/invoiceninja && php artisan schedule:run >> /dev/null 2>&1 -EOF -msg_ok "Set up Cron" - -msg_info "Enabling Services" -systemctl enable -q --now php8.4-fpm nginx supervisor -msg_ok "Enabled Services" - -motd_ssh -customize -cleanup_lxc diff --git a/install/nextexplorer-install.sh b/install/nextexplorer-install.sh new file mode 100644 index 000000000..a1f15a7d7 --- /dev/null +++ b/install/nextexplorer-install.sh @@ -0,0 +1,141 @@ +#!/usr/bin/env bash + +# Copyright (c) 2021-2025 community-scripts ORG +# Author: vhsdream +# License: MIT | https://github.com/community-scripts/ProxmoxVED/raw/main/LICENSE +# Source: https://github.com/vikramsoni2/nextExplorer + +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 \ + ripgrep \ + imagemagick \ + ffmpeg +msg_ok "Installed Dependencies" + +NODE_VERSION="24" setup_nodejs + +fetch_and_deploy_gh_release "nextExplorer" "vikramsoni2/nextExplorer" "tarball" "latest" "/opt/nextExplorer" + +msg_info "Building nextExplorer" +APP_DIR="/opt/nextExplorer/app" +LOCAL_IP="$(hostname -I | awk '{print $1}')" +mkdir -p "$APP_DIR" +mkdir -p /etc/nextExplorer +cd /opt/nextExplorer/backend +export NODE_ENV=production +$STD npm ci +unset NODE_ENV + +cd /opt/nextExplorer/frontend +export NODE_ENV=development +$STD npm ci +$STD npm run build -- --sourcemap false +unset NODE_ENV + +cd /opt/nextExplorer +mv backend/{node_modules,src,package.json} "$APP_DIR" +mv frontend/dist/ "$APP_DIR"/src/public +msg_ok "Built nextExplorer" + +msg_info "Configuring nextExplorer" +SECRET=$(openssl rand -hex 32) +cat </etc/nextExplorer/.env +NODE_ENV=production +PORT=3000 + +VOLUME_ROOT=/mnt +CONFIG_DIR=/etc/nextExplorer +CACHE_DIR=/etc/nextExplorer/cache +# USER_ROOT= + +PUBLIC_URL=${LOCAL_IP}:3000 +# TRUST_PROXY= +# CORS_ORIGINS= + +LOG_LEVEL=info +DEBUG=false +ENABLE_HTTP_LOGGING=false + +AUTH_ENABLED=true +AUTH_MODE=both +SESSION_SECRET="${SECRET}" +# AUTH_MAX_FAILED= +# AUTH_LOCK_MINUTES= + +# OIDC_ENABLED= +# OIDC_ISSUER= +# OIDC_AUTHORIZATION_URL= +# OIDC_TOKEN_URL= +# OIDC_USERINFO_URL= +# OIDC_CLIENT_ID= +# OIDC_CLIENT_SECRET= +# OIDC_CALLBACK_URL= +# OIDC_SCOPES= + +# SEARCH_DEEP= +# SEARCH_RIPGREP= +# SEARCH_MAX_FILESIZE= + +# ONLYOFFICE_URL= +# ONLYOFFICE_SECRET= +# ONLYOFFICE_LANG= +# ONLYOFFICE_FORCE_SAVE= +# ONLYOFFICE_FILE_EXTENSIONS= + +SHOW_VOLUME_USAGE=true +# USER_DIR_ENABLED= +# SKIP_HOME= + +# EDITOR_EXTENSIONS= + +# FFMPEG_PATH= +# FFPROBE_PATH= + +FAVORITES_DEFAULT_ICON=outline.StarIcon + +SHARES_ENABLED=true +# SHARES_TOKEN_LENGTH=10 +# SHARES_MAX_PER_USER=100 +# SHARES_DEFAULT_EXPIRY_DAYS=30 +# SHARES_GUEST_SESSION_HOURS=24 +# SHARES_ALLOW_PASSWORD=true +# SHARES_ALLOW_ANONYMOUS=true +EOF +chmod 600 /etc/nextExplorer/.env +$STD useradd -U -s /bin/bash -m -d /home/explorer explorer +chown -R explorer:explorer "$APP_DIR" /etc/nextExplorer +msg_ok "Configured nextExplorer" + +msg_info "Creating nextExplorer Service" +cat </etc/systemd/system/nextexplorer.service +[Unit] +Description=nextExplorer Service +After=network.target + +[Service] +Type=simple +WorkingDirectory=/opt/nextExplorer/app +EnvironmentFile=/etc/nextExplorer/.env +ExecStart=/usr/bin/node ./src/app.js +Restart=always +RestartSec=5 +StandardOutput=journal +StandardError=journal + +[Install] +WantedBy=multi-user.target +EOF +$STD systemctl enable -q --now nextexplorer +msg_ok "Created nextExplorer Service" + +motd_ssh +customize +cleanup_lxc diff --git a/install/opencloud-install.sh b/install/opencloud-install.sh index b4340d8db..92b4e55c8 100644 --- a/install/opencloud-install.sh +++ b/install/opencloud-install.sh @@ -115,6 +115,7 @@ WEB_ASSET_APPS_PATH=${CONFIG_DIR}/assets/apps ## uncomment for OpenID in general # OC_EXCLUDE_RUN_SERVICES=idp # OC_OIDC_ISSUER= +# IDP_DOMAIN= # PROXY_OIDC_ACCESS_TOKEN_VERIFY_METHOD=none # PROXY_OIDC_REWRITE_WELLKNOWN=true # PROXY_USER_OIDC_CLAIM=preferred_username @@ -167,6 +168,7 @@ Type=simple User=opencloud Group=opencloud EnvironmentFile=${ENV_FILE} +ExecStartPre=/bin/sleep 10 ExecStart=/usr/bin/opencloud collaboration server Restart=always KillSignal=SIGKILL diff --git a/install/wallabag-install.sh b/install/wallabag-install.sh deleted file mode 100644 index f9723df97..000000000 --- a/install/wallabag-install.sh +++ /dev/null @@ -1,150 +0,0 @@ -#!/usr/bin/env bash - -# Copyright (c) 2021-2025 community-scripts ORG -# Author: MickLesk (CanbiZ) -# License: MIT | https://github.com/community-scripts/ProxmoxVED/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 </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 -chmod -R 755 /opt/wallabag/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