From 183ba006907605036e0f8ad78b5b2028f69977cc Mon Sep 17 00:00:00 2001 From: librelad Date: Tue, 18 Aug 2026 04:10:46 +0100 Subject: [PATCH] =?UTF-8?q?chore:=20delete=20scripts/unused=20=E2=80=94=20?= =?UTF-8?q?19=20shelved=20app=20templates?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Dead weight: 19 app directories, 101 files, none referenced by any live code path and already export-ignored so they never shipped in a release. Several were actively misleading — the mailcow attempt in there is what the mail-server discussion kept having to explain around, and none of them would survive contact with the current conventions (tag sentinels, port manager, backup labels, update policy). Verified before deleting: nothing outside the tree references it, and none of the 19 duplicates a live app in containers/. Git keeps the history if any of them is ever wanted back. Function manifest and source arrays regenerated — no entries pointed into the deleted tree. Co-Authored-By: Claude Opus 5 --- .../OLD_CONTAINERS/anysync/anysync.config | 31 -- .../unused/OLD_CONTAINERS/anysync/anysync.sh | 134 ------- .../unused/OLD_CONTAINERS/anysync/anysync.svg | 1 - .../OLD_CONTAINERS/anysync/docker-compose.yml | 75 ---- .../OLD_CONTAINERS/baikal/baikal.config | 30 -- .../unused/OLD_CONTAINERS/baikal/baikal.sh | 122 ------- .../unused/OLD_CONTAINERS/baikal/baikal.svg | 112 ------ .../OLD_CONTAINERS/baikal/docker-compose.yml | 26 -- .../dolibarr/docker-compose.yml | 49 --- .../OLD_CONTAINERS/dolibarr/dolibarr.config | 31 -- .../OLD_CONTAINERS/dolibarr/dolibarr.sh | 114 ------ .../OLD_CONTAINERS/dolibarr/dolibarr.svg | 1 - .../duplicati/docker-compose.yml | 33 -- .../OLD_CONTAINERS/duplicati/duplicati.config | 30 -- .../OLD_CONTAINERS/duplicati/duplicati.sh | 114 ------ .../OLD_CONTAINERS/duplicati/duplicati.svg | 1 - .../fail2ban/docker-compose.yml | 40 -- .../OLD_CONTAINERS/fail2ban/fail2ban.config | 32 -- .../OLD_CONTAINERS/fail2ban/fail2ban.sh | 158 -------- .../OLD_CONTAINERS/fail2ban/fail2ban.svg | 122 ------- .../fail2ban/resources/jail.local | 12 - .../OLD_CONTAINERS/firefly/docker-compose.yml | 52 --- .../OLD_CONTAINERS/firefly/firefly.config | 30 -- .../unused/OLD_CONTAINERS/firefly/firefly.sh | 141 -------- .../unused/OLD_CONTAINERS/firefly/firefly.svg | 1 - .../OLD_CONTAINERS/firefly/resources/.db.env | 4 - .../OLD_CONTAINERS/firefly/resources/.env | 341 ------------------ .../killbill/docker-compose.yml | 54 --- .../OLD_CONTAINERS/killbill/killbill.config | 30 -- .../OLD_CONTAINERS/killbill/killbill.sh | 114 ------ .../OLD_CONTAINERS/killbill/killbill.svg | 65 ---- .../OLD_CONTAINERS/kimai/docker-compose.yml | 104 ------ .../unused/OLD_CONTAINERS/kimai/kimai.config | 30 -- scripts/unused/OLD_CONTAINERS/kimai/kimai.sh | 129 ------- scripts/unused/OLD_CONTAINERS/kimai/kimai.svg | 1 - .../OLD_CONTAINERS/mailcow/docker-compose.yml | 34 -- .../OLD_CONTAINERS/mailcow/mailcow.config | 32 -- .../unused/OLD_CONTAINERS/mailcow/mailcow.sh | 214 ----------- .../unused/OLD_CONTAINERS/mailcow/mailcow.svg | 1 - .../mailcow/resources/caddy-to-mailcow-ssl.sh | 15 - .../mattermost/mattermost.config | 32 -- .../OLD_CONTAINERS/mattermost/mattermost.sh | 255 ------------- .../OLD_CONTAINERS/mattermost/mattermost.svg | 1 - .../mattermost/mattermost_auth.sh | 60 --- .../mattermost/mattermost_create_account.sh | 6 - .../mattermost/mattermost_delete_user.sh | 6 - .../mattermost/mattermost_list_users.sh | 5 - .../mattermost/mattermost_reset_password.sh | 8 - .../mattermost/mattermost_set_admin.sh | 6 - .../nextcloud_hpb/docker-compose.yml | 38 -- .../nextcloud_hpb/nextcloud_hpb.config | 30 -- .../nextcloud_hpb/nextcloud_hpb.sh | 157 -------- .../nextcloud_hpb/nextcloud_hpb.svg | 1 - .../nextcloud_record/docker-compose.yml | 30 -- .../nextcloud_record/nextcloud_record.config | 31 -- .../nextcloud_record/nextcloud_record.sh | 148 -------- .../nextcloud_record/nextcloud_record.svg | 1 - .../OLD_CONTAINERS/nginx/docker-compose.yml | 37 -- .../unused/OLD_CONTAINERS/nginx/nginx.config | 64 ---- scripts/unused/OLD_CONTAINERS/nginx/nginx.sh | 112 ------ scripts/unused/OLD_CONTAINERS/nginx/nginx.svg | 1 - .../OLD_CONTAINERS/nginx/resources/index.html | 13 - .../olivetin/docker-compose.yml | 28 -- .../OLD_CONTAINERS/olivetin/olivetin.config | 32 -- .../OLD_CONTAINERS/olivetin/olivetin.sh | 149 -------- .../OLD_CONTAINERS/olivetin/olivetin.svg | 1 - .../olivetin/resources/config.yaml | 64 ---- .../OLD_CONTAINERS/piped/docker-compose.yml | 85 ----- .../unused/OLD_CONTAINERS/piped/piped.config | 31 -- scripts/unused/OLD_CONTAINERS/piped/piped.sh | 118 ------ scripts/unused/OLD_CONTAINERS/piped/piped.svg | 1 - .../portainer/docker-compose.yml | 38 -- .../OLD_CONTAINERS/portainer/portainer.config | 65 ---- .../OLD_CONTAINERS/portainer/portainer.sh | 111 ------ .../OLD_CONTAINERS/portainer/portainer.svg | 1 - .../OLD_CONTAINERS/seafile/docker-compose.yml | 61 ---- .../OLD_CONTAINERS/seafile/resources/.env | 341 ------------------ .../OLD_CONTAINERS/seafile/seafile.config | 31 -- .../unused/OLD_CONTAINERS/seafile/seafile.sh | 146 -------- .../unused/OLD_CONTAINERS/seafile/seafile.svg | 1 - .../sshdownload/docker-compose.yml | 25 -- .../sshdownload/resources/index.html | 25 -- .../sshdownload/sshdownload.config | 31 -- .../OLD_CONTAINERS/sshdownload/sshdownload.sh | 178 --------- .../sshdownload/sshdownload.svg | 290 --------------- .../tiledesk/docker-compose.yml | 90 ----- .../OLD_CONTAINERS/tiledesk/tiledesk.config | 31 -- .../OLD_CONTAINERS/tiledesk/tiledesk.sh | 146 -------- .../OLD_CONTAINERS/tiledesk/tiledesk.svg | 5 - scripts/unused/check_wireguard.sh | 14 - scripts/unused/manage_wireguard.sh | 42 --- scripts/unused/manager/check_manager.sh | 14 - .../unused/manager/install_user_manager.sh | 77 ---- .../unused/manager/uninstall_user_manager.sh | 21 -- scripts/unused/ssh_manager.sh | 278 -------------- .../unused/wireguard/client/check_clients.sh | 12 - .../unused/wireguard/client/list_clients.sh | 10 - .../unused/wireguard/client/revoke_client.sh | 31 -- scripts/unused/wireguard/config_wireguard | 7 - .../unused/wireguard/install_standalone.sh | 255 ------------- .../unused/wireguard/uninstall_standalone.sh | 52 --- 101 files changed, 6640 deletions(-) delete mode 100755 scripts/unused/OLD_CONTAINERS/anysync/anysync.config delete mode 100755 scripts/unused/OLD_CONTAINERS/anysync/anysync.sh delete mode 100755 scripts/unused/OLD_CONTAINERS/anysync/anysync.svg delete mode 100755 scripts/unused/OLD_CONTAINERS/anysync/docker-compose.yml delete mode 100755 scripts/unused/OLD_CONTAINERS/baikal/baikal.config delete mode 100755 scripts/unused/OLD_CONTAINERS/baikal/baikal.sh delete mode 100755 scripts/unused/OLD_CONTAINERS/baikal/baikal.svg delete mode 100755 scripts/unused/OLD_CONTAINERS/baikal/docker-compose.yml delete mode 100755 scripts/unused/OLD_CONTAINERS/dolibarr/docker-compose.yml delete mode 100755 scripts/unused/OLD_CONTAINERS/dolibarr/dolibarr.config delete mode 100755 scripts/unused/OLD_CONTAINERS/dolibarr/dolibarr.sh delete mode 100755 scripts/unused/OLD_CONTAINERS/dolibarr/dolibarr.svg delete mode 100755 scripts/unused/OLD_CONTAINERS/duplicati/docker-compose.yml delete mode 100755 scripts/unused/OLD_CONTAINERS/duplicati/duplicati.config delete mode 100755 scripts/unused/OLD_CONTAINERS/duplicati/duplicati.sh delete mode 100755 scripts/unused/OLD_CONTAINERS/duplicati/duplicati.svg delete mode 100755 scripts/unused/OLD_CONTAINERS/fail2ban/docker-compose.yml delete mode 100755 scripts/unused/OLD_CONTAINERS/fail2ban/fail2ban.config delete mode 100755 scripts/unused/OLD_CONTAINERS/fail2ban/fail2ban.sh delete mode 100755 scripts/unused/OLD_CONTAINERS/fail2ban/fail2ban.svg delete mode 100755 scripts/unused/OLD_CONTAINERS/fail2ban/resources/jail.local delete mode 100755 scripts/unused/OLD_CONTAINERS/firefly/docker-compose.yml delete mode 100755 scripts/unused/OLD_CONTAINERS/firefly/firefly.config delete mode 100755 scripts/unused/OLD_CONTAINERS/firefly/firefly.sh delete mode 100755 scripts/unused/OLD_CONTAINERS/firefly/firefly.svg delete mode 100755 scripts/unused/OLD_CONTAINERS/firefly/resources/.db.env delete mode 100755 scripts/unused/OLD_CONTAINERS/firefly/resources/.env delete mode 100755 scripts/unused/OLD_CONTAINERS/killbill/docker-compose.yml delete mode 100755 scripts/unused/OLD_CONTAINERS/killbill/killbill.config delete mode 100755 scripts/unused/OLD_CONTAINERS/killbill/killbill.sh delete mode 100755 scripts/unused/OLD_CONTAINERS/killbill/killbill.svg delete mode 100755 scripts/unused/OLD_CONTAINERS/kimai/docker-compose.yml delete mode 100755 scripts/unused/OLD_CONTAINERS/kimai/kimai.config delete mode 100755 scripts/unused/OLD_CONTAINERS/kimai/kimai.sh delete mode 100755 scripts/unused/OLD_CONTAINERS/kimai/kimai.svg delete mode 100755 scripts/unused/OLD_CONTAINERS/mailcow/docker-compose.yml delete mode 100755 scripts/unused/OLD_CONTAINERS/mailcow/mailcow.config delete mode 100755 scripts/unused/OLD_CONTAINERS/mailcow/mailcow.sh delete mode 100755 scripts/unused/OLD_CONTAINERS/mailcow/mailcow.svg delete mode 100755 scripts/unused/OLD_CONTAINERS/mailcow/resources/caddy-to-mailcow-ssl.sh delete mode 100755 scripts/unused/OLD_CONTAINERS/mattermost/mattermost.config delete mode 100755 scripts/unused/OLD_CONTAINERS/mattermost/mattermost.sh delete mode 100755 scripts/unused/OLD_CONTAINERS/mattermost/mattermost.svg delete mode 100644 scripts/unused/OLD_CONTAINERS/mattermost/mattermost_auth.sh delete mode 100644 scripts/unused/OLD_CONTAINERS/mattermost/mattermost_create_account.sh delete mode 100644 scripts/unused/OLD_CONTAINERS/mattermost/mattermost_delete_user.sh delete mode 100644 scripts/unused/OLD_CONTAINERS/mattermost/mattermost_list_users.sh delete mode 100755 scripts/unused/OLD_CONTAINERS/mattermost/mattermost_reset_password.sh delete mode 100644 scripts/unused/OLD_CONTAINERS/mattermost/mattermost_set_admin.sh delete mode 100755 scripts/unused/OLD_CONTAINERS/nextcloud_hpb/docker-compose.yml delete mode 100755 scripts/unused/OLD_CONTAINERS/nextcloud_hpb/nextcloud_hpb.config delete mode 100755 scripts/unused/OLD_CONTAINERS/nextcloud_hpb/nextcloud_hpb.sh delete mode 100755 scripts/unused/OLD_CONTAINERS/nextcloud_hpb/nextcloud_hpb.svg delete mode 100755 scripts/unused/OLD_CONTAINERS/nextcloud_record/docker-compose.yml delete mode 100755 scripts/unused/OLD_CONTAINERS/nextcloud_record/nextcloud_record.config delete mode 100755 scripts/unused/OLD_CONTAINERS/nextcloud_record/nextcloud_record.sh delete mode 100755 scripts/unused/OLD_CONTAINERS/nextcloud_record/nextcloud_record.svg delete mode 100755 scripts/unused/OLD_CONTAINERS/nginx/docker-compose.yml delete mode 100755 scripts/unused/OLD_CONTAINERS/nginx/nginx.config delete mode 100755 scripts/unused/OLD_CONTAINERS/nginx/nginx.sh delete mode 100755 scripts/unused/OLD_CONTAINERS/nginx/nginx.svg delete mode 100755 scripts/unused/OLD_CONTAINERS/nginx/resources/index.html delete mode 100755 scripts/unused/OLD_CONTAINERS/olivetin/docker-compose.yml delete mode 100755 scripts/unused/OLD_CONTAINERS/olivetin/olivetin.config delete mode 100755 scripts/unused/OLD_CONTAINERS/olivetin/olivetin.sh delete mode 100755 scripts/unused/OLD_CONTAINERS/olivetin/olivetin.svg delete mode 100755 scripts/unused/OLD_CONTAINERS/olivetin/resources/config.yaml delete mode 100755 scripts/unused/OLD_CONTAINERS/piped/docker-compose.yml delete mode 100755 scripts/unused/OLD_CONTAINERS/piped/piped.config delete mode 100755 scripts/unused/OLD_CONTAINERS/piped/piped.sh delete mode 100755 scripts/unused/OLD_CONTAINERS/piped/piped.svg delete mode 100755 scripts/unused/OLD_CONTAINERS/portainer/docker-compose.yml delete mode 100755 scripts/unused/OLD_CONTAINERS/portainer/portainer.config delete mode 100755 scripts/unused/OLD_CONTAINERS/portainer/portainer.sh delete mode 100755 scripts/unused/OLD_CONTAINERS/portainer/portainer.svg delete mode 100755 scripts/unused/OLD_CONTAINERS/seafile/docker-compose.yml delete mode 100755 scripts/unused/OLD_CONTAINERS/seafile/resources/.env delete mode 100755 scripts/unused/OLD_CONTAINERS/seafile/seafile.config delete mode 100755 scripts/unused/OLD_CONTAINERS/seafile/seafile.sh delete mode 100755 scripts/unused/OLD_CONTAINERS/seafile/seafile.svg delete mode 100755 scripts/unused/OLD_CONTAINERS/sshdownload/docker-compose.yml delete mode 100755 scripts/unused/OLD_CONTAINERS/sshdownload/resources/index.html delete mode 100755 scripts/unused/OLD_CONTAINERS/sshdownload/sshdownload.config delete mode 100755 scripts/unused/OLD_CONTAINERS/sshdownload/sshdownload.sh delete mode 100755 scripts/unused/OLD_CONTAINERS/sshdownload/sshdownload.svg delete mode 100755 scripts/unused/OLD_CONTAINERS/tiledesk/docker-compose.yml delete mode 100755 scripts/unused/OLD_CONTAINERS/tiledesk/tiledesk.config delete mode 100755 scripts/unused/OLD_CONTAINERS/tiledesk/tiledesk.sh delete mode 100755 scripts/unused/OLD_CONTAINERS/tiledesk/tiledesk.svg delete mode 100755 scripts/unused/check_wireguard.sh delete mode 100755 scripts/unused/manage_wireguard.sh delete mode 100755 scripts/unused/manager/check_manager.sh delete mode 100755 scripts/unused/manager/install_user_manager.sh delete mode 100755 scripts/unused/manager/uninstall_user_manager.sh delete mode 100755 scripts/unused/ssh_manager.sh delete mode 100755 scripts/unused/wireguard/client/check_clients.sh delete mode 100755 scripts/unused/wireguard/client/list_clients.sh delete mode 100755 scripts/unused/wireguard/client/revoke_client.sh delete mode 100755 scripts/unused/wireguard/config_wireguard delete mode 100755 scripts/unused/wireguard/install_standalone.sh delete mode 100755 scripts/unused/wireguard/uninstall_standalone.sh diff --git a/scripts/unused/OLD_CONTAINERS/anysync/anysync.config b/scripts/unused/OLD_CONTAINERS/anysync/anysync.config deleted file mode 100755 index 8dea498..0000000 --- a/scripts/unused/OLD_CONTAINERS/anysync/anysync.config +++ /dev/null @@ -1,31 +0,0 @@ -# -# APP_NAME = name of the application for use in the scripts -# COMPOSE_FILE = default for no app_name in the docker compose file name, app if there is -# HOST NAME = subdomain name e.g test is the name for test.website.com -# DOMAIN = number of the domain from the general config, useful when using multiple domains -# PUBLIC = if true, application will be setup with the reverse proxy and accessible from the internet -# WHITELIST = if true only allow whitelisted ips (see general config), if false allow all -# HEALTHCHECK = if true, the default docker health checks for that container will be enabled -# HEADSCALE = options : false, local, remote (see general config). e.g false or local,remote -# PORTS = port number(s) that the application will be used (comma seperated) -# OPEN PORTS = port number(s) that the application will be used (comma seperated) -# -CFG_ANYSYNC_APP_NAME=anysync -CFG_ANYSYNC_BACKUP=true -CFG_ANYSYNC_COMPOSE_FILE=app -CFG_ANYSYNC_HOST_NAME=space -CFG_ANYSYNC_DOMAIN=1 -CFG_ANYSYNC_PUBLIC=true -CFG_ANYSYNC_WHITELIST=false -CFG_ANYSYNC_HEALTHCHECK=true -CFG_ANYSYNC_HEADSCALE=false -CFG_ANYSYNC_PORTS=8001,8002,8003,8004,8005,8006,8081,8082 -CFG_ANYSYNC_OPEN_PORTS=8001/tcp,8002/tcp,8003/tcp,8004/tcp,8005/tcp,8006/tcp,8081/tcp,8082/tcp -CFG_ANYSYNC_GIT="https://github.com/anyproto/any-sync-dockercompose" -# Application metadata -CFG_ANYSYNC_CATEGORY="Knowledge Management" -CFG_ANYSYNC_TITLE="Anysync" -CFG_ANYSYNC_DESCRIPTION="Personal Knowledge Base" -CFG_ANYSYNC_LONG_DESCRIPTION="Docker-compose for any-sync Self-host for a personal knowledge base and sync system with end-to-end encryption" -CFG_ANYSYNC_URL="https://github.com/anyproto" -CFG_ANYSYNC_ACTIONS="configure|install|restart|shutdown|uninstall" diff --git a/scripts/unused/OLD_CONTAINERS/anysync/anysync.sh b/scripts/unused/OLD_CONTAINERS/anysync/anysync.sh deleted file mode 100755 index 0ff00d5..0000000 --- a/scripts/unused/OLD_CONTAINERS/anysync/anysync.sh +++ /dev/null @@ -1,134 +0,0 @@ -#!/bin/bash - -# Category : Knowledge Management -# Description : Anysync - Personal Knowledge Base (c/u/s/r/i): - -installAnysync() -{ - local config_variables="$1" - - if [[ "$anysync" == *[cCtTuUsSrRiI]* ]]; then - dockerConfigSetupToContainer silent anysync; - local app_name=$CFG_ANYSYNC_APP_NAME - initializeAppVariables $app_name; - fi - - if [[ "$anysync" == *[cC]* ]]; then - editAppConfig $app_name; - fi - - if [[ "$anysync" == *[uU]* ]]; then - dockerUninstallApp $app_name; - fi - - if [[ "$anysync" == *[sS]* ]]; then - dockerComposeDown $app_name; - fi - - if [[ "$anysync" == *[rR]* ]]; then - dockerComposeRestart $app_name; - fi - - if [[ "$anysync" == *[iI]* ]]; then - echo "" - echo "##########################################" - echo "### Install $app_name" - echo "##########################################" - echo "" - - ((menu_number++)) - echo "" - echo "---- $menu_number. Setting up install folder and config file for $app_name." - echo "" - - dockerConfigSetupToContainer "loud" "$app_name" "install" "$config_variables"; - isSuccessful "Install folders and Config files have been setup for $app_name." - - ((menu_number++)) - echo "" - ((menu_number++)) - echo "" - echo "---- $menu_number. Pulling $app_name Git repo" - echo "" - - backupContainerFilesToTemp $app_name; - local result=$(sudo rm -rf $containers_dir$app_name) - checkSuccess "Removing $app_name install folder" - - local result=$(sudo -u $docker_install_user git clone $CFG_ANYSYNC_GIT $containers_dir$app_name) - checkSuccess "Cloning $app_name Git" - backupContainerFilesRestore $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Generating the .env file file." - echo "" - - cd $containers_dir$app_name - local result=$(docker buildx build --tag generateconfig-env --file Dockerfile-generateconfig-env .) - local result=$(docker run --rm --volume $containers_dir$app_name/:/code/ generateconfig-env) - - ((menu_number++)) - echo "" - echo "---- $menu_number. Setting up the $app_name docker-compose.yml file." - echo "" - - dockerComposeSetupFile $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Updating file permissions before starting." - echo "" - - fixPermissionsBeforeStart $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Running the docker-compose.yml to install and start $app_name" - echo "" - - dockerComposeUpdateAndStartApp $app_name install; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Running Application specific updates (if required)" - echo "" - - appUpdateSpecifics $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Running Headscale setup (if required)" - echo "" - - setupHeadscale $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Adding $app_name to the Apps Database table." - echo "" - - databaseInstallApp $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Updating WebUI config file." - echo "" - - webuiContainerSetup $app_name install; - - ((menu_number++)) - echo "" - echo "---- $menu_number. You can find $app_name files at $containers_dir$app_name" - echo "" - echo " You can now navigate to your new service using one of the options below : " - echo "" - - menuShowFinalMessages $app_name; - - menu_number=0 - #sleep 3s - cd - fi - anysync=n -} diff --git a/scripts/unused/OLD_CONTAINERS/anysync/anysync.svg b/scripts/unused/OLD_CONTAINERS/anysync/anysync.svg deleted file mode 100755 index 350d894..0000000 --- a/scripts/unused/OLD_CONTAINERS/anysync/anysync.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/scripts/unused/OLD_CONTAINERS/anysync/docker-compose.yml b/scripts/unused/OLD_CONTAINERS/anysync/docker-compose.yml deleted file mode 100755 index acf9b8f..0000000 --- a/scripts/unused/OLD_CONTAINERS/anysync/docker-compose.yml +++ /dev/null @@ -1,75 +0,0 @@ -# https://github.com/anyproto/any-sync-dockercompose -services: - any-sync-coordinator: - ports: - - "${ANY_SYNC_COORDINATOR_PORT}:${ANY_SYNC_COORDINATOR_PORT}" - - "${ANY_SYNC_COORDINATOR_QUIC_PORT}:${ANY_SYNC_COORDINATOR_QUIC_PORT}/udp" - - PORT5:8000 - - any-sync-filenode: - ports: - - "${ANY_SYNC_FILENODE_PORT}:${ANY_SYNC_FILENODE_PORT}" - - "${ANY_SYNC_FILENODE_QUIC_PORT}:${ANY_SYNC_FILENODE_QUIC_PORT}/udp" - - PORT4:8000 - - any-sync-node-1: - ports: - - "${ANY_SYNC_NODE_1_PORT}:${ANY_SYNC_NODE_1_PORT}" - - "${ANY_SYNC_NODE_1_QUIC_PORT}:${ANY_SYNC_NODE_1_QUIC_PORT}/udp" - - PORT7:8080 - - PORT1:8000 - - any-sync-node-2: - ports: - - "${ANY_SYNC_NODE_2_PORT}:${ANY_SYNC_NODE_2_PORT}" - - "${ANY_SYNC_NODE_2_QUIC_PORT}:${ANY_SYNC_NODE_2_QUIC_PORT}/udp" - - PORT8:8080 - - PORT2:8000 - - any-sync-node-3: - ports: - - "${ANY_SYNC_NODE_3_PORT}:${ANY_SYNC_NODE_3_PORT}" - - "${ANY_SYNC_NODE_3_QUIC_PORT}:${ANY_SYNC_NODE_3_QUIC_PORT}/udp" - - 8083:8080 - - PORT3:8000 - - any-sync-consensusnode: - ports: - - "${ANY_SYNC_CONSENSUSNODE_PORT}:${ANY_SYNC_CONSENSUSNODE_PORT}" - - "${ANY_SYNC_CONSENSUSNODE_QUIC_PORT}:${ANY_SYNC_CONSENSUSNODE_QUIC_PORT}/udp" - - PORT6:8000 - - mongo-1: - command: --replSet ${MONGO_REPLICA_SET} --port ${MONGO_1_PORT} - ports: - - "${MONGO_1_PORT}:${MONGO_1_PORT}" - volumes: - - ./storage/mongo-1/:/data/db - healthcheck: - test: test $$(mongosh --port ${MONGO_1_PORT} --quiet --eval "try {rs.initiate({_id:'${MONGO_REPLICA_SET}',members:[{_id:0,host:\"mongo-1:${MONGO_1_PORT}\"}]})} catch(e) {rs.status().ok}") -eq 1 - - redis: - command: redis-server --port ${REDIS_PORT} --dir /data/ --appendonly yes --maxmemory 256mb --maxmemory-policy noeviction --protected-mode no --loadmodule /opt/redis-stack/lib/redisbloom.so - ports: - - "${REDIS_PORT}:${REDIS_PORT}" - healthcheck: - test: [ "CMD", "redis-cli", "--raw", "-p", "${REDIS_PORT}", "incr", "ping" ] - - minio: - command: server /data --console-address ":${MINIO_WEB_PORT}" --address ":${MINIO_PORT}" - ports: - - "${EXTERNAL_MINIO_PORT}:${MINIO_PORT}" - - "${EXTERNAL_MINIO_WEB_PORT}:${MINIO_WEB_PORT}" - volumes: - - ./storage/minio:/data - healthcheck: - test: bash -c ':> /dev/tcp/127.0.0.1/${MINIO_PORT}' || exit 1 - networks: - default: - aliases: - - "${MINIO_BUCKET}.minio" # . - - create-bucket: - environment: - MC_HOST_minio: http://${AWS_ACCESS_KEY_ID}:${AWS_SECRET_ACCESS_KEY}@minio:${MINIO_PORT} - diff --git a/scripts/unused/OLD_CONTAINERS/baikal/baikal.config b/scripts/unused/OLD_CONTAINERS/baikal/baikal.config deleted file mode 100755 index 1f97e4e..0000000 --- a/scripts/unused/OLD_CONTAINERS/baikal/baikal.config +++ /dev/null @@ -1,30 +0,0 @@ -# -# APP_NAME = name of the application for use in the scripts -# COMPOSE_FILE = default for no app_name in the docker compose file name, app if there is -# HOST NAME = subdomain name e.g test is the name for test.website.com -# DOMAIN = number of the domain from the general config, useful when using multiple domains -# PUBLIC = if true, application will be setup with the reverse proxy and accessible from the internet -# WHITELIST = if true only allow whitelisted ips (see general config), if false allow all -# HEALTHCHECK = if true, the default docker health checks for that container will be enabled -# AUTHELIA = if true, use Authelia authentication, if false turned off. -# HEADSCALE = options : false, local, remote (see general config). e.g false or local,remote -# PORTS = port number(s) that the application will be used (comma seperated) -# -CFG_BAIKAL_APP_NAME=baikal -CFG_BAIKAL_BACKUP=true -CFG_BAIKAL_COMPOSE_FILE=default -CFG_BAIKAL_HOST_NAME=calendar -CFG_BAIKAL_DOMAIN=1 -CFG_BAIKAL_PUBLIC=true -CFG_BAIKAL_WHIELIST=false -CFG_BAIKAL_HEALTHCHECK=true -CFG_BAIKAL_AUTHELIA=false -CFG_BAIKAL_HEADSCALE=false -CFG_BAIKAL_PORTS=12324 -# Application metadata -CFG_BAIKAL_CATEGORY="Knowledge Management" -CFG_BAIKAL_TITLE="Baikal" -CFG_BAIKAL_DESCRIPTION="CalDAV and CardDAV Server" -CFG_BAIKAL_LONG_DESCRIPTION="Baikal is a lightweight CalDAV+CardDAV server that allows you to sync your calendars and contacts with your mobile devices and desktop clients" -CFG_BAIKAL_URL="https://github.com/sabre-io/Baikal" -CFG_BAIKAL_ACTIONS="configure|install|restart|shutdown|uninstall" diff --git a/scripts/unused/OLD_CONTAINERS/baikal/baikal.sh b/scripts/unused/OLD_CONTAINERS/baikal/baikal.sh deleted file mode 100755 index 3e11c98..0000000 --- a/scripts/unused/OLD_CONTAINERS/baikal/baikal.sh +++ /dev/null @@ -1,122 +0,0 @@ -#!/bin/bash - -# Category : Knowledge Management -# Description : Baikal - CalDAV and CardDAV Server (c/u/s/r/i): - -installBaikal() -{ - local config_variables="$1" - - if [[ "$baikal" == *[cCtTuUsSrRiI]* ]]; then - dockerConfigSetupToContainer silent baikal; - local app_name=$CFG_BAIKAL_APP_NAME - initializeAppVariables $app_name; - fi - - if [[ "$baikal" == *[cC]* ]]; then - editAppConfig $app_name; - fi - - if [[ "$baikal" == *[uU]* ]]; then - dockerUninstallApp $app_name; - fi - - if [[ "$baikal" == *[sS]* ]]; then - dockerComposeDown $app_name; - fi - - if [[ "$baikal" == *[rR]* ]]; then - dockerComposeRestart $app_name; - fi - - if [[ "$baikal" == *[iI]* ]]; then - echo "" - echo "##########################################" - echo "### Install $app_name" - echo "##########################################" - echo "" - - ((menu_number++)) - echo "" - echo "---- $menu_number. Setting up install folder and config file for $app_name." - echo "" - - dockerConfigSetupToContainer "loud" "$app_name" "install" "$config_variables"; - isSuccessful "Install folders and Config files have been setup for $app_name." - - ((menu_number++)) - echo "" - - - ((menu_number++)) - echo "" - echo "---- $menu_number. Setting up the $app_name docker-compose.yml file." - echo "" - - dockerComposeSetupFile $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Updating file permissions before starting." - echo "" - - fixPermissionsBeforeStart $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Running the docker-compose.yml to install and start $app_name" - echo "" - - dockerComposeUpdateAndStartApp $app_name install; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Adjusting $app_name Nginx docker system files for port changes." - echo "" - - dockerCommandRun "docker exec -it $app_name /bin/bash -c 'sed -i "/^ *listen/s/[0-9]\\+/$usedport1/g" /etc/nginx/conf.d/default.conf'" - dockerComposeRestart $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Running Application specific updates (if required)" - echo "" - - appUpdateSpecifics $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Running Headscale setup (if required)" - echo "" - - setupHeadscale $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Adding $app_name to the Apps Database table." - echo "" - - databaseInstallApp $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Updating WebUI config file." - echo "" - - webuiContainerSetup $app_name install; - - ((menu_number++)) - echo "" - echo "---- $menu_number. You can find $app_name files at $containers_dir$app_name" - echo "" - echo " You can now navigate to your $app_name service using any of the options below : " - echo "" - - menuShowFinalMessages $app_name; - - menu_number=0 - #sleep 3s - cd - fi - baikal=n -} diff --git a/scripts/unused/OLD_CONTAINERS/baikal/baikal.svg b/scripts/unused/OLD_CONTAINERS/baikal/baikal.svg deleted file mode 100755 index 6c998d3..0000000 --- a/scripts/unused/OLD_CONTAINERS/baikal/baikal.svg +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/scripts/unused/OLD_CONTAINERS/baikal/docker-compose.yml b/scripts/unused/OLD_CONTAINERS/baikal/docker-compose.yml deleted file mode 100755 index 038c22b..0000000 --- a/scripts/unused/OLD_CONTAINERS/baikal/docker-compose.yml +++ /dev/null @@ -1,26 +0,0 @@ -networks: - vpn: - external: true - name: vpn - -services: - baikal: - container_name: baikal - image: ckulka/baikal:nginx - restart: always - ports: - - "PORT1:PORT1" - volumes: - - ./config:/var/www/baikal/config - - ./data:/var/www/baikal/Specific - #labels: - #traefik.enable: true - #traefik.http.routers.baikal.entrypoints: web,websecure - #traefik.http.routers.baikal.rule: Host(`DOMAINSUBNAMEHERE`) - #traefik.http.routers.baikal.tls: true - #traefik.http.routers.baikal.tls.certresolver: production - #traefik.http.services.baikal.loadbalancer.server.port: PORT1 - #traefik.http.routers.baikal.middlewares: - networks: - vpn: - ipv4_address: IPADDRESSHERE \ No newline at end of file diff --git a/scripts/unused/OLD_CONTAINERS/dolibarr/docker-compose.yml b/scripts/unused/OLD_CONTAINERS/dolibarr/docker-compose.yml deleted file mode 100755 index 7b0f6bb..0000000 --- a/scripts/unused/OLD_CONTAINERS/dolibarr/docker-compose.yml +++ /dev/null @@ -1,49 +0,0 @@ -# https://github.com/tuxgasy/docker-dolibarr/blob/master/README.md - -networks: - DOCKERNETWORKHERE: - external: true - dolibarr: - name: dolibarr - internal: true - -services: - dolibarr: - container_name: dolibarr - image: tuxgasy/dolibarr:latest - environment: - - DOLI_DB_HOST=mysql - - DOLI_DB_USER=dolibarr - - DOLI_DB_PASSWORD=RANDOMIZEDPASSWORD1 - - DOLI_DB_NAME=dolibarr - - DOLI_ADMIN_LOGIN=admin - - DOLI_ADMIN_PASSWORD=RANDOMIZEDPASSWORD2 - - DOLI_URL_ROOT=https://DOMAINSUBNAMEHERE - #labels: - #traefik.enable: true - #traefik.http.routers.dolibarr.entrypoints: web,websecure - #traefik.http.routers.dolibarr.rule: Host(`DOMAINSUBNAMEHERE`) - #traefik.http.routers.dolibarr.tls: true - #traefik.http.routers.dolibarr.tls.certresolver: production - #traefik.http.services.dolibarr.loadbalancer.server.port: 80 - #traefik.http.routers.dolibarr.middlewares: - #traefik.docker.network: DOCKERNETWORKHERE - volumes: - - ./dolibarr-docs:/var/www/documents - - ./dolibarr-custom:/var/www/html/custom - networks: - dolibarr: - DOCKERNETWORKHERE: - ipv4_address: IPADDRESSHERE - - mysql: - image: library/mariadb:latest - environment: - - MYSQL_DATABASE=dolibarr - - MYSQL_USER=dolibarr - - MYSQL_PASSWORD=RANDOMIZEDPASSWORD1 - - MYSQL_ROOT_PASSWORD=RANDOMIZEDPASSWORD2 - volumes: - - ./mysql-data:/var/lib/mysql - networks: - - dolibarr diff --git a/scripts/unused/OLD_CONTAINERS/dolibarr/dolibarr.config b/scripts/unused/OLD_CONTAINERS/dolibarr/dolibarr.config deleted file mode 100755 index ccfbc91..0000000 --- a/scripts/unused/OLD_CONTAINERS/dolibarr/dolibarr.config +++ /dev/null @@ -1,31 +0,0 @@ -# -# APP_NAME = name of the application for use in the scripts -# COMPOSE_FILE = default for no app_name in the docker compose file name, app if there is -# HOST NAME = subdomain name e.g test is the name for test.website.com -# DOMAIN = number of the domain from the general config, useful when using multiple domains -# PUBLIC = if true, application will be setup with the reverse proxy and accessible from the internet -# WHITELIST = if true only allow whitelisted ips (see general config), if false allow all -# HEALTHCHECK = if true, the default docker health checks for that container will be enabled -# AUTHELIA = if true, use Authelia authentication, if false turned off. -# HEADSCALE = options : false, local, remote (see general config). e.g false or local,remote -# PORTS = port number(s) that the application will be used (comma seperated) -# -CFG_DOLIBARR_APP_NAME=dolibarr -CFG_DOLIBARR_BACKUP=true -CFG_DOLIBARR_COMPOSE_FILE=default -CFG_DOLIBARR_HOST_NAME=crm -CFG_DOLIBARR_DOMAIN=1 -CFG_DOLIBARR_PUBLIC=true -CFG_DOLIBARR_WHIELIST=true -CFG_DOLIBARR_HEALTHCHECK=true -CFG_DOLIBARR_AUTHELIA=false -CFG_DOLIBARR_HEADSCALE=false -CFG_DOLIBARR_PORTS=3422 - -# Application metadata -CFG_DOLIBARR_CATEGORY="Productivity" -CFG_DOLIBARR_TITLE="Dolibarr" -CFG_DOLIBARR_DESCRIPTION="ERP and CRM" -CFG_DOLIBARR_LONG_DESCRIPTION="Dolibarr ERP CRM is a modern software package to manage your company's activity, from contacts to invoices, projects, and inventory" -CFG_DOLIBARR_URL="https://github.com/Dolibarr/dolibarr" -CFG_DOLIBARR_ACTIONS="configure|install|restart|shutdown|uninstall" diff --git a/scripts/unused/OLD_CONTAINERS/dolibarr/dolibarr.sh b/scripts/unused/OLD_CONTAINERS/dolibarr/dolibarr.sh deleted file mode 100755 index 6fbbf1f..0000000 --- a/scripts/unused/OLD_CONTAINERS/dolibarr/dolibarr.sh +++ /dev/null @@ -1,114 +0,0 @@ -#!/bin/bash - -# Category : Productivity -# Description : Dolibarr - ERP and CRM (c/u/s/r/i): - -installDolibarr() -{ - local config_variables="$1" - - if [[ "$dolibarr" == *[cCtTuUsSrRiI]* ]]; then - dockerConfigSetupToContainer silent dolibarr; - local app_name=$CFG_DOLIBARR_APP_NAME - initializeAppVariables $app_name; - fi - - if [[ "$dolibarr" == *[cC]* ]]; then - editAppConfig $app_name; - fi - - if [[ "$dolibarr" == *[uU]* ]]; then - dockerUninstallApp $app_name; - fi - - if [[ "$dolibarr" == *[sS]* ]]; then - dockerComposeDown $app_name; - fi - - if [[ "$dolibarr" == *[rR]* ]]; then - dockerComposeRestart $app_name; - fi - - if [[ "$dolibarr" == *[iI]* ]]; then - echo "" - echo "##########################################" - echo "### Install $app_name" - echo "##########################################" - echo "" - - ((menu_number++)) - echo "" - echo "---- $menu_number. Setting up install fuserer and config file for $app_name." - echo "" - - dockerConfigSetupToContainer "loud" "$app_name" "install" "$config_variables"; - isSuccessful "Install fuserers and Config files have been setup for $app_name." - - ((menu_number++)) - echo "" - - - ((menu_number++)) - echo "" - echo "---- $menu_number. Setting up the $app_name docker-compose.yml file." - echo "" - - dockerComposeSetupFile $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Updating file permissions before starting." - echo "" - - fixPermissionsBeforeStart $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Running the docker-compose.yml to install and start $app_name" - echo "" - - dockerComposeUpdateAndStartApp $app_name install; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Running Application specific updates (if required)" - echo "" - - appUpdateSpecifics $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Running Headscale setup (if required)" - echo "" - - setupHeadscale $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Adding $app_name to the Apps Database table." - echo "" - - databaseInstallApp $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Updating WebUI config file." - echo "" - - webuiContainerSetup $app_name install; - - ((menu_number++)) - echo "" - echo "---- $menu_number. You can find $app_name files at $containers_dir$app_name" - echo "" - echo " You can now navigate to your $app_name service using any of the options below : " - echo "" - - menuShowFinalMessages $app_name; - - menu_number=0 - #sleep 3s - cd - fi - dolibarr=n -} diff --git a/scripts/unused/OLD_CONTAINERS/dolibarr/dolibarr.svg b/scripts/unused/OLD_CONTAINERS/dolibarr/dolibarr.svg deleted file mode 100755 index 5da0b24..0000000 --- a/scripts/unused/OLD_CONTAINERS/dolibarr/dolibarr.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/scripts/unused/OLD_CONTAINERS/duplicati/docker-compose.yml b/scripts/unused/OLD_CONTAINERS/duplicati/docker-compose.yml deleted file mode 100755 index 6e3d332..0000000 --- a/scripts/unused/OLD_CONTAINERS/duplicati/docker-compose.yml +++ /dev/null @@ -1,33 +0,0 @@ -networks: - vpn: - external: true - -services: - duplicati: - image: lscr.io/linuxserver/duplicati:latest - container_name: duplicati - environment: - - PUID=1000 - - PGID=1000 - - TZ=TIMEZONEHERE - #- CLI_ARGS= #optional - volumes: - - /var/run/docker.sock:/var/run/docker.sock:ro #SOCKETHERE - - ./duplicati-data/:/config - - ./duplicati-backups/:/backups - - ./duplicati-source/:/source - ports: - - 8200:8200 - restart: unless-stopped - #labels: - #caddy.tls: "internal" - #traefik.enable: true - #traefik.http.routers.cozy.entrypoints: web,websecure - #traefik.http.routers.cozy.rule: Host(`DOMAINSUBNAMEHERE`) - #traefik.http.routers.cozy.tls: true - #traefik.http.routers.cozy.tls.certresolver: production - healthcheck: - disable: false #HEALTHCHECKHERE - networks: - vpn: - ipv4_address: IPADDRESSHERE diff --git a/scripts/unused/OLD_CONTAINERS/duplicati/duplicati.config b/scripts/unused/OLD_CONTAINERS/duplicati/duplicati.config deleted file mode 100755 index 0922db9..0000000 --- a/scripts/unused/OLD_CONTAINERS/duplicati/duplicati.config +++ /dev/null @@ -1,30 +0,0 @@ -# -# APP_NAME = name of the application for use in the scripts -# COMPOSE_FILE = default for no app_name in the docker compose file name, app if there is -# HOST NAME = subdomain name e.g test is the name for test.website.com -# DOMAIN = number of the domain from the general config, useful when using multiple domains -# PUBLIC = if true, application will be setup with the reverse proxy and accessible from the internet -# WHITELIST = if true only allow whitelisted ips (see general config), if false allow all -# HEALTHCHECK = if true, the default docker health checks for that container will be enabled -# AUTHELIA = if true, use Authelia authentication, if false turned off. -# HEADSCALE = options : false, local, remote (see general config). e.g false or local,remote -# PORTS = port number(s) that the application will be used (comma seperated) -# -CFG_DUPLICATI_APP_NAME=duplicati -CFG_DUPLICATI_BACKUP=true -CFG_DUPLICATI_COMPOSE_FILE=default -CFG_DUPLICATI_HOST_NAME=backup -CFG_DUPLICATI_DOMAIN=1 -CFG_DUPLICATI_PUBLIC=false -CFG_DUPLICATI_WHITELIST=false -CFG_DUPLICATI_HEALTHCHECK=true -CFG_DUPLICATI_AUTHELIA=false -CFG_DUPLICATI_HEADSCALE=false -CFG_DUPLICATI_PORTS=8200 -# Application metadata -CFG_DUPLICATI_CATEGORY="Cloud Storage & File Sharing" -CFG_DUPLICATI_TITLE="Duplicati" -CFG_DUPLICATI_DESCRIPTION="Backup Service" -CFG_DUPLICATI_LONG_DESCRIPTION="Free backup client that securely stores encrypted, incremental, compressed backups on cloud storage services and remote file servers" -CFG_DUPLICATI_URL="https://github.com/duplicati/duplicati" -CFG_DUPLICATI_ACTIONS="configure|install|restart|shutdown|uninstall" diff --git a/scripts/unused/OLD_CONTAINERS/duplicati/duplicati.sh b/scripts/unused/OLD_CONTAINERS/duplicati/duplicati.sh deleted file mode 100755 index 48c94ad..0000000 --- a/scripts/unused/OLD_CONTAINERS/duplicati/duplicati.sh +++ /dev/null @@ -1,114 +0,0 @@ -#!/bin/bash - -# Category : Cloud Storage & File Sharing -# Description : Duplicati - Backup Service (c/u/s/r/i): - -installDuplicati() -{ - local config_variables="$1" - - if [[ "$duplicati" == *[cCtTuUsSrRiI]* ]]; then - dockerConfigSetupToContainer silent duplicati; - local app_name=$CFG_DUPLICATI_APP_NAME - initializeAppVariables $app_name; - fi - - if [[ "$duplicati" == *[cC]* ]]; then - editAppConfig $app_name; - fi - - if [[ "$duplicati" == *[uU]* ]]; then - dockerUninstallApp $app_name; - fi - - if [[ "$duplicati" == *[sS]* ]]; then - dockerComposeDown $app_name; - fi - - if [[ "$duplicati" == *[rR]* ]]; then - dockerComposeRestart $app_name; - fi - - if [[ "$duplicati" == *[iI]* ]]; then - echo "" - echo "##########################################" - echo "### Install $app_name" - echo "##########################################" - echo "" - - ((menu_number++)) - echo "" - echo "---- $menu_number. Setting up install folder and config file for $app_name." - echo "" - - dockerConfigSetupToContainer "loud" "$app_name" "install" "$config_variables"; - isSuccessful "Install folders and Config files have been setup for $app_name." - - ((menu_number++)) - echo "" - - - ((menu_number++)) - echo "" - echo "---- $menu_number. Setting up the $app_name docker-compose.yml file." - echo "" - - dockerComposeSetupFile $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Updating file permissions before starting." - echo "" - - fixPermissionsBeforeStart $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Running the docker-compose.yml to install and start $app_name" - echo "" - - dockerComposeUpdateAndStartApp $app_name install; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Running Application specific updates (if required)" - echo "" - - appUpdateSpecifics $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Running Headscale setup (if required)" - echo "" - - setupHeadscale $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Adding $app_name to the Apps Database table." - echo "" - - databaseInstallApp $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Updating WebUI config file." - echo "" - - webuiContainerSetup $app_name install; - - ((menu_number++)) - echo "" - echo "---- $menu_number. You can find $app_name files at $containers_dir$app_name" - echo "" - echo " You can now navigate to your new service using one of the options below : " - echo "" - - menuShowFinalMessages $app_name; - - menu_number=0 - #sleep 3s - cd - fi - duplicati=n -} diff --git a/scripts/unused/OLD_CONTAINERS/duplicati/duplicati.svg b/scripts/unused/OLD_CONTAINERS/duplicati/duplicati.svg deleted file mode 100755 index 7fb327f..0000000 --- a/scripts/unused/OLD_CONTAINERS/duplicati/duplicati.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/scripts/unused/OLD_CONTAINERS/fail2ban/docker-compose.yml b/scripts/unused/OLD_CONTAINERS/fail2ban/docker-compose.yml deleted file mode 100755 index 4cc1146..0000000 --- a/scripts/unused/OLD_CONTAINERS/fail2ban/docker-compose.yml +++ /dev/null @@ -1,40 +0,0 @@ -services: - fail2ban-service: #LIBREPORTAL|SERVICE_TAG_1|fail2ban-service - image: lscr.io/linuxserver/fail2ban:latest - container_name: fail2ban-service - cap_add: - - NET_ADMIN - - NET_RAW - network_mode: host - environment: - - PUID=1000 - - PGID=1000 - - TZ:TIMEZONE_DATA #LIBREPORTAL|TIMEZONE_TAG|TIMEZONE_DATA - - VERBOSITY=-vv #optional - volumes: - - SOCKET_DATA #LIBREPORTAL|SOCKET_TAG|SOCKET_DATA - - ./config/:/config - - ./logs/:/var/log:ro - #- ./logs/airsonic/:/remotelogs/airsonic:ro #optional - #- ./logs/apache2/log:/remotelogs/apache2:ro #optional - #- ./logs/authelia/log:/remotelogs/authelia:ro #optional - #- ./logs/emby/log:/remotelogs/emby:ro #optional - #- ./logs/filebrowser/log:/remotelogs/filebrowser:ro #optional - #- ./logs/homeassistant/log:/remotelogs/homeassistant:ro #optional - #- ./logs/lighttpd/log:/remotelogs/lighttpd:ro #optional - #- ./logs/nextcloud/log:/remotelogs/nextcloud:ro #optional - #- ./logs/nginx/log:/remotelogs/nginx:ro #optional - #- ./logs/nzbget/log:/remotelogs/nzbget:ro #optional - #- ./logs/overseerr/log:/remotelogs/overseerr:ro #optional - #- ./logs/prowlarr/log:/remotelogs/prowlarr:ro #optional - #- ./logs/radarr/log:/remotelogs/radarr:ro #optional - #- ./logs/sabnzbd/log:/remotelogs/sabnzbd:ro #optional - #- ./logs/sonarr/log:/remotelogs/sonarr:ro #optional - #- ./logs/unificontroller/log:/remotelogs/unificontroller:ro #optional - #- ./logs/vaultwarden/log:/remotelogs/vaultwarden:ro #optional - restart: unless-stopped - healthcheck: - disable: HEALTHCHECK_DATA #LIBREPORTAL|HEALTHCHECK_TAG|HEALTHCHECK_DATA - labels: - libreportal.category: "CATEGORY_DATA" #LIBREPORTAL|CATEGORY_TAG|CATEGORY_DATA - libreportal.title: "TITLE_DATA" #LIBREPORTAL|TITLE_TAG|TITLE_DATA diff --git a/scripts/unused/OLD_CONTAINERS/fail2ban/fail2ban.config b/scripts/unused/OLD_CONTAINERS/fail2ban/fail2ban.config deleted file mode 100755 index 098db6e..0000000 --- a/scripts/unused/OLD_CONTAINERS/fail2ban/fail2ban.config +++ /dev/null @@ -1,32 +0,0 @@ -# -# ============================================================================= -# GENERAL CONFIGURATION -# ============================================================================= -# APP_NAME = name of application for use in scripts -# COMPOSE_FILE = default for no app_name in docker compose file name, app if there is -# BACKUP = if true, include this application in backup operations -# HEALTHCHECK = if true, default docker health checks for that container will be enabled -# ABUSEIPDB_APIKEY = API key for AbuseIPDB integration (optional) -# -CFG_FAIL2BAN_APP_NAME=fail2ban -CFG_FAIL2BAN_BACKUP=false -CFG_FAIL2BAN_COMPOSE_FILE=default -CFG_FAIL2BAN_HEALTHCHECK=true -CFG_FAIL2BAN_ABUSEIPDB_APIKEY= -# -# ============================================================================= -# METADATA -# ============================================================================= -# CATEGORY = application category for grouping -# TITLE = display name for the application -# DESCRIPTION = short description of the application -# LONG_DESCRIPTION = detailed description of the application -# URL = source repository or documentation URL -# ACTIONS = available actions for this application -# -CFG_FAIL2BAN_CATEGORY="Security" -CFG_FAIL2BAN_TITLE="Fail2Ban" -CFG_FAIL2BAN_DESCRIPTION="Intrusion Prevention" -CFG_FAIL2BAN_LONG_DESCRIPTION="Intrusion prevention software framework that protects computer servers from brute-force attacks by monitoring log files and banning malicious IPs" -CFG_FAIL2BAN_URL="https://github.com/fail2ban/fail2ban" -CFG_FAIL2BAN_ACTIONS="configure|install|restart|shutdown|uninstall" diff --git a/scripts/unused/OLD_CONTAINERS/fail2ban/fail2ban.sh b/scripts/unused/OLD_CONTAINERS/fail2ban/fail2ban.sh deleted file mode 100755 index 54f3f00..0000000 --- a/scripts/unused/OLD_CONTAINERS/fail2ban/fail2ban.sh +++ /dev/null @@ -1,158 +0,0 @@ -#!/bin/bash - -# Category : Security -# Description : Fail2Ban - Intrusion Prevention (c/u/s/r/i): - -installFail2ban() -{ - local config_variables="$1" - - if [[ "$fail2ban" == *[cCtTuUsSrRiI]* ]]; then - dockerConfigSetupToContainer silent fail2ban; - local app_name=$CFG_FAIL2BAN_APP_NAME - initializeAppVariables $app_name; - fi - - if [[ "$fail2ban" == *[cC]* ]]; then - editAppConfig $app_name; - fi - - if [[ "$fail2ban" == *[uU]* ]]; then - dockerUninstallApp $app_name; - fi - - if [[ "$fail2ban" == *[sS]* ]]; then - dockerComposeDown $app_name; - fi - - if [[ "$fail2ban" == *[rR]* ]]; then - dockerComposeRestart $app_name; - fi - - if [[ "$fail2ban" == *[iI]* ]]; then - isHeader "Install $app_name" - - ((menu_number++)) - echo "" - echo "---- $menu_number. Checking if $app_name can be installed." - echo "" - - dockerCheckAllowedInstall "$app_name" || return 1 - - ((menu_number++)) - echo "" - echo "---- $menu_number. Setting up install folder and config file for $app_name." - echo "" - - dockerConfigSetupToContainer "loud" "$app_name" "install" "$config_variables"; - isSuccessful "Install folders and Config files have been setup for $app_name." - - ((menu_number++)) - echo "" - - - ((menu_number++)) - echo "" - echo "---- $menu_number. Setting up the $app_name docker-compose.yml file." - echo "" - - dockerComposeSetupFile $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Setting up AbuseIPDB for fail2ban if api key is provided" - echo "" - - if [ -n "$CFG_FAIL2BAN_ABUSEIPDB_APIKEY" ]; then - checkSuccess "API key found, setting up the config file." - - local result=$(createFolders "loud" $docker_install_user $containers_dir$app_name/logs) - checkSuccess "Creating logs folder" - - local result=$(cd $containers_dir$app_name && createTouch $containers_dir$app_name/logs/auth.log $docker_install_user) - checkSuccess "Creating Auth.log file" - - local result=$(createFolders "loud" $docker_install_user $containers_dir$app_name/config/$app_name $containers_dir$app_name/config/$app_name/action.d) - checkSuccess "Creating config and action.d folders" - - # AbuseIPDB - local result=$(cd $containers_dir$app_name/config/$app_name/action.d/ && sudo curl -o abuseipdb.conf https://raw.githubusercontent.com/fail2ban/fail2ban/0.11/config/action.d/abuseipdb.conf) - checkSuccess "Downloading abuseipdb.conf from GitHub" - - local result=$(sudo sed -i "s/abuseipdb_apikey =/abuseipdb_apikey =$CFG_FAIL2BAN_ABUSEIPDB_APIKEY/g" $containers_dir$app_name/config/$app_name/action.d/abuseipdb.conf) - checkSuccess "Setting up abuseipdb_apikey" - - # Jail.local - local result=$(createFolders "loud" $docker_install_user $containers_dir$app_name/config/$app_name/) - checkSuccess "Creating $app_name folder" - - local result=$(copyResource "$app_name" "jail.local" "config/$app_name" | sudo tee -a "$logs_dir/$docker_log_file" 2>&1) - checkSuccess "Coping over jail.local from Resources folder" - - # Append abuseipdb action only when a key is set. - sudo tee -a "$containers_dir$app_name/config/$app_name/jail.local" >/dev/null < - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/scripts/unused/OLD_CONTAINERS/fail2ban/resources/jail.local b/scripts/unused/OLD_CONTAINERS/fail2ban/resources/jail.local deleted file mode 100755 index c5b2fe1..0000000 --- a/scripts/unused/OLD_CONTAINERS/fail2ban/resources/jail.local +++ /dev/null @@ -1,12 +0,0 @@ -# banaction must be defined for any %(action_*)s shortcut to resolve. -[DEFAULT] -banaction = iptables-multiport -banaction_allports = iptables-allports - -[sshd] -enabled = true -mode = normal -port = ssh -logpath = %(sshd_log)s -backend = %(sshd_backend)s -ignoreip = ips_whitelist diff --git a/scripts/unused/OLD_CONTAINERS/firefly/docker-compose.yml b/scripts/unused/OLD_CONTAINERS/firefly/docker-compose.yml deleted file mode 100755 index 1535cc1..0000000 --- a/scripts/unused/OLD_CONTAINERS/firefly/docker-compose.yml +++ /dev/null @@ -1,52 +0,0 @@ -networks: - vpn: - external: true - -services: - firefly: - image: fireflyiii/core:latest - hostname: firefly - container_name: firefly - restart: always - volumes: - - ./firefly_iii_upload:/var/www/html/storage/upload - env_file: .env - ports: - - PORT1:8080 - depends_on: - - firefly_iii_db - #labels: - #traefik.enable: true - #traefik.http.routers.firefly.entrypoints: web,websecure - #traefik.http.routers.firefly.rule: Host(`DOMAINSUBNAMEHERE`) - #traefik.http.routers.firefly.tls: true - #traefik.http.routers.firefly.tls.certresolver: production - #traefik.http.routers.firefly.service: firefly - #traefik.http.services.firefly.loadbalancer.server.port: PORT1 - #traefik.http.routers.firefly.middlewares: - healthcheck: - disable: false #HEALTHCHECKHERE - networks: - vpn: - ipv4_address: IPADDRESSHERE - - firefly_iii_db: - image: mariadb - hostname: firefly_iii_db - container_name: firefly_iii_db - restart: always - env_file: .db.env - volumes: - - ./firefly_iii_db:/var/lib/mysql - networks: - vpn: - ipv4_address: 10.100.0.124 - - firefly_iii_cron: - image: alpine - restart: always - container_name: firefly_iii_cron - command: sh -c "echo \"0 3 * * * wget -qO- http://firefly:PORT1/api/v1/cron/REPLACEME\" | crontab - && crond -f -L /dev/stdout" - networks: - vpn: - ipv4_address: 10.100.0.125 diff --git a/scripts/unused/OLD_CONTAINERS/firefly/firefly.config b/scripts/unused/OLD_CONTAINERS/firefly/firefly.config deleted file mode 100755 index 284dcb5..0000000 --- a/scripts/unused/OLD_CONTAINERS/firefly/firefly.config +++ /dev/null @@ -1,30 +0,0 @@ -# -# APP_NAME = name of the application for use in the scripts -# COMPOSE_FILE = default for no app_name in the docker compose file name, app if there is -# HOST NAME = subdomain name e.g test is the name for test.website.com -# DOMAIN = number of the domain from the general config, useful when using multiple domains -# PUBLIC = if true, application will be setup with the reverse proxy and accessible from the internet -# WHITELIST = if true only allow whitelisted ips (see general config), if false allow all -# HEALTHCHECK = if true, the default docker health checks for that container will be enabled -# AUTHELIA = if true, use Authelia authentication, if false turned off. -# HEADSCALE = options : false, local, remote (see general config). e.g false or local,remote -# PORTS = port number(s) that the application will be used (comma seperated) -# -CFG_FIREFLY_APP_NAME=firefly -CFG_FIREFLY_BACKUP=true -CFG_FIREFLY_COMPOSE_FILE=default -CFG_FIREFLY_HOST_NAME=budget -CFG_FIREFLY_DOMAIN=1 -CFG_FIREFLY_PUBLIC=true -CFG_FIREFLY_WHITELIST=false -CFG_FIREFLY_HEALTHCHECK=true -CFG_FIREFLY_AUTHELIA=false -CFG_FIREFLY_HEADSCALE=false -CFG_FIREFLY_PORTS=5006 -# Application metadata -CFG_FIREFLY_CATEGORY="Productivity" -CFG_FIREFLY_TITLE="Firefly III" -CFG_FIREFLY_DESCRIPTION="Personal Finance Manager" -CFG_FIREFLY_LONG_DESCRIPTION="Firefly III is a self-hosted financial manager for personal finance management that helps you track expenses and manage your budget" -CFG_FIREFLY_URL="https://github.com/firefly-iii/firefly-iii" -CFG_FIREFLY_ACTIONS="configure|install|restart|shutdown|uninstall" diff --git a/scripts/unused/OLD_CONTAINERS/firefly/firefly.sh b/scripts/unused/OLD_CONTAINERS/firefly/firefly.sh deleted file mode 100755 index 6a10273..0000000 --- a/scripts/unused/OLD_CONTAINERS/firefly/firefly.sh +++ /dev/null @@ -1,141 +0,0 @@ -#!/bin/bash - -# Category : Productivity -# Description : Firefly III - Personal Finance Manager (c/u/s/r/i): - -installFirefly() -{ - local config_variables="$1" - - if [[ "$firefly" == *[cCtTuUsSrRiI]* ]]; then - dockerConfigSetupToContainer silent firefly; - local app_name=$CFG_FIREFLY_APP_NAME - initializeAppVariables $app_name; - fi - - if [[ "$firefly" == *[cC]* ]]; then - editAppConfig $app_name; - fi - - if [[ "$firefly" == *[uU]* ]]; then - dockerUninstallApp $app_name; - fi - - if [[ "$firefly" == *[sS]* ]]; then - dockerComposeDown $app_name; - fi - - if [[ "$firefly" == *[rR]* ]]; then - dockerComposeRestart $app_name; - fi - - if [[ "$firefly" == *[iI]* ]]; then - echo "" - echo "##########################################" - echo "### Install $app_name" - echo "##########################################" - echo "" - - ((menu_number++)) - echo "" - echo "---- $menu_number. Setting up install folder and config file for $app_name." - echo "" - - dockerConfigSetupToContainer "loud" "$app_name" "install" "$config_variables"; - isSuccessful "Install folders and Config files have been setup for $app_name." - - ((menu_number++)) - echo "" - ((menu_number++)) - echo "" - echo "---- $menu_number. Setting up the $app_name docker-compose.yml file." - echo "" - - dockerComposeSetupFile $app_name; - - result=$(rm -rf "$containers_dir$app_name/resources/.env") - checkSuccess "Removing old .env file" - result=$(rm -rf "$containers_dir$app_name/resources/.db.env") - checkSuccess "Removing old .db.env file" - - local result=$(copyResource "$app_name" ".env" "") - checkSuccess "Copying the .env for $app_name" - local result=$(copyResource "$app_name" ".db.env" "") - checkSuccess "Copying the .db.env for $app_name" - - configSetupFileWithData $app_name ".env"; - configSetupFileWithData $app_name ".db.env"; - - local APP_KEY=$(head /dev/urandom | LC_ALL=C tr -dc 'A-Za-z0-9' | head -c 32 && echo) - result=$(sudo sed -i "s|SomeRandomStringOf32CharsExactly|${APP_KEY}|" "$containers_dir$app_name/.db.env") - checkSuccess "Enabling environment in the docker compose file." - - local random_password=$(openssl rand -base64 12 | tr -d '+/=') - result=$(sudo sed -i "s|secret_firefly_password|${random_password}|" "$containers_dir$app_name/.env") - checkSuccess "Updating the MYSQL password in .env." - result=$(sudo sed -i "s|secret_firefly_password|${random_password}|" "$containers_dir$app_name/.db.env") - checkSuccess "Updating the MYSQL password in .db.env." - - if [[ $public == "true" ]]; then - result=$(sudo sed -i "s|APP_URL=http://localhost|APP_URL=https://$host_setup|" "$containers_dir$app_name/.env") - checkSuccess "Enabling environment in the docker compose file." - result=$(sudo sed -i "s|TRUSTED_PROXIES=|TRUSTED_PROXIES=*|" "$containers_dir$app_name/.env") - checkSuccess "Enabling TRUSTED_PROXIES in the .env file." - fi - - ((menu_number++)) - echo "" - echo "---- $menu_number. Updating file permissions before starting." - echo "" - - fixPermissionsBeforeStart $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Running the docker-compose.yml to install and start $app_name" - echo "" - - dockerComposeUpdateAndStartApp $app_name install; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Running Application specific updates (if required)" - echo "" - - appUpdateSpecifics $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Adding $app_name to the Apps Database table." - echo "" - - databaseInstallApp $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Running Headscale setup (if required)" - echo "" - - setupHeadscale $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Updating WebUI config file." - echo "" - - webuiContainerSetup $app_name install; - - ((menu_number++)) - echo "" - echo "---- $menu_number. You can find $app_name files at $containers_dir$app_name" - echo "" - echo " You can now navigate to your new service using one of the options below : " - echo "" - - menuShowFinalMessages $app_name; - menu_number=0 - #sleep 3s - cd - fi - firefly=n -} diff --git a/scripts/unused/OLD_CONTAINERS/firefly/firefly.svg b/scripts/unused/OLD_CONTAINERS/firefly/firefly.svg deleted file mode 100755 index 4aa8334..0000000 --- a/scripts/unused/OLD_CONTAINERS/firefly/firefly.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/scripts/unused/OLD_CONTAINERS/firefly/resources/.db.env b/scripts/unused/OLD_CONTAINERS/firefly/resources/.db.env deleted file mode 100755 index 219cadf..0000000 --- a/scripts/unused/OLD_CONTAINERS/firefly/resources/.db.env +++ /dev/null @@ -1,4 +0,0 @@ -MYSQL_RANDOM_ROOT_PASSWORD=yes -MYSQL_USER=firefly -MYSQL_PASSWORD=secret_firefly_password -MYSQL_DATABASE=firefly \ No newline at end of file diff --git a/scripts/unused/OLD_CONTAINERS/firefly/resources/.env b/scripts/unused/OLD_CONTAINERS/firefly/resources/.env deleted file mode 100755 index e6c9d33..0000000 --- a/scripts/unused/OLD_CONTAINERS/firefly/resources/.env +++ /dev/null @@ -1,341 +0,0 @@ -# You can leave this on "local". If you change it to production most console commands will ask for extra confirmation. -# Never set it to "testing". -APP_ENV=local - -# Set to true if you want to see debug information in error screens. -APP_DEBUG=false - -# This should be your email address. -# If you use Docker or similar, you can set this variable from a file by using SITE_OWNER_FILE -# The variable is used in some errors shown to users who aren't admin. -SITE_OWNER=EMAILHERE - -# The encryption key for your sessions. Keep this very secure. -# Change it to a string of exactly 32 chars or use something like `php artisan key:generate` to generate it. -# If you use Docker or similar, you can set this variable from a file by using APP_KEY_FILE -# -# Avoid the "#" character in your APP_KEY, it may break things. -# -APP_KEY=SomeRandomStringOf32CharsExactly - -# Firefly III will launch using this language (for new users and unauthenticated visitors) -# For a list of available languages: https://github.com/firefly-iii/firefly-iii/tree/main/resources/lang -# -# If text is still in English, remember that not everything may have been translated. -DEFAULT_LANGUAGE=en_US - -# The locale defines how numbers are formatted. -# by default this value is the same as whatever the language is. -DEFAULT_LOCALE=equal - -# Change this value to your preferred time zone. -# Example: Europe/Amsterdam -# For a list of supported time zones, see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones -TZ=TIMEZONEHERE - -# TRUSTED_PROXIES is a useful variable when using Docker and/or a reverse proxy. -# Set it to ** and reverse proxies work just fine. -TRUSTED_PROXIES= - -# The log channel defines where your log entries go to. -# Several other options exist. You can use 'single' for one big fat error log (not recommended). -# Also available are 'syslog', 'errorlog' and 'stdout' which will log to the system itself. -# A rotating log option is 'daily', creates 5 files that (surprise) rotate. -# A cool option is 'papertrail' for cloud logging -# Default setting 'stack' will log to 'daily' and to 'stdout' at the same time. -LOG_CHANNEL=stack - -# Log level. You can set this from least severe to most severe: -# debug, info, notice, warning, error, critical, alert, emergency -# If you set it to debug your logs will grow large, and fast. If you set it to emergency probably -# nothing will get logged, ever. -APP_LOG_LEVEL=notice - -# Audit log level. -# The audit log is used to log notable Firefly III events on a separate channel. -# These log entries may contain sensitive financial information. -# The audit log is disabled by default. -# -# To enable it, set AUDIT_LOG_LEVEL to "info" -# To disable it, set AUDIT_LOG_LEVEL to "emergency" -AUDIT_LOG_LEVEL=emergency - -# -# If you want, you can redirect the audit logs to another channel. -# Set 'audit_stdout', 'audit_syslog', 'audit_errorlog' to log to the system itself. -# Use audit_daily to log to a rotating file. -# Use audit_papertrail to log to papertrail. -# -# If you do this, the audit logs may be mixed with normal logs because the settings for these channels -# are often the same as the settings for the normal logs. -AUDIT_LOG_CHANNEL= - -# -# Used when logging to papertrail: -# Also used when audit logs log to papertrail: -# -PAPERTRAIL_HOST= -PAPERTRAIL_PORT= - -# Database credentials. Make sure the database exists. I recommend a dedicated user for Firefly III -# For other database types, please see the FAQ: https://docs.firefly-iii.org/firefly-iii/faq/self-hosted/#i-want-to-use-sqlite -# If you use Docker or similar, you can set these variables from a file by appending them with _FILE -# Use "pgsql" for PostgreSQL -# Use "mysql" for MySQL and MariaDB. -# Use "sqlite" for SQLite. -DB_CONNECTION=mysql -DB_HOST=firefly_iii_db -DB_PORT=3306 -DB_DATABASE=firefly -DB_USERNAME=firefly -DB_PASSWORD=secret_firefly_password -# leave empty or omit when not using a socket connection -DB_SOCKET= - -# MySQL supports SSL. You can configure it here. -# If you use Docker or similar, you can set these variables from a file by appending them with _FILE -MYSQL_USE_SSL=false -MYSQL_SSL_VERIFY_SERVER_CERT=true -# You need to set at least of these options -MYSQL_SSL_CAPATH=/etc/ssl/certs/ -MYSQL_SSL_CA= -MYSQL_SSL_CERT= -MYSQL_SSL_KEY= -MYSQL_SSL_CIPHER= - -# PostgreSQL supports SSL. You can configure it here. -# If you use Docker or similar, you can set these variables from a file by appending them with _FILE -PGSQL_SSL_MODE=prefer -PGSQL_SSL_ROOT_CERT=null -PGSQL_SSL_CERT=null -PGSQL_SSL_KEY=null -PGSQL_SSL_CRL_FILE=null - -# more PostgreSQL settings -PGSQL_SCHEMA=public - -# If you're looking for performance improvements, you could install memcached or redis -CACHE_DRIVER=file -SESSION_DRIVER=file - -# If you set either of the options above to 'redis', you might want to update these settings too -# If you use Docker or similar, you can set REDIS_HOST_FILE, REDIS_PASSWORD_FILE or -# REDIS_PORT_FILE to set the value from a file instead of from an environment variable - -# can be tcp, unix or http -REDIS_SCHEME=tcp - -# use only when using 'unix' for REDIS_SCHEME. Leave empty otherwise. -REDIS_PATH= - -# use only when using 'tcp' or 'http' for REDIS_SCHEME. Leave empty otherwise. -REDIS_HOST=127.0.0.1 -REDIS_PORT=6379 - -# Use only with Redis 6+ with proper ACL set. Leave empty otherwise. -REDIS_USERNAME= -REDIS_PASSWORD= - -# always use quotes and make sure redis db "0" and "1" exists. Otherwise change accordingly. -REDIS_DB="0" -REDIS_CACHE_DB="1" - -# Cookie settings. Should not be necessary to change these. -# If you use Docker or similar, you can set COOKIE_DOMAIN_FILE to set -# the value from a file instead of from an environment variable -# Setting samesite to "strict" may give you trouble logging in. -COOKIE_PATH="/" -COOKIE_DOMAIN= -COOKIE_SECURE=false -COOKIE_SAMESITE=lax - -# If you want Firefly III to email you, update these settings -# For instructions, see: https://docs.firefly-iii.org/firefly-iii/advanced-installation/email/#email -# If you use Docker or similar, you can set these variables from a file by appending them with _FILE -MAIL_MAILER=log -MAIL_HOST=null -MAIL_PORT=2525 -MAIL_FROM=changeme@example.com -MAIL_USERNAME=null -MAIL_PASSWORD=null -MAIL_ENCRYPTION=null -MAIL_SENDMAIL_COMMAND= - -# Other mail drivers: -# If you use Docker or similar, you can set these variables from a file by appending them with _FILE -MAILGUN_DOMAIN= -MAILGUN_SECRET= - -# If you are on EU region in mailgun, use api.eu.mailgun.net, otherwise use api.mailgun.net -# If you use Docker or similar, you can set this variable from a file by appending it with _FILE -MAILGUN_ENDPOINT=api.mailgun.net - -# If you use Docker or similar, you can set these variables from a file by appending them with _FILE -MANDRILL_SECRET= -SPARKPOST_SECRET= - -# Firefly III can send you the following messages. -SEND_ERROR_MESSAGE=true - -# These messages contain (sensitive) transaction information: -SEND_REPORT_JOURNALS=true - -# Set this value to true if you want to set the location of certain things, like transactions. -# Since this involves an external service, it's optional and disabled by default. -ENABLE_EXTERNAL_MAP=false - -# Set this value to true if you want Firefly III to download currency exchange rates -# from the internet. These rates are hosted by the creator of Firefly III inside -# an Azure Storage Container. -# Not all currencies may be available. Rates may be wrong. -ENABLE_EXTERNAL_RATES=false - -# The map will default to this location: -MAP_DEFAULT_LAT=51.983333 -MAP_DEFAULT_LONG=5.916667 -MAP_DEFAULT_ZOOM=6 - -# -# Some objects have room for an URL, like transactions and webhooks. -# By default, the following protocols are allowed: -# http, https, ftp, ftps, mailto -# -# To change this, set your preferred comma separated set below. -# Be sure to include http, https and other default ones if you need to. -# -VALID_URL_PROTOCOLS= - -# -# Firefly III authentication settings -# - -# -# Firefly III supports a few authentication methods: -# - 'web' (default, uses built in DB) -# - 'remote_user_guard' for Authelia etc -# Read more about these settings in the documentation. -# https://docs.firefly-iii.org/firefly-iii/advanced-installation/authentication -# -# LDAP is no longer supported :( -# -AUTHENTICATION_GUARD=web - -# -# Remote user guard settings -# -AUTHENTICATION_GUARD_HEADER=REMOTE_USER -AUTHENTICATION_GUARD_EMAIL= - -# -# Firefly III generates a basic keypair for your OAuth tokens. -# If you want, you can overrule the key with your own (secure) value. -# It's also possible to set PASSPORT_PUBLIC_KEY_FILE or PASSPORT_PRIVATE_KEY_FILE -# if you're using Docker secrets or similar solutions for secret management -# -PASSPORT_PRIVATE_KEY= -PASSPORT_PUBLIC_KEY= - -# -# Extra authentication settings -# -CUSTOM_LOGOUT_URL= - -# You can disable the X-Frame-Options header if it interferes with tools like -# Organizr. This is at your own risk. Applications running in frames run the risk -# of leaking information to their parent frame. -DISABLE_FRAME_HEADER=false - -# You can disable the Content Security Policy header when you're using an ancient browser -# or any version of Microsoft Edge / Internet Explorer (which amounts to the same thing really) -# This leaves you with the risk of not being able to stop XSS bugs should they ever surface. -# This is at your own risk. -DISABLE_CSP_HEADER=false - -# If you wish to track your own behavior over Firefly III, set valid analytics tracker information here. -# Nobody uses this except for me on the demo site. But hey, feel free to use this if you want to. -# Do not prepend the TRACKER_URL with http:// or https:// -# The only tracker supported is Matomo. -# You can set the following variables from a file by appending them with _FILE: -TRACKER_SITE_ID= -TRACKER_URL= - -# -# Firefly III supports webhooks. These are security sensitive and must be enabled manually first. -# -ALLOW_WEBHOOKS=false - -# -# The static cron job token can be useful when you use Docker and wish to manage cron jobs. -# 1. Set this token to any 32-character value (this is important!). -# 2. Use this token in the cron URL instead of a user's command line token that you can find in /profile -# -# For more info: https://docs.firefly-iii.org/firefly-iii/advanced-installation/cron/ -# -# You can set this variable from a file by appending it with _FILE -# -STATIC_CRON_TOKEN= - -# You can fine tune the start-up of a Docker container by editing these environment variables. -# Use this at your own risk. Disabling certain checks and features may result in lots of inconsistent data. -# However if you know what you're doing you can significantly speed up container start times. -# Set each value to true to enable, or false to disable. - -# Set this to true to build all locales supported by Firefly III. -# This may take quite some time (several minutes) and is generally not recommended. -# If you wish to change or alter the list of locales, start your Docker container with -# `docker run -v locale.gen:/etc/locale.gen -e DKR_BUILD_LOCALE=true` -# and make sure your preferred locales are in your own locale.gen. -DKR_BUILD_LOCALE=false - -# Check if the SQLite database exists. Can be skipped if you're not using SQLite. -# Won't significantly speed up things. -DKR_CHECK_SQLITE=true - -# Run database creation and migration commands. Disable this only if you're 100% sure the DB exists -# and is up to date. -DKR_RUN_MIGRATION=true - -# Run database upgrade commands. Disable this only when you're 100% sure your DB is up-to-date -# with the latest fixes (outside of migrations!) -DKR_RUN_UPGRADE=true - -# Verify database integrity. Includes all data checks and verifications. -# Disabling this makes Firefly III assume your DB is intact. -DKR_RUN_VERIFY=true - -# Run database reporting commands. When disabled, Firefly III won't go over your data to report current state. -# Disabling this should have no impact on data integrity or safety but it won't warn you of possible issues. -DKR_RUN_REPORT=true - -# Generate OAuth2 keys. -# When disabled, Firefly III won't attempt to generate OAuth2 Passport keys. This won't be an issue, IFF (if and only if) -# you had previously generated keys already and they're stored in your database for restoration. -DKR_RUN_PASSPORT_INSTALL=true - -# Leave the following configuration vars as is. -# Unless you like to tinker and know what you're doing. -APP_NAME=FireflyIII -BROADCAST_DRIVER=log -QUEUE_DRIVER=sync -CACHE_PREFIX=firefly -PUSHER_KEY= -IPINFO_TOKEN= -PUSHER_SECRET= -PUSHER_ID= -DEMO_USERNAME= -DEMO_PASSWORD= -FIREFLY_III_LAYOUT=v1 - -# -# If you have trouble configuring your Firefly III installation, DON'T BOTHER setting this variable. -# It won't work. It doesn't do ANYTHING. Don't believe the lies you read online. I'm not joking. -# This configuration value WILL NOT HELP. -# -# Notable exception to this rule is Synology, which, according to some users, will use APP_URL to rewrite stuff. -# -# This variable is ONLY used in some of the emails Firefly III sends around. Nowhere else. -# So when configuring anything WEB related this variable doesn't do anything. Nothing -# -# If you're stuck I understand you get desperate but look SOMEWHERE ELSE. -# -APP_URL=http://localhost diff --git a/scripts/unused/OLD_CONTAINERS/killbill/docker-compose.yml b/scripts/unused/OLD_CONTAINERS/killbill/docker-compose.yml deleted file mode 100755 index 86bff24..0000000 --- a/scripts/unused/OLD_CONTAINERS/killbill/docker-compose.yml +++ /dev/null @@ -1,54 +0,0 @@ -networks: - vpn: - external: true -services: - killbill: - image: killbill/killbill:0.24.0 - container_name: killbill - ports: - - "8788:8080" - environment: - - KILLBILL_DAO_URL=jdbc:mysql://db:3306/killbill - - KILLBILL_DAO_USER=root - - KILLBILL_DAO_PASSWORD=killbill - - KILLBILL_CATALOG_URI=SpyCarAdvanced.xml - networks: - vpn: - ipv4_address: 10.100.0.111 - kaui: - image: killbill/kaui:2.0.11 - container_name: killbill_ui - ports: - - "PORT1:8080" - environment: - - KAUI_CONFIG_DAO_URL=jdbc:mysql://db:3306/kaui - - KAUI_CONFIG_DAO_USER=root - - KAUI_CONFIG_DAO_PASSWORD=killbill - - KAUI_KILLBILL_URL=http://killbill:8080 - #labels: - #traefik.enable: true - #traefik.http.routers.killbill.entrypoints: web,websecure - #traefik.http.routers.killbill.rule: Host(`DOMAINSUBNAMEHERE`) - #traefik.http.routers.killbill.tls: true - #traefik.http.routers.killbill.tls.certresolver: production - #traefik.http.routers.killbill.middlewares: - healthcheck: - disable: false #HEALTHCHECKHERE - - volumes: - - /var/run/docker.sock:/var/run/docker.sock:ro #SOCKETHERE - networks: - vpn: - ipv4_address: IPADDRESSHERE - db: - image: killbill/mariadb:0.24 - container_name: killbill_db - volumes: - - ./data:/var/lib/mysql - expose: - - "3306" - environment: - - MYSQL_ROOT_PASSWORD=killbill - networks: - vpn: - ipv4_address: 10.100.0.112 diff --git a/scripts/unused/OLD_CONTAINERS/killbill/killbill.config b/scripts/unused/OLD_CONTAINERS/killbill/killbill.config deleted file mode 100755 index 8e18135..0000000 --- a/scripts/unused/OLD_CONTAINERS/killbill/killbill.config +++ /dev/null @@ -1,30 +0,0 @@ -# -# APP_NAME = name of the application for use in the scripts -# COMPOSE_FILE = default for no app_name in the docker compose file name, app if there is -# HOST NAME = subdomain name e.g test is the name for test.website.com -# DOMAIN = number of the domain from the general config, useful when using multiple domains -# PUBLIC = if true, application will be setup with the reverse proxy and accessible from the internet -# WHITELIST = if true only allow whitelisted ips (see general config), if false allow all -# HEALTHCHECK = if true, the default docker health checks for that container will be enabled -# AUTHELIA = if true, use Authelia authentication, if false turned off. -# HEADSCALE = options : false, local, remote (see general config). e.g false or local,remote -# PORTS = port number(s) that the application will be used (comma seperated) -# -CFG_KILLBILL_APP_NAME=killbill -CFG_KILLBILL_BACKUP=true -CFG_KILLBILL_COMPOSE_FILE=default -CFG_KILLBILL_HOST_NAME=payment -CFG_KILLBILL_DOMAIN=1 -CFG_KILLBILL_PUBLIC=true -CFG_KILLBILL_WHITELIST=false -CFG_KILLBILL_HEALTHCHECK=true -CFG_KILLBILL_AUTHELIA=false -CFG_KILLBILL_HEADSCALE=false -CFG_KILLBILL_PORTS=9090 -# Application metadata -CFG_KILLBILL_CATEGORY="Productivity" -CFG_KILLBILL_TITLE="Killbill" -CFG_KILLBILL_DESCRIPTION="Payment Processing" -CFG_KILLBILL_LONG_DESCRIPTION="Open-Source Subscription Billing and Payment Platform for businesses that need to manage subscriptions and payments" -CFG_KILLBILL_URL="https://github.com/killbill/killbill" -CFG_KILLBILL_ACTIONS="configure|install|restart|shutdown|uninstall" diff --git a/scripts/unused/OLD_CONTAINERS/killbill/killbill.sh b/scripts/unused/OLD_CONTAINERS/killbill/killbill.sh deleted file mode 100755 index e43df46..0000000 --- a/scripts/unused/OLD_CONTAINERS/killbill/killbill.sh +++ /dev/null @@ -1,114 +0,0 @@ -#!/bin/bash - -# Category : Productivity -# Description : Killbill - Payment Processing (c/u/s/r/i): - -installKillbill() -{ - local config_variables="$1" - - if [[ "$killbill" == *[cCtTuUsSrRiI]* ]]; then - dockerConfigSetupToContainer silent killbill; - local app_name=$CFG_KILLBILL_APP_NAME - initializeAppVariables $app_name; - fi - - if [[ "$killbill" == *[cC]* ]]; then - editAppConfig $app_name; - fi - - if [[ "$killbill" == *[uU]* ]]; then - dockerUninstallApp $app_name; - fi - - if [[ "$killbill" == *[sS]* ]]; then - dockerComposeDown $app_name; - fi - - if [[ "$killbill" == *[rR]* ]]; then - dockerComposeRestart $app_name; - fi - - if [[ "$killbill" == *[iI]* ]]; then - echo "" - echo "##########################################" - echo "### Install $app_name" - echo "##########################################" - echo "" - - ((menu_number++)) - echo "" - echo "---- $menu_number. Setting up install folder and config file for $app_name." - echo "" - - dockerConfigSetupToContainer "loud" "$app_name" "install" "$config_variables"; - isSuccessful "Install folders and Config files have been setup for $app_name." - - ((menu_number++)) - echo "" - - - ((menu_number++)) - echo "" - echo "---- $menu_number. Setting up the $app_name docker-compose.yml file." - echo "" - - dockerComposeSetupFile $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Updating file permissions before starting." - echo "" - - fixPermissionsBeforeStart $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Running the docker-compose.yml to install and start $app_name" - echo "" - - dockerComposeUpdateAndStartApp $app_name install; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Running Application specific updates (if required)" - echo "" - - appUpdateSpecifics $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Running Headscale setup (if required)" - echo "" - - setupHeadscale $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Adding $app_name to the Apps Database table." - echo "" - - databaseInstallApp $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Updating WebUI config file." - echo "" - - webuiContainerSetup $app_name install; - - ((menu_number++)) - echo "" - echo "---- $menu_number. You can find $app_name files at $containers_dir$app_name" - echo "" - echo " You can now navigate to your new service using one of the options below : " - echo "" - - menuShowFinalMessages $app_name; - - menu_number=0 - #sleep 3s - cd - fi - killbill=n -} diff --git a/scripts/unused/OLD_CONTAINERS/killbill/killbill.svg b/scripts/unused/OLD_CONTAINERS/killbill/killbill.svg deleted file mode 100755 index f901921..0000000 --- a/scripts/unused/OLD_CONTAINERS/killbill/killbill.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/scripts/unused/OLD_CONTAINERS/kimai/docker-compose.yml b/scripts/unused/OLD_CONTAINERS/kimai/docker-compose.yml deleted file mode 100755 index ecd94c3..0000000 --- a/scripts/unused/OLD_CONTAINERS/kimai/docker-compose.yml +++ /dev/null @@ -1,104 +0,0 @@ -networks: - vpn: - external: true - name: vpn - -services: - - kimai: # This is the latest FPM image of kimai - image: kimai/kimai2:fpm-dev - container_name: kimai - environment: - - ADMINMAIL=EMAILHERE - - ADMINPASS=RANDOMIZEDPASSWORD1 - - DATABASE_URL=mysql://kimaiuser:kimaipassword@sqldb/kimai - - TRUSTED_HOSTS=IPADDRESSHERE,DOMAINSUBNAMEHERE - - memory_limit=500 - volumes: - - /var/run/docker.sock:/var/run/docker.sock:ro #SOCKETHERE - - ./kimai-public/:/opt/kimai/public - # - var:/opt/kimai/var - # - ./ldap.conf:/etc/openldap/ldap.conf:z - # - ./ROOT-CA.pem:/etc/ssl/certs/ROOT-CA.pem:z - restart: unless-stopped - networks: - vpn: - ipv4_address: 10.100.0.101 - - sqldb: - image: mysql:5.7 - container_name: kimai-sqldb - environment: - - MYSQL_DATABASE=kimai - - MYSQL_USER=kimaiuser - - MYSQL_PASSWORD=kimaipassword - - MYSQL_ROOT_PASSWORD=RANDOMIZEDPASSWORD2 - ports: - - 3336:3306 - volumes: - - ./kimai-mysql/:/var/lib/mysql - command: --default-storage-engine innodb - restart: unless-stopped - healthcheck: - test: mysqladmin -p$$MYSQL_ROOT_PASSWORD ping -h localhost - interval: 20s - start_period: 10s - timeout: 10s - retries: 3 - networks: - vpn: - ipv4_address: 10.100.0.102 - - phpmyadmin: - container_name: kimai-phpmyadmin - image: phpmyadmin - restart: always - ports: - - PORT2:80 - environment: - - PMA_ARBITRARY=1 - networks: - vpn: - ipv4_address: 10.100.0.103 - - swagger: - container_name: kimai-swagger - image: swaggerapi/swagger-ui - ports: - - PORT3:8080 - volumes: - - ./swagger.json:/swagger.json - environment: - - SWAGGER_JSON=/swagger.json - networks: - vpn: - ipv4_address: 10.100.0.104 - - kimai-nginx: - container_name: kimai-nginx - image: tobybatch/nginx-fpm-reverse-proxy - ports: - - PORT1:80 - volumes: - - ./kimai-public:/opt/kimai/public:ro - restart: unless-stopped - depends_on: - - kimai - healthcheck: - test: wget --spider http://kimai-nginx/health || exit 1 - interval: 20s - start_period: 10s - timeout: 10s - retries: 3 - disable: false #HEALTHCHECKHERE - #labels: - #traefik.enable: true - #traefik.http.routers.kimai-nginx.entrypoints: web,websecure - #traefik.http.routers.kimai-nginx.rule: Host(`DOMAINSUBNAMEHERE`) - #traefik.http.routers.kimai-nginx.tls: true - #traefik.http.routers.kimai-nginx.tls.certresolver: production - #traefik.http.services.kimai-nginx.loadbalancer.server.port: 80 - #traefik.http.routers.kimai-nginx.middlewares: - networks: - vpn: - ipv4_address: IPADDRESSHERE diff --git a/scripts/unused/OLD_CONTAINERS/kimai/kimai.config b/scripts/unused/OLD_CONTAINERS/kimai/kimai.config deleted file mode 100755 index 0a048b9..0000000 --- a/scripts/unused/OLD_CONTAINERS/kimai/kimai.config +++ /dev/null @@ -1,30 +0,0 @@ -# -# APP_NAME = name of the application for use in the scripts -# COMPOSE_FILE = default for no app_name in the docker compose file name, app if there is -# HOST NAME = subdomain name e.g test is the name for test.website.com -# DOMAIN = number of the domain from the general config, useful when using multiple domains -# PUBLIC = if true, application will be setup with the reverse proxy and accessible from the internet -# WHITELIST = if true only allow whitelisted ips (see general config), if false allow all -# HEALTHCHECK = if true, the default docker health checks for that container will be enabled -# AUTHELIA = if true, use Authelia authentication, if false turned off. -# HEADSCALE = options : false, local, remote (see general config). e.g false or local,remote -# PORTS = port number(s) that the application will be used (comma seperated) -# -CFG_KIMAI_APP_NAME=kimai -CFG_KIMAI_BACKUP=true -CFG_KIMAI_COMPOSE_FILE=default -CFG_KIMAI_HOST_NAME=client -CFG_KIMAI_DOMAIN=1 -CFG_KIMAI_PUBLIC=true -CFG_KIMAI_WHITELIST=false -CFG_KIMAI_HEALTHCHECK=true -CFG_KIMAI_AUTHELIA=false -CFG_KIMAI_HEADSCALE=false -CFG_KIMAI_PORTS=8001,8002,8003 -# Application metadata -CFG_KIMAI_CATEGORY="Productivity" -CFG_KIMAI_TITLE="Kimai" -CFG_KIMAI_DESCRIPTION="Time Tracking" -CFG_KIMAI_LONG_DESCRIPTION="Kimai is a web-based, open source time-tracking application that helps you track work time and generate reports for billing and productivity" -CFG_KIMAI_URL="https://github.com/kimai/kimai" -CFG_KIMAI_ACTIONS="configure|install|restart|shutdown|uninstall" diff --git a/scripts/unused/OLD_CONTAINERS/kimai/kimai.sh b/scripts/unused/OLD_CONTAINERS/kimai/kimai.sh deleted file mode 100755 index dbd3ced..0000000 --- a/scripts/unused/OLD_CONTAINERS/kimai/kimai.sh +++ /dev/null @@ -1,129 +0,0 @@ -#!/bin/bash - -# Category : Productivity -# Description : Kimai - Time Tracking (c/u/s/r/i): - -installKimai() -{ - local config_variables="$1" - - if [[ "$kimai" == *[cCtTuUsSrRiI]* ]]; then - dockerConfigSetupToContainer silent kimai; - local app_name=$CFG_KIMAI_APP_NAME - initializeAppVariables $app_name; - fi - - if [[ "$kimai" == *[cC]* ]]; then - editAppConfig $app_name; - fi - - if [[ "$kimai" == *[uU]* ]]; then - dockerUninstallApp $app_name; - fi - - if [[ "$kimai" == *[sS]* ]]; then - dockerComposeDown $app_name; - fi - - if [[ "$kimai" == *[rR]* ]]; then - dockerComposeRestart $app_name; - fi - - if [[ "$kimai" == *[iI]* ]]; then - echo "" - echo "##########################################" - echo "### Install $app_name" - echo "##########################################" - echo "" - - ((menu_number++)) - echo "" - echo "---- $menu_number. Setting up install folder and config file for $app_name." - echo "" - - dockerConfigSetupToContainer "loud" "$app_name" "install" "$config_variables"; - isSuccessful "Install folders and Config files have been setup for $app_name." - - ((menu_number++)) - echo "" - - - ((menu_number++)) - echo "" - echo "---- $menu_number. Pulling a default Kimai docker-compose.yml file." - echo "" - - dockerComposeSetupFile $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Updating file permissions before starting." - echo "" - - fixPermissionsBeforeStart $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Running the docker-compose.yml to install and start Kimai" - echo "" - - dockerComposeUpdateAndStartApp $app_name install; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Running Application specific updates (if required)" - echo "" - - appUpdateSpecifics $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Fix memory limit issue" - echo "" - - # Run the health check loop with timings - dockerCheckContainerHealthLoop "kimai" 180 15 - - # If container is healthy - if dockerCheckContainerHealth "kimai"; then - dockerCommandRun "docker exec kimai /bin/bash -c "php -d memory_limit=1G /opt/kimai/bin/console kimai:reload --env=prod" && exit" - else - isNotice "It has not been possible to change the memory limit, this may cause issues" - fi - - ((menu_number++)) - echo "" - echo "---- $menu_number. Running Headscale setup (if required)" - echo "" - - setupHeadscale $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Adding $app_name to the Apps Database table." - echo "" - - databaseInstallApp $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Updating WebUI config file." - echo "" - - webuiContainerSetup $app_name install; - - ((menu_number++)) - echo "" - echo "---- $menu_number. You can find $app_name files at $containers_dir$app_name" - echo "" - echo " You can now navigate to your new service using one of the options below : " - echo "" - - menuShowFinalMessages $app_name; - - menu_number=0 - #sleep 3s - cd - fi - kimai=n -} diff --git a/scripts/unused/OLD_CONTAINERS/kimai/kimai.svg b/scripts/unused/OLD_CONTAINERS/kimai/kimai.svg deleted file mode 100755 index ef96eee..0000000 --- a/scripts/unused/OLD_CONTAINERS/kimai/kimai.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/scripts/unused/OLD_CONTAINERS/mailcow/docker-compose.yml b/scripts/unused/OLD_CONTAINERS/mailcow/docker-compose.yml deleted file mode 100755 index 6329727..0000000 --- a/scripts/unused/OLD_CONTAINERS/mailcow/docker-compose.yml +++ /dev/null @@ -1,34 +0,0 @@ -networks: - vpn: - external: true - -services: - nginx-mailcow: - container_name: mailcow - networks: - vpn: - ipv4_address: IPADDRESSHERE - #labels: - #traefik.enable: true - #traefik.http.routers.moo.rule: Host(`${MAILCOW_HOSTNAME}`) - #traefik.http.routers.moo.tls: true - #traefik.http.routers.moo.tls.certresolver: production - #traefik.http.services.moo.loadbalancer.server.port: PORT1 - #traefik.http.routers.moo.entrypoints: websecure - #traefik.docker.network: DOCKERNETWORKHERE - #traefik.http.routers.moo.middlewares: - healthcheck: - disable: false #HEALTHCHECKHERE - - certdumper: - image: humenius/traefik-certs-dumper - command: --restart-containers ${COMPOSE_PROJECT_NAME}-postfix-mailcow-1,${COMPOSE_PROJECT_NAME}-nginx-mailcow-1,${COMPOSE_PROJECT_NAME}-dovecot-mailcow-1 - #network_mode: none - volumes: - - /var/run/docker.sock:/var/run/docker.sock:ro #SOCKETHERE - - /docker/containers/traefik/etc/certs:/traefik:ro - - ./data/assets/ssl/:/output:rw - restart: always - environment: - # only change this, if you're using another domain for mailcow's web frontend compared to the standard config - - DOMAIN=${MAILCOW_HOSTNAME} diff --git a/scripts/unused/OLD_CONTAINERS/mailcow/mailcow.config b/scripts/unused/OLD_CONTAINERS/mailcow/mailcow.config deleted file mode 100755 index 9875c81..0000000 --- a/scripts/unused/OLD_CONTAINERS/mailcow/mailcow.config +++ /dev/null @@ -1,32 +0,0 @@ -# -# APP_NAME = name of the application for use in the scripts -# COMPOSE_FILE = default for no app_name in the docker compose file name, app if there is -# HOST NAME = subdomain name e.g test is the name for test.website.com -# DOMAIN = number of the domain from the general config, useful when using multiple domains -# PUBLIC = if true, application will be setup with the reverse proxy and accessible from the internet -# WHITELIST = if true only allow whitelisted ips (see general config), if false allow all -# HEALTHCHECK = if true, the default docker health checks for that container will be enabled -# AUTHELIA = if true, use Authelia authentication, if false turned off. -# HEADSCALE = options : false, local, remote (see general config). e.g false or local,remote -# PORTS = port number(s) that the application will be used (comma seperated) -# -CFG_MAILCOW_APP_NAME=mailcow -CFG_MAILCOW_BACKUP=true -CFG_MAILCOW_COMPOSE_FILE=app -CFG_MAILCOW_HOST_NAME=mail -CFG_MAILCOW_DOMAIN=1 -CFG_MAILCOW_PUBLIC=true -CFG_MAILCOW_WHITELIST=false -CFG_MAILCOW_HEALTHCHECK=true -CFG_MAILCOW_AUTHELIA=false -CFG_MAILCOW_HEADSCALE=false -CFG_MAILCOW_PORTS=8022,4432,25,110,143,465,587,993,995,4190 -CFG_MAILCOW_OPEN_PORTS=8022/tcp,4432/tcp,25/tcp,110/tcp,143/tcp,465/tcp,587/tcp,993/tcp,995/tcp,4190/tcp -# Application metadata -CFG_MAILCOW_CATEGORY="Communication & Collaboration Tools" -CFG_MAILCOW_TITLE="Mailcow" -CFG_MAILCOW_DESCRIPTION="Mail Server" -CFG_MAILCOW_LONG_DESCRIPTION="Mailcow is a comprehensive mail server suite that provides a complete email solution with webmail, antispam, and antivirus protection" -CFG_MAILCOW_URL="https://github.com/mailcow/mailcow-dockerized" -CFG_MAILCOW_ACTIONS="configure|install|restart|shutdown|uninstall" -CFG_MAILCOW_ACTIONS="configure|install|restart|shutdown|uninstall" diff --git a/scripts/unused/OLD_CONTAINERS/mailcow/mailcow.sh b/scripts/unused/OLD_CONTAINERS/mailcow/mailcow.sh deleted file mode 100755 index e78cbfd..0000000 --- a/scripts/unused/OLD_CONTAINERS/mailcow/mailcow.sh +++ /dev/null @@ -1,214 +0,0 @@ -#!/bin/bash - -# Category : Communication & Collaboration Tools -# Description : Mailcow - Mail Server *UNFINISHED* (c/u/s/r/i): - -installMailcow() -{ - local config_variables="$1" - - if [[ "$mailcow" == *[cCtTuUsSrRiI]* ]]; then - dockerConfigSetupToContainer silent mailcow; - local app_name=$CFG_MAILCOW_APP_NAME - local easy_setup=$CFG_MAILCOW_EASY_SETUP - initializeAppVariables $app_name; - fi - - if [[ "$mailcow" == *[cC]* ]]; then - editAppConfig $app_name; - fi - - if [[ "$mailcow" == *[uU]* ]]; then - dockerUninstallApp $app_name; - fi - - if [[ "$mailcow" == *[sS]* ]]; then - dockerComposeDown $app_name; - fi - - if [[ "$mailcow" == *[rR]* ]]; then - dockerComposeRestart $app_name; - fi - - if [[ "$mailcow" == *[iI]* ]]; then - echo "" - echo "##########################################" - echo "### Install $app_name" - echo "##########################################" - echo "" - - ((menu_number++)) - echo "" - echo "---- $menu_number. Checking if $app_name can be installed." - echo "" - - dockerCheckAllowedInstall "$app_name" - - ((menu_number++)) - echo "" - echo "---- $menu_number. Setting up install folder and config file for $app_name." - echo "" - - dockerConfigSetupToContainer "loud" "$app_name" "install" "$config_variables"; - isSuccessful "Install folders and Config files have been setup for $app_name." - - ((menu_number++)) - echo "" - - - ((menu_number++)) - echo "" - echo "---- $menu_number. Pulling Mailcow GitHub repo into the $containers_dir$app_name folder" - echo "" - - mailcowSetupGit() - { - # Define the paths - local mailcow_source_dir="$containers_dir$app_name" # Directory with existing content - local mailcow_backup_dir="/tmp/mailcow_backup" # Temporary backup directory - # Create a backup of the existing content - if [ -d "$mailcow_source_dir" ]; then - result=$(sudo mv "$mailcow_source_dir" "$mailcow_backup_dir") - checkSuccess "Backup of existing content created" - fi - # Clone the Git repository - local result=$(sudo rm -rf "$mailcow_source_dir") - checkSuccess "Deleting mailcow directory git." - local result=$(sudo -u $docker_install_user git clone https://github.com/mailcow/mailcow-dockerized "$mailcow_source_dir" && sudo -u $docker_install_user git config --global --add safe.directory $containers_dir$app_name) - checkSuccess "Cloning Mailcow Dockerized GitHub repo" - # Restore the backup content - if [ -d "$mailcow_backup_dir" ]; then - result=$(sudo rsync -a "$mailcow_backup_dir/" "$mailcow_source_dir/") - checkSuccess "Restored existing content from backup" - local result=$(sudo rm -rf "$mailcow_backup_dir") - checkSuccess "Deleting backup directory." - fi - } - - if [ -f "$containers_dir$app_name/mailcow.conf" ]; then - while true; do - echo "" - isNotice "Mailcow install already found." - echo "" - isQuestion "Would you like to reinstall $app_name? *THIS WILL WIPE ALL DATA* (y/n): " - read -p "" reinstall_choice - if [[ -n "$reinstall_choice" ]]; then - break - fi - isNotice "Please provide a valid input." - done - if [[ "$reinstall_choice" == [yY] ]]; then - mailcowSetupGit; - fi - else - mailcowSetupGit; - fi - - ((menu_number++)) - echo "" - echo "---- $menu_number. Pulling a $app_name docker-compose.yml file." - echo "" - - dockerComposeSetupFile $app_name; - - local result=$(cd $containers_dir$app_name && sudo -u $docker_install_user ./generate_config.sh) - checkSuccess "Running Mailcow config generation script" - - ((menu_number++)) - echo "" - echo "---- $menu_number. Running configuration edits to mailserver.conf" - echo "" - - if [ -e "$containers_dir$app_name/mailcow.conf" ]; then - local result=$(sudo sed -i 's/HTTP_PORT=80/HTTP_PORT='$usedport1'/' $containers_dir$app_name/mailcow.conf) - checkSuccess "Updating the mailserver.conf to custom http port" - - local result=$(sudo sed -i 's/HTTPS_PORT=443/HTTPS_PORT='$usedport2'/' $containers_dir$app_name/mailcow.conf) - checkSuccess "Updating the mailserver.conf to custom https port" - - while true; do - isQuestion "Would you like to disable Lets Encrypt? *RECOMMENDED* (y/n): " - read -p "" lets_encrypt_choice - if [[ -n "$lets_encrypt_choice" ]]; then - break - fi - isNotice "Please provide a valid input." - done - if [[ "$lets_encrypt_choice" == [yY] ]]; then - local result=$(sudo sed -i 's/SKIP_LETS_ENCRYPT=n/SKIP_LETS_ENCRYPT=y/' $containers_dir$app_name/mailcow.conf) - checkSuccess "Updating the mailserver.conf to disable SSL install" - fi - - while true; do - isQuestion "Would you like to disable ClamD Antivirus? *Resource Reduction* (y/n): " - read -p "" clamd_antivirus_choice - if [[ -n "$clamd_antivirus_choice" ]]; then - break - fi - isNotice "Please provide a valid input." - done - if [[ "$clamd_antivirus_choice" == [yY] ]]; then - local result=$(sudo sed -i 's/SKIP_CLAMD=n/SKIP_CLAMD=y/' $containers_dir$app_name/mailcow.conf) - checkSuccess "Updating the mailserver.conf to disable ClamD Antivirus" - fi - else - isError "The file $mailcow_conf_file does not exist. Config generation has failed, please reinstall mailcow and try again." - fi - - ((menu_number++)) - echo "" - echo "---- $menu_number. Updating file permissions before starting." - echo "" - - fixPermissionsBeforeStart $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Running the docker-compose.yml to install and start $app_name" - echo "" - - dockerComposeUpdateAndStartApp $app_name install; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Running Application specific updates (if required)" - echo "" - - appUpdateSpecifics $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Running Headscale setup (if required)" - echo "" - - setupHeadscale $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Adding $app_name to the Apps Database table." - echo "" - - databaseInstallApp $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Updating WebUI config file." - echo "" - - webuiContainerSetup $app_name install; - - ((menu_number++)) - echo "" - echo "---- $menu_number. You can find $app_name files at $containers_dir$app_name" - echo "" - echo " You can now navigate to your $app_name service using any of the options below : " - echo "" - - menuShowFinalMessages $app_name; - - menu_number=0 - #sleep 3s - cd - fi - mailcow=n -} diff --git a/scripts/unused/OLD_CONTAINERS/mailcow/mailcow.svg b/scripts/unused/OLD_CONTAINERS/mailcow/mailcow.svg deleted file mode 100755 index 96f4fd7..0000000 --- a/scripts/unused/OLD_CONTAINERS/mailcow/mailcow.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/scripts/unused/OLD_CONTAINERS/mailcow/resources/caddy-to-mailcow-ssl.sh b/scripts/unused/OLD_CONTAINERS/mailcow/resources/caddy-to-mailcow-ssl.sh deleted file mode 100755 index 1dad0d0..0000000 --- a/scripts/unused/OLD_CONTAINERS/mailcow/resources/caddy-to-mailcow-ssl.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/bash -MD5SUM_CURRENT_CERT=($(md5sum /docker/mailcow/data/assets/ssl/cert.pem)) -MD5SUM_NEW_CERT=($(md5sum /docker/caddy/caddy_data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/DOMAINNAMEHERE/DOMAINNAMEHERE.crt)) - -if [ $MD5SUM_CURRENT_CERT != $MD5SUM_NEW_CERT ]; then - cp /docker/caddy/caddy_data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/DOMAINNAMEHERE/DOMAINNAMEHERE.crt /docker/mailcow/data/assets/ssl/cert.pem - cp /docker/caddy/caddy_data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/DOMAINNAMEHERE/DOMAINNAMEHERE.key /docker/mailcow/data/assets/ssl/key.pem - postfix_c=$(docker ps -qaf name=postfix-mailcow) - dovecot_c=$(docker ps -qaf name=dovecot-mailcow) - nginx_c=$(docker ps -qaf name=nginx-mailcow) - docker restart ${postfix_c} ${dovecot_c} ${nginx_c} - -else - echo "Certs not copied from Caddy (Not needed)" -fi \ No newline at end of file diff --git a/scripts/unused/OLD_CONTAINERS/mattermost/mattermost.config b/scripts/unused/OLD_CONTAINERS/mattermost/mattermost.config deleted file mode 100755 index 634e197..0000000 --- a/scripts/unused/OLD_CONTAINERS/mattermost/mattermost.config +++ /dev/null @@ -1,32 +0,0 @@ -# -# APP_NAME = name of the application for use in the scripts -# COMPOSE_FILE = default for no app_name in the docker compose file name, app if there is -# HOST NAME = subdomain name e.g test is the name for test.website.com -# DOMAIN = number of the domain from the general config, useful when using multiple domains -# PUBLIC = if true, application will be setup with the reverse proxy and accessible from the internet -# WHITELIST = if true only allow whitelisted ips (see general config), if false allow all -# HEALTHCHECK = if true, the default docker health checks for that container will be enabled -# AUTHELIA = if true, use Authelia authentication, if false turned off. -# HEADSCALE = options : false, local, remote (see general config). e.g false or local,remote -# PORTS = port number(s) that the application will be used (comma seperated) -# -CFG_MATTERMOST_APP_NAME=mattermost -CFG_MATTERMOST_BACKUP=true -CFG_MATTERMOST_COMPOSE_FILE=default -CFG_MATTERMOST_HOST_NAME=project -CFG_MATTERMOST_DOMAIN=1 -CFG_MATTERMOST_PUBLIC=true -CFG_MATTERMOST_WHITELIST=false -CFG_MATTERMOST_HEALTHCHECK=true -CFG_MATTERMOST_AUTHELIA=false -CFG_MATTERMOST_HEADSCALE=false -CFG_MATTERMOST_PORTS=8011,4431 -# Application metadata -CFG_MATTERMOST_CATEGORY="Communication & Collaboration Tools" -CFG_MATTERMOST_TITLE="Mattermost" -CFG_MATTERMOST_DESCRIPTION="Team Communication" -CFG_MATTERMOST_LONG_DESCRIPTION="Mattermost is an open source, self-hosted online chat service that functions as an internal chat for organizations" -CFG_MATTERMOST_URL="https://github.com/mattermost/mattermost-server" -CFG_MATTERMOST_ACTIONS="configure|install|restart|shutdown|uninstall|tools" -CFG_MATTERMOST_ACTIONS="configure|install|restart|shutdown|uninstall|tools" -CFG_MATTERMOST_ACTIONS="configure|install|restart|shutdown|uninstall|tools" diff --git a/scripts/unused/OLD_CONTAINERS/mattermost/mattermost.sh b/scripts/unused/OLD_CONTAINERS/mattermost/mattermost.sh deleted file mode 100755 index ec702fa..0000000 --- a/scripts/unused/OLD_CONTAINERS/mattermost/mattermost.sh +++ /dev/null @@ -1,255 +0,0 @@ -#!/bin/bash - -# Category : Communication & Collaboration Tools -# Description : Mattermost - Team Communication (c/u/s/r/i/t): - -installMattermost() -{ - local config_variables="$1" - - if [[ "$mattermost" == *[cCtTuUsSrRiI]* ]]; then - local DCN=docker-compose.nginx.yml - local DCWN=docker-compose.without-nginx.yml - dockerConfigSetupToContainer silent mattermost; - local app_name=$CFG_MATTERMOST_APP_NAME - local easy_setup=$CFG_MATTERMOST_EASY_SETUP - initializeAppVariables $app_name; - fi - - if [[ "$mattermost" == *[cC]* ]]; then - editAppConfig $app_name; - fi - - if [[ "$mattermost" == *[tT]* ]]; then - mattermostToolsMenu; - fi - - if [[ "$mattermost" == *[uU]* ]]; then - dockerUninstallApp $app_name; - fi - - if [[ "$mattermost" == *[sS]* ]]; then - dockerComposeDown $app_name; - fi - - if [[ "$mattermost" == *[rR]* ]]; then - status=$(dockerCheckAppInstalled "traefik" "docker") - if [ "$status" == "installed" ]; then - dockerComposeDown "$app_name" "$DCN"; - dockerComposeDown "$app_name" "$DCWN"; - dockerComposeUp "$app_name" "$DCWN"; - fi - - if [ "$status" == "not_installed" ]; then - while true; do - isNotice "No Reverse Proxy has been found" - isNotice "Traefik is RECOMMENDED to use before installing Mattermost" - echo "" - isQuestion "Are you using the Reverse Proxy that comes with Mattermost? (y/n): " - read -rp "" acceptproxymattermost - if [[ "$acceptproxymattermost" =~ ^[yYnN]$ ]]; then - break - fi - isNotice "Please provide a valid input (y/n)." - done - if [[ "$MATN" == [nN] ]]; then - dockerComposeDown "$app_name" "$DCWN"; - dockerComposeDown "$app_name" "$DCN"; - dockerComposeUp "$app_name" "$DCN"; - fi - if [[ "$MATN" == [yY] ]]; then - dockerComposeDown "$app_name" "$DCN"; - dockerComposeDown "$app_name" "$DCWN"; - dockerComposeUp "$app_name" "$DCWN"; - fi - fi - fi - - if [[ "$mattermost" == *[iI]* ]]; then - echo "" - echo "##########################################" - echo "### Install $app_name" - echo "##########################################" - echo "" - - ((menu_number++)) - echo "" - echo "---- $menu_number. Setting up install folder and config file for $app_name." - echo "" - - dockerConfigSetupToContainer "loud" "$app_name" "install" "$config_variables"; - isSuccessful "Install folders and Config files have been setup for $app_name." - - ((menu_number++)) - echo "" - - - ((menu_number++)) - echo "" - echo "---- $menu_number. Pulling Mattermost GitHub repo" - echo "" - - backupContainerFilesToTemp $app_name; - local result=$(sudo rm -rf $containers_dir$app_name) - checkSuccess "Removing $app_name install folder" - - local result=$(sudo -u $docker_install_user git clone https://github.com/mattermost/docker $containers_dir$app_name) - checkSuccess "Cloning Mattermost GitHub" - backupContainerFilesRestore $app_name; - - local result=$(copyFile "loud" $containers_dir$app_name/env.example $containers_dir$app_name/.env $docker_install_user) - checkSuccess "Copying example .env file for setup" - - local result=$(createFolders "loud" $docker_install_user $containers_dir$app_name/volumes/app/mattermost/{config,data,logs,plugins,client/plugins,bleve-indexes}) - checkSuccess "Creating folders needed for $app_name" - if [[ $CFG_DOCKER_INSTALL_TYPE == "rootless" ]]; then - #local docker_rootless_user_id=$(id -u "$sudo_user_name") - #local result=$(sudo chown -R $docker_rootless_user_id:$docker_rootless_user_id $containers_dir$app_name/volumes/app/mattermost) - #checkSuccess "Setting folder permissions for $app_name folders" - # Issue with Rootless - https://github.com/mattermost/docker/issues/106 - local result=$(sudo chmod -R 777 /docker/containers/mattermost/volumes/app/mattermost/) - checkSuccess "Setting folder permissions for $app_name folders" - else - local result=$(sudo chown -R 2000:2000 $containers_dir$app_name/volumes/app/mattermost) - checkSuccess "Setting folder permissions for $app_name folders" - fi - - local result=$(sudo sed -i "s/DOMAIN=mm.example.com/DOMAIN=$host_setup/g" $containers_dir$app_name/.env) - checkSuccess "Updating .env file with Domain $host_setup" - - local result=$(sudo sed -i 's/HTTP_PORT=80/HTTP_PORT='$usedport1'/' $containers_dir$app_name/.env) - checkSuccess "Updating .env file HTTP_PORT to $usedport1" - - local result=$(sudo sed -i 's/HTTPS_PORT=443/HTTPS_PORT='$usedport2'/' $containers_dir$app_name/.env) - checkSuccess "Updating .env file HTTPS_PORT to $usedport2" - - configSetupFileWithData $app_name ".env"; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Updating file permissions before starting." - echo "" - - fixPermissionsBeforeStart $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Running the docker-compose.yml to install and start Mattermost" - echo "" - -mattermostAddToYMLFile() -{ - local file_path="$1" - sudo tee -a "$file_path" < diff --git a/scripts/unused/OLD_CONTAINERS/mattermost/mattermost_auth.sh b/scripts/unused/OLD_CONTAINERS/mattermost/mattermost_auth.sh deleted file mode 100644 index 6247126..0000000 --- a/scripts/unused/OLD_CONTAINERS/mattermost/mattermost_auth.sh +++ /dev/null @@ -1,60 +0,0 @@ -#!/bin/bash - -_mattermostMmctl() { - runFileOp docker exec -i mattermost mmctl --local "$@" 2>&1 -} - -authAdapter_mattermost_setPassword() { - local user="$1" password="$2" - [[ -z "$user" ]] && { isError "Username/email is required."; return 1; } - [[ -z "$password" ]] && password=$(generateRandomPassword) - - local out; out=$(_mattermostMmctl user change-password "$user" --password "$password") - if [[ $? -ne 0 ]]; then isError "Mattermost reset failed: $out"; return 1; fi - - if [[ "$user" == "${CFG_MATTERMOST_ADMIN_USER:-}" ]]; then - authPersistCfg mattermost ADMIN_PASSWORD "$password" - fi - isSuccessful "Mattermost password set for $user — New password: $password" -} - -authAdapter_mattermost_createUser() { - local user="$1" password="$2" email="$3" isAdmin="$4" - [[ -z "$user" || -z "$email" ]] && { isError "Username and email are required."; return 1; } - [[ -z "$password" ]] && password=$(generateRandomPassword) - - local args=(user create --username "$user" --email "$email" --password "$password") - [[ "$isAdmin" == "true" ]] && args+=(--system-admin) - local out; out=$(_mattermostMmctl "${args[@]}") - if [[ $? -ne 0 ]]; then isError "Mattermost create failed: $out"; return 1; fi - - if [[ "$isAdmin" == "true" && -z "${CFG_MATTERMOST_ADMIN_USER:-}" ]]; then - authPersistCfg mattermost ADMIN_USER "$user" - authPersistCfg mattermost ADMIN_PASSWORD "$password" - fi - isSuccessful "Mattermost user created — User: $user — Email: $email — Password: $password" -} - -authAdapter_mattermost_listUsers() { - _mattermostMmctl user list --json 2>/dev/null \ - | jq -r '.[] | "EZ_USER\t\(.email)\t\(.username)\t\(if .roles | test("system_admin") then "admin" else "user" end)"' 2>/dev/null \ - || _mattermostMmctl user list | awk 'NF>=2 {printf "EZ_USER\t-\t%s\t-\n", $1}' -} - -authAdapter_mattermost_deleteUser() { - local user="$1" - [[ -z "$user" ]] && { isError "Username/email is required."; return 1; } - local out; out=$(_mattermostMmctl user delete "$user" --confirm) - [[ $? -ne 0 ]] && { isError "Mattermost delete failed: $out"; return 1; } - isSuccessful "Mattermost user '$user' deleted." -} - -authAdapter_mattermost_setAdmin() { - local user="$1" isAdmin="$2" - [[ -z "$user" ]] && { isError "Username/email is required."; return 1; } - local sub - if [[ "$isAdmin" == "true" ]]; then sub="roles system user system_admin"; else sub="roles system user"; fi - local out; out=$(_mattermostMmctl user $sub "$user" 2>&1) - [[ $? -ne 0 ]] && { isError "Mattermost role change failed: $out"; return 1; } - isSuccessful "Mattermost user '$user' admin → $isAdmin." -} diff --git a/scripts/unused/OLD_CONTAINERS/mattermost/mattermost_create_account.sh b/scripts/unused/OLD_CONTAINERS/mattermost/mattermost_create_account.sh deleted file mode 100644 index 59327aa..0000000 --- a/scripts/unused/OLD_CONTAINERS/mattermost/mattermost_create_account.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash - -appMattermostCreateAccount() { - local args="$1" - authAdapterCall mattermost createUser "$(authToolArg "$args" username)" "$(authToolArg "$args" password)" "$(authToolArg "$args" email)" "$(authToolArg "$args" admin)" -} diff --git a/scripts/unused/OLD_CONTAINERS/mattermost/mattermost_delete_user.sh b/scripts/unused/OLD_CONTAINERS/mattermost/mattermost_delete_user.sh deleted file mode 100644 index 8da6eda..0000000 --- a/scripts/unused/OLD_CONTAINERS/mattermost/mattermost_delete_user.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash - -appMattermostDeleteUser() { - local args="$1" - authAdapterCall mattermost deleteUser "$(authToolArg "$args" username)" -} diff --git a/scripts/unused/OLD_CONTAINERS/mattermost/mattermost_list_users.sh b/scripts/unused/OLD_CONTAINERS/mattermost/mattermost_list_users.sh deleted file mode 100644 index 5fab9ef..0000000 --- a/scripts/unused/OLD_CONTAINERS/mattermost/mattermost_list_users.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/bash - -appMattermostListUsers() { - authAdapterCall mattermost listUsers -} diff --git a/scripts/unused/OLD_CONTAINERS/mattermost/mattermost_reset_password.sh b/scripts/unused/OLD_CONTAINERS/mattermost/mattermost_reset_password.sh deleted file mode 100755 index 89bfd67..0000000 --- a/scripts/unused/OLD_CONTAINERS/mattermost/mattermost_reset_password.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/bash - -appMattermostResetPassword() { - local args="$1" - authAdapterCall mattermost setPassword \ - "$(authToolArg "$args" username)" \ - "$(authToolArg "$args" password)" -} diff --git a/scripts/unused/OLD_CONTAINERS/mattermost/mattermost_set_admin.sh b/scripts/unused/OLD_CONTAINERS/mattermost/mattermost_set_admin.sh deleted file mode 100644 index d683305..0000000 --- a/scripts/unused/OLD_CONTAINERS/mattermost/mattermost_set_admin.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash - -appMattermostSetAdmin() { - local args="$1" - authAdapterCall mattermost setAdmin "$(authToolArg "$args" username)" "$(authToolArg "$args" admin)" -} diff --git a/scripts/unused/OLD_CONTAINERS/nextcloud_hpb/docker-compose.yml b/scripts/unused/OLD_CONTAINERS/nextcloud_hpb/docker-compose.yml deleted file mode 100755 index 94d3828..0000000 --- a/scripts/unused/OLD_CONTAINERS/nextcloud_hpb/docker-compose.yml +++ /dev/null @@ -1,38 +0,0 @@ -networks: - vpn: - external: true - -services: - nextcloud_hpb: - image: ghcr.io/nextcloud-releases/aio-talk:latest - container_name: nextcloud_hpb - restart: unless-stopped - init: true - ports: - - PORT1:3478/tcp - - PORT1:3478/udp - - PORT2:8081/tcp - environment: - - NC_DOMAIN=NEXTCLOUDDOMAINHERE - - TALK_HOST=DOMAINSUBNAMEHERE - - TURN_SECRET=SECRET1HERE - - SIGNALING_SECRET=SECRET2HERE - - TZ=TIMEZONEHERE - - TALK_PORT=PORT2 - - INTERNAL_SECRET=SECRET3HERE - - REDIS_HOST=nextcloud_hpb_redis - - REDIS_PORT=PORT3 - volumes: - - ./data:/data - networks: - vpn: - ipv4_address: IPADDRESSHERE - nextcloud_hpb_redis: - image: redis:alpine - container_name: nextcloud_hpb_redis - restart: always - ports: - - "PORT3:6379" - networks: - vpn: - ipv4_address: 10.100.0.137 \ No newline at end of file diff --git a/scripts/unused/OLD_CONTAINERS/nextcloud_hpb/nextcloud_hpb.config b/scripts/unused/OLD_CONTAINERS/nextcloud_hpb/nextcloud_hpb.config deleted file mode 100755 index 7849895..0000000 --- a/scripts/unused/OLD_CONTAINERS/nextcloud_hpb/nextcloud_hpb.config +++ /dev/null @@ -1,30 +0,0 @@ -# -# APP_NAME = name of the application for use in the scripts -# COMPOSE_FILE = default for no app_name in the docker compose file name, app if there is -# HOST NAME = subdomain name e.g test is the name for test.website.com -# DOMAIN = number of the domain from the general config, useful when using multiple domains -# PUBLIC = if true, application will be setup with the reverse proxy and accessible from the internet -# WHITELIST = if true only allow whitelisted ips (see general config), if false allow all -# HEALTHCHECK = if true, the default docker health checks for that container will be enabled -# AUTHELIA = if true, use Authelia authentication, if false turned off. -# HEADSCALE = options : false, local, remote (see general config). e.g false or local,remote -# PORTS = port number(s) that the application will be used (comma seperated) -# -CFG_NEXTCLOUD_HPB_APP_NAME=nextcloud_hpb -CFG_NEXTCLOUD_HPB_BACKUP=true -CFG_NEXTCLOUD_HPB_COMPOSE_FILE=default -CFG_NEXTCLOUD_HPB_HOST_NAME=talk -CFG_NEXTCLOUD_HPB_DOMAIN=1 -CFG_NEXTCLOUD_HPB_PUBLIC=true -CFG_NEXTCLOUD_HPB_WHIELIST=true -CFG_NEXTCLOUD_HPB_HEALTHCHECK=true -CFG_NEXTCLOUD_HPB_AUTHELIA=false -CFG_NEXTCLOUD_HPB_HEADSCALE=false -CFG_NEXTCLOUD_HPB_PORTS=34711,8081,6380 -# Application metadata -CFG_NEXTCLOUD_HPB_CATEGORY="Cloud Storage & File Sharing" -CFG_NEXTCLOUD_HPB_TITLE="Nextcloud HPB" -CFG_NEXTCLOUD_HPB_DESCRIPTION="High-Performance Backend" -CFG_NEXTCLOUD_HPB_LONG_DESCRIPTION="Nextcloud High Performance Backend for scalable file sharing with optimized database and caching configurations" -CFG_NEXTCLOUD_HPB_URL="https://github.com/nextcloud/spaces" -CFG_NEXTCLOUD_HPB_ACTIONS="configure|install|restart|shutdown|uninstall" diff --git a/scripts/unused/OLD_CONTAINERS/nextcloud_hpb/nextcloud_hpb.sh b/scripts/unused/OLD_CONTAINERS/nextcloud_hpb/nextcloud_hpb.sh deleted file mode 100755 index 729f4ac..0000000 --- a/scripts/unused/OLD_CONTAINERS/nextcloud_hpb/nextcloud_hpb.sh +++ /dev/null @@ -1,157 +0,0 @@ -#!/bin/bash - -# Category : Cloud Storage & File Sharing -# Description : Nextcloud HPB - High-Performance Backend (c/u/s/r/i): - -installNextcloud_hpb() -{ - local config_variables="$1" - - if [[ "$nextcloud_hpb" == *[cCtTuUsSrRiI]* ]]; then - dockerConfigSetupToContainer silent nextcloud_hpb; - local app_name=$CFG_NEXTCLOUD_HPB_APP_NAME - initializeAppVariables $app_name; - fi - - if [[ "$nextcloud_hpb" == *[cC]* ]]; then - editAppConfig $app_name; - fi - - if [[ "$nextcloud_hpb" == *[uU]* ]]; then - dockerUninstallApp $app_name; - fi - - if [[ "$nextcloud_hpb" == *[sS]* ]]; then - dockerComposeDown $app_name; - fi - - if [[ "$nextcloud_hpb" == *[rR]* ]]; then - dockerComposeRestart $app_name; - fi - - if [[ "$nextcloud_hpb" == *[iI]* ]]; then - echo "" - echo "##########################################" - echo "### Install $app_name" - echo "##########################################" - echo "" - - ((menu_number++)) - echo "" - echo "---- $menu_number. Setting up install Nextcloud HPD and config file for $app_name." - echo "" - - dockerConfigSetupToContainer "loud" "$app_name" "install" "$config_variables"; - isSuccessful "Install folders and Config files have been setup for $app_name." - - ((menu_number++)) - echo "" - - - ((menu_number++)) - echo "" - echo "---- $menu_number. Setting up the $app_name docker-compose.yml file." - echo "" - - dockerComposeSetupFile $app_name; - - local random_secret_1=$(openssl rand -hex 32) - result=$(sudo sed -i "s|SECRET1HERE|${random_secret_1}|" "$containers_dir$app_name/docker-compose.yml") - checkSuccess "Updating the TURN_SECRET in docker-compose.yml." - local random_secret_2=$(openssl rand -hex 32) - result=$(sudo sed -i "s|SECRET2HERE|${random_secret_2}|" "$containers_dir$app_name/docker-compose.yml") - checkSuccess "Updating the SIGNALING_SECRET in docker-compose.yml." - local random_secret_3=$(openssl rand -hex 32) - result=$(sudo sed -i "s|SECRET3HERE|${random_secret_3}|" "$containers_dir$app_name/docker-compose.yml") - checkSuccess "Updating the INTERNAL_SECRET in docker-compose.yml." - - # Ask user for nextcloud domain - local nextcloud_domain="" - while [[ -z "$nextcloud_domain" ]]; do - isQuestion "Enter your Nextcloud domain e.g (nextcloud.yourdomain.com): " - read -p "" nextcloud_domain - if [[ -z "$nextcloud_domain" ]]; then - echo "Please enter a valid domain." - fi - done - result=$(sudo sed -i "s|NEXTCLOUDDOMAINHERE|${nextcloud_domain}|" "$containers_dir$app_name/docker-compose.yml") - checkSuccess "Updating the NEXTCLOUD_URL in docker-compose.yml." - - ((menu_number++)) - echo "" - echo "---- $menu_number. Updating file permissions before starting." - echo "" - - fixPermissionsBeforeStart $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Running the docker-compose.yml to install and start $app_name" - echo "" - - dockerComposeUpdateAndStartApp $app_name install; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Running Application specific updates (if required)" - echo "" - - appUpdateSpecifics $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Running Headscale setup (if required)" - echo "" - - setupHeadscale $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Adding $app_name to the Apps Database table." - echo "" - - databaseInstallApp $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Updating WebUI config file." - echo "" - - webuiContainerSetup $app_name install; - - ((menu_number++)) - echo "" - echo "---- $menu_number. You can find $app_name files at $containers_dir$app_name" - echo "" - echo " You can now navigate to your $app_name service using any of the options below : " - echo "" - - # Lets output the nextcloud talk config based on the scructure below - #echo "" - #echo "Please add the following to your Nextcloud config.php file :" - #echo "" - #echo " 'talk' => [" - #echo " 'hpb' => [" - #echo " 'url' => 'http://$host_setup:$usedport3'," - #echo " 'jwt_secret' => '$random_secret_1'," - #echo " 'jwt_issuer' => '$random_secret_2'," - #echo " 'jwt_audience' => '$random_secret_3'," - #echo " ]," - #echo " ]," - #echo ""; - - echo ""; - echo " TURN_SECRET=$random_secret_1" - echo " SIGNALING_SECRET=$random_secret_2" - echo " INTERNAL_SECRET=$random_secret_3" - echo " TALK_PORT=$usedport1" - echo ""; - - menuShowFinalMessages $app_name; - - menu_number=0 - #sleep 3s - cd - fi - nextcloud_hpb=n -} diff --git a/scripts/unused/OLD_CONTAINERS/nextcloud_hpb/nextcloud_hpb.svg b/scripts/unused/OLD_CONTAINERS/nextcloud_hpb/nextcloud_hpb.svg deleted file mode 100755 index eea50a4..0000000 --- a/scripts/unused/OLD_CONTAINERS/nextcloud_hpb/nextcloud_hpb.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/scripts/unused/OLD_CONTAINERS/nextcloud_record/docker-compose.yml b/scripts/unused/OLD_CONTAINERS/nextcloud_record/docker-compose.yml deleted file mode 100755 index 8fd59ca..0000000 --- a/scripts/unused/OLD_CONTAINERS/nextcloud_record/docker-compose.yml +++ /dev/null @@ -1,30 +0,0 @@ -networks: - vpn: - external: true - -services: - nextcloud_record: - image: ghcr.io/nextcloud-releases/aio-talk-recording:latest - container_name: nextcloud_record - restart: always - ports: - - "PORT1:1234" - environment: - ALLOW_ALL: "true" - HPB_DOMAIN: "HPBDOMAINHERE" - NC_DOMAIN: "NEXTCLOUDDOMAINHERE" - TZ: "TIMEZONEHERE" - RECORDING_SECRET: "SECRET1HERE" - INTERNAL_SECRET: "SECRET2HERE" - healthcheck: - disable: false #HEALTHCHECKHERE - shm_size: 2147483648 - volumes: - - ./nextcloud-talk-recordings:/var/nextcloud/data - cap_drop: - - NET_RAW - networks: - vpn: - ipv4_address: IPADDRESSHERE -volumes: - nextcloud-talk-recordings: \ No newline at end of file diff --git a/scripts/unused/OLD_CONTAINERS/nextcloud_record/nextcloud_record.config b/scripts/unused/OLD_CONTAINERS/nextcloud_record/nextcloud_record.config deleted file mode 100755 index e27fe4e..0000000 --- a/scripts/unused/OLD_CONTAINERS/nextcloud_record/nextcloud_record.config +++ /dev/null @@ -1,31 +0,0 @@ -# -# APP_NAME = name of the application for use in the scripts -# COMPOSE_FILE = default for no app_name in the docker compose file name, app if there is -# HOST NAME = subdomain name e.g test is the name for test.website.com -# DOMAIN = number of the domain from the general config, useful when using multiple domains -# PUBLIC = if true, application will be setup with the reverse proxy and accessible from the internet -# WHITELIST = if true only allow whitelisted ips (see general config), if false allow all -# HEALTHCHECK = if true, the default docker health checks for that container will be enabled -# AUTHELIA = if true, use Authelia authentication, if false turned off. -# HEADSCALE = options : false, local, remote (see general config). e.g false or local,remote -# PORTS = port number(s) that the application will be used (comma seperated) -# -CFG_NEXTCLOUD_RECORD_APP_NAME=nextcloud_record -CFG_NEXTCLOUD_RECORD_BACKUP=true -CFG_NEXTCLOUD_RECORD_COMPOSE_FILE=default -CFG_NEXTCLOUD_RECORD_HOST_NAME=record -CFG_NEXTCLOUD_RECORD_DOMAIN=1 -CFG_NEXTCLOUD_RECORD_PUBLIC=true -CFG_NEXTCLOUD_RECORD_WHIELIST=true -CFG_NEXTCLOUD_RECORD_HEALTHCHECK=true -CFG_NEXTCLOUD_RECORD_AUTHELIA=false -CFG_NEXTCLOUD_RECORD_HEADSCALE=false -CFG_NEXTCLOUD_RECORD_PORTS=1234 - -# Application metadata -CFG_NEXTCLOUD_RECORD_CATEGORY="Cloud Storage & File Sharing" -CFG_NEXTCLOUD_RECORD_TITLE="Nextcloud Record" -CFG_NEXTCLOUD_RECORD_DESCRIPTION="Talk Recording Backend" -CFG_NEXTCLOUD_RECORD_LONG_DESCRIPTION="Nextcloud Record is a comprehensive recording and screen capture solution integrated with Nextcloud for multimedia workflows" -CFG_NEXTCLOUD_RECORD_URL="https://github.com/nextcloud/talk-recording" -CFG_NEXTCLOUD_RECORD_ACTIONS="configure|install|restart|shutdown|uninstall" diff --git a/scripts/unused/OLD_CONTAINERS/nextcloud_record/nextcloud_record.sh b/scripts/unused/OLD_CONTAINERS/nextcloud_record/nextcloud_record.sh deleted file mode 100755 index f2af69b..0000000 --- a/scripts/unused/OLD_CONTAINERS/nextcloud_record/nextcloud_record.sh +++ /dev/null @@ -1,148 +0,0 @@ -#!/bin/bash - -# Category : Cloud Storage & File Sharing -# Description : Nextcloud Record - Talk Recording Backend (c/u/s/r/i): - -installNextcloud_record() -{ - local config_variables="$1" - - if [[ "$nextcloud_record" == *[cCtTuUsSrRiI]* ]]; then - dockerConfigSetupToContainer silent nextcloud_record; - local app_name=$CFG_NEXTCLOUD_RECORD_APP_NAME - initializeAppVariables $app_name; - fi - - if [[ "$nextcloud_record" == *[cC]* ]]; then - editAppConfig $app_name; - fi - - if [[ "$nextcloud_record" == *[uU]* ]]; then - dockerUninstallApp $app_name; - fi - - if [[ "$nextcloud_record" == *[sS]* ]]; then - dockerComposeDown $app_name; - fi - - if [[ "$nextcloud_record" == *[rR]* ]]; then - dockerComposeRestart $app_name; - fi - - if [[ "$nextcloud_record" == *[iI]* ]]; then - echo "" - echo "##########################################" - echo "### Install $app_name" - echo "##########################################" - echo "" - - ((menu_number++)) - echo "" - echo "---- $menu_number. Setting up install folders and config file for $app_name." - echo "" - - dockerConfigSetupToContainer "loud" "$app_name" "install" "$config_variables"; - isSuccessful "Install folders and Config files have been setup for $app_name." - - ((menu_number++)) - echo "" - - - ((menu_number++)) - echo "" - echo "---- $menu_number. Setting up the $app_name docker-compose.yml file." - echo "" - - dockerComposeSetupFile $app_name; - - local random_secret_1=$(openssl rand -hex 32) - result=$(sudo sed -i "s|SECRET1HERE|${random_secret_1}|" "$containers_dir$app_name/docker-compose.yml") - checkSuccess "Updating the RECORDING_SECRET in docker-compose.yml." - local random_secret_2=$(openssl rand -hex 32) - result=$(sudo sed -i "s|SECRET2HERE|${random_secret_2}|" "$containers_dir$app_name/docker-compose.yml") - checkSuccess "Updating the INTERNAL_SECRET in docker-compose.yml." - - local nextcloud_domain="" - while [[ -z "$nextcloud_domain" ]]; do - isQuestion "Enter your Nextcloud domain e.g (nextcloud.yourdomain.com): " - read -p "" nextcloud_domain - if [[ -z "$nextcloud_domain" ]]; then - echo "Please enter a valid domain." - fi - done - result=$(sudo sed -i "s|NEXTCLOUDDOMAINHERE|${nextcloud_domain}|" "$containers_dir$app_name/docker-compose.yml") - checkSuccess "Updating the NEXTCLOUD_URL in docker-compose.yml." - - local hpb_domain="" - while [[ -z "$hpb_domain" ]]; do - isQuestion "Enter your High-Performance Backend domain e.g (talk.yourdomain.com): " - read -p "" hpb_domain - if [[ -z "$hpb_domain" ]]; then - echo "Please enter a valid domain." - fi - done - result=$(sudo sed -i "s|HPBDOMAINHERE|${hpb_domain}|" "$containers_dir$app_name/docker-compose.yml") - checkSuccess "Updating the HPB_DOMAIN in docker-compose.yml." - - ((menu_number++)) - echo "" - echo "---- $menu_number. Updating file permissions before starting." - echo "" - - fixPermissionsBeforeStart $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Running the docker-compose.yml to install and start $app_name" - echo "" - - dockerComposeUpdateAndStartApp $app_name install; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Running Application specific updates (if required)" - echo "" - - appUpdateSpecifics $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Running Headscale setup (if required)" - echo "" - - setupHeadscale $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Adding $app_name to the Apps Database table." - echo "" - - databaseInstallApp $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Updating WebUI config file." - echo "" - - webuiContainerSetup $app_name install; - - ((menu_number++)) - echo "" - echo "---- $menu_number. You can find $app_name files at $containers_dir$app_name" - echo "" - echo " You can now navigate to your $app_name service using any of the options below : " - echo "" - - echo ""; - echo " RECORDING_SECRET=$random_secret_1" - echo " INTERNAL_SECRET=$random_secret_2" - echo ""; - - menuShowFinalMessages $app_name; - - menu_number=0 - #sleep 3s - cd - fi - nextcloud_record=n -} diff --git a/scripts/unused/OLD_CONTAINERS/nextcloud_record/nextcloud_record.svg b/scripts/unused/OLD_CONTAINERS/nextcloud_record/nextcloud_record.svg deleted file mode 100755 index eea50a4..0000000 --- a/scripts/unused/OLD_CONTAINERS/nextcloud_record/nextcloud_record.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/scripts/unused/OLD_CONTAINERS/nginx/docker-compose.yml b/scripts/unused/OLD_CONTAINERS/nginx/docker-compose.yml deleted file mode 100755 index bcf1441..0000000 --- a/scripts/unused/OLD_CONTAINERS/nginx/docker-compose.yml +++ /dev/null @@ -1,37 +0,0 @@ -networks: - DOCKERNETWORK_DATA: #LIBREPORTAL|DOCKERNETWORK_TAG|DOCKERNETWORK_DATA - external: true - -services: - nginx-service: #LIBREPORTAL|SERVICE_TAG_1|nginx-service - container_name: nginx-service - image: nginx - restart: unless-stopped - hostname: nginx - # GLUETUN_OFF_BEGIN - ports: - - "PORTS_DATA_1" #LIBREPORTAL|PORTS_TAG_1|PORTS_DATA_1 - # GLUETUN_OFF_END - labels: - libreportal.category: "CATEGORY_DATA" #LIBREPORTAL|CATEGORY_TAG|CATEGORY_DATA - libreportal.title: "TITLE_DATA" #LIBREPORTAL|TITLE_TAG|TITLE_DATA - traefik.enable: TRAEFIK_ENABLE_DATA #LIBREPORTAL|TRAEFIK_ENABLE_TAG|TRAEFIK_ENABLE_DATA - traefik.http.routers.nginx-service.entrypoints: web,websecure - traefik.http.routers.nginx-service.rule: Host(`DOMAINSUBNAME_DATA`) #LIBREPORTAL|DOMAINSUBNAME_TAG|DOMAINSUBNAME_DATA - traefik.http.routers.nginx-service.tls: true - traefik.http.routers.nginx-service.tls.certresolver: production - traefik.http.services.nginx-service.loadbalancer.server.port: PORT_INTERNAL_DATA_1 #LIBREPORTAL|PORT_INTERNAL_TAG_1|PORT_INTERNAL_DATA_1 - traefik.http.routers.nginx-service.middlewares: MIDDLEWARE_DATA #LIBREPORTAL|MIDDLEWARE_TAG|MIDDLEWARE_DATA - healthcheck: - disable: HEALTHCHECK_DATA #LIBREPORTAL|HEALTHCHECK_TAG|HEALTHCHECK_DATA - volumes: - - SOCKET_DATA #LIBREPORTAL|SOCKET_TAG|SOCKET_DATA - - "./html:/usr/share/nginx/html" - # GLUETUN_OFF_BEGIN - networks: - DOCKERNETWORK_DATA: #LIBREPORTAL|DOCKERNETWORK_TAG|DOCKERNETWORK_DATA - ipv4_address: IP_DATA_1 #LIBREPORTAL|IP_TAG_1|IP_DATA_1 - # GLUETUN_OFF_END - # GLUETUN_ON_BEGIN - # network_mode: "container:gluetun-service" - # GLUETUN_ON_END diff --git a/scripts/unused/OLD_CONTAINERS/nginx/nginx.config b/scripts/unused/OLD_CONTAINERS/nginx/nginx.config deleted file mode 100755 index 123704e..0000000 --- a/scripts/unused/OLD_CONTAINERS/nginx/nginx.config +++ /dev/null @@ -1,64 +0,0 @@ -# -# ============================================================================= -# GENERAL CONFIGURATION -# ============================================================================= -# APP_NAME = name of application for use in scripts -# COMPOSE_FILE = default for no app_name in docker compose file name, app if there is -# BACKUP = if true, include this application in backup operations -# HEALTHCHECK = if true, default docker health checks for that container will be enabled -# AUTHELIA = if true, use Authelia authentication, if false turned off. -# HEADSCALE = options : false, local, remote (see general config). e.g false or local,remote -# -CFG_NGINX_APP_NAME=nginx -CFG_NGINX_BACKUP=false -CFG_NGINX_COMPOSE_FILE=default -CFG_NGINX_HEALTHCHECK=true -CFG_NGINX_AUTHELIA=false -CFG_NGINX_HEADSCALE=false -# -# ============================================================================= -# METADATA -# ============================================================================= -# CATEGORY = application category for grouping -# TITLE = display name for the application -# DESCRIPTION = short description of the application -# LONG_DESCRIPTION = detailed description of the application -# URL = source repository or documentation URL -# ACTIONS = available actions for this application -# -CFG_NGINX_CATEGORY="web" -CFG_NGINX_TITLE="Nginx" -CFG_NGINX_DESCRIPTION="Web Server" -CFG_NGINX_LONG_DESCRIPTION="Nginx is a high-performance web server and reverse proxy that can also be used as a load balancer, HTTP cache, and mail proxy" -CFG_NGINX_URL="https://github.com/nginx/nginx" -CFG_NGINX_ACTIONS="configure|install|restart|shutdown|uninstall" -# -# ============================================================================= -# NETWORK CONFIGURATION -# ============================================================================= -# DOMAIN = number of domain from the general config, useful when using multiple domains -# HOST_NAME = subdomain name e.g test is the name for test.website.com -# WHITELIST = if true only allow whitelisted ips on traefik, if false allow all -# PUBLIC = if true, app is publicly accessible, if false, only accessible on local network -# -CFG_NGINX_DOMAIN=1 -CFG_NGINX_WHITELIST=false -CFG_NGINX_HOST_NAME=web -CFG_NGINX_NETWORK=default -CFG_NGINX_PUBLIC=true -# -# ============================================================================= -# PORT CONFIGURATION -# ============================================================================= -# PORT_ = port configuration: app|name|external:internal|access|protocol|login|traefik|webui|description -# - app: application name -# - name: service identifier (webui, dns, ssh, etc.) -# - external:internal: port mapping (external can be 'random' for auto-allocation) -# - access: 'public' (internet accessible), 'private' (local network only), 'disabled' (not running) -# - protocol: 'tcp' or 'udp' -# - login: if true, this port requires basic-auth via Traefik (only meaningful when traefik=true) -# - traefik: if true, Traefik handles this port (reverse proxy) -# - webui: if true, this port serves the main web interface -# - description: human-readable description of the service -# -CFG_NGINX_PORT_1="nginx-service|webui|random:80|private|tcp|false|true|true|Web Interface|" diff --git a/scripts/unused/OLD_CONTAINERS/nginx/nginx.sh b/scripts/unused/OLD_CONTAINERS/nginx/nginx.sh deleted file mode 100755 index 73ffc98..0000000 --- a/scripts/unused/OLD_CONTAINERS/nginx/nginx.sh +++ /dev/null @@ -1,112 +0,0 @@ -#!/bin/bash - -# Category : Web Servers & Hosting -# Description : Nginx - Web Server (c/u/s/r/i): - -installNginx() -{ - local config_variables="$1" - - if [[ "$nginx" == *[cCtTuUsSrRiI]* ]]; then - dockerConfigSetupToContainer silent nginx; - local app_name=$CFG_NGINX_APP_NAME - initializeAppVariables $app_name; - fi - - if [[ "$nginx" == *[cC]* ]]; then - editAppConfig $app_name; - fi - - if [[ "$nginx" == *[uU]* ]]; then - dockerUninstallApp $app_name; - fi - - if [[ "$nginx" == *[sS]* ]]; then - dockerComposeDown $app_name; - fi - - if [[ "$nginx" == *[rR]* ]]; then - dockerComposeRestart $app_name; - fi - - if [[ "$nginx" == *[iI]* ]]; then - isHeader "Installing $app_name" - - ((menu_number++)) - echo "" - echo "---- $menu_number. Setting up install folder and config file for $app_name." - echo "" - - dockerConfigSetupToContainer "loud" "$app_name" "install" "$config_variables"; - isSuccessful "Install folders and Config files have been setup for $app_name." - - ((menu_number++)) - echo "" - - - ((menu_number++)) - echo "" - echo "---- $menu_number. Setting up the $app_name docker-compose.yml file." - echo "" - - dockerComposeSetupFile $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Updating file permissions before starting." - echo "" - - fixPermissionsBeforeStart $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Running the docker-compose.yml to install and start $app_name" - echo "" - - dockerComposeUpdateAndStartApp $app_name install; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Running Application specific updates (if required)" - echo "" - - appUpdateSpecifics $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Running Headscale setup (if required)" - echo "" - - setupHeadscale $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Setting up database records" - echo "" - - databaseInstallApp $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Updating WebUI config file." - echo "" - - webuiContainerSetup $app_name install; - - ((menu_number++)) - echo "" - echo "---- $menu_number. You can find $app_name files at $containers_dir$app_name" - echo "" - echo " You can now navigate to your $app_name service using any of the options below : " - echo "" - echo " NOTE - The password to login in defined in the yml install file that was installed" - echo "" - - menuShowFinalMessages $app_name; - - menu_number=0 - #sleep 3s - cd - fi - nginx=n -} diff --git a/scripts/unused/OLD_CONTAINERS/nginx/nginx.svg b/scripts/unused/OLD_CONTAINERS/nginx/nginx.svg deleted file mode 100755 index d81b968..0000000 --- a/scripts/unused/OLD_CONTAINERS/nginx/nginx.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/scripts/unused/OLD_CONTAINERS/nginx/resources/index.html b/scripts/unused/OLD_CONTAINERS/nginx/resources/index.html deleted file mode 100755 index 2905cdb..0000000 --- a/scripts/unused/OLD_CONTAINERS/nginx/resources/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - NGINX Webserver Default - - - -

NGINX Webserver Default

- - - diff --git a/scripts/unused/OLD_CONTAINERS/olivetin/docker-compose.yml b/scripts/unused/OLD_CONTAINERS/olivetin/docker-compose.yml deleted file mode 100755 index 1c8a971..0000000 --- a/scripts/unused/OLD_CONTAINERS/olivetin/docker-compose.yml +++ /dev/null @@ -1,28 +0,0 @@ -networks: - vpn: - external: true - name: vpn - -services: - olivetin: - container_name: olivetin - image: jamesread/olivetin:latest-3k - user: root - volumes: - - /var/run/docker.sock:/var/run/docker.sock:ro #SOCKETHERE - - ./config:/config # replace host path or volume as needed - - ./ssh:/home/olivetin/.ssh - ports: - - "PORT1:1337" - restart: unless-stopped - #labels: - #traefik.enable: true - #traefik.http.routers.olivetin.entrypoints: web,websecure - #traefik.http.routers.olivetin.rule: Host(`DOMAINSUBNAMEHERE`) - #traefik.http.routers.olivetin.tls: true - #traefik.http.routers.olivetin.tls.certresolver: production - #traefik.http.services.olivetin.loadbalancer.server.port: PORT1 - #traefik.http.routers.olivetin.middlewares: - networks: - vpn: - ipv4_address: IPADDRESSHERE diff --git a/scripts/unused/OLD_CONTAINERS/olivetin/olivetin.config b/scripts/unused/OLD_CONTAINERS/olivetin/olivetin.config deleted file mode 100755 index fa413d3..0000000 --- a/scripts/unused/OLD_CONTAINERS/olivetin/olivetin.config +++ /dev/null @@ -1,32 +0,0 @@ -# -# APP_NAME = name of the application for use in the scripts -# COMPOSE_FILE = default for no app_name in the docker compose file name, app if there is -# HOST NAME = subdomain name e.g test is the name for test.website.com -# DOMAIN = number of the domain from the general config, useful when using multiple domains -# PUBLIC = if true, application will be setup with the reverse proxy and accessible from the internet -# WHITELIST = if true only allow whitelisted ips (see general config), if false allow all -# HEALTHCHECK = if true, the default docker health checks for that container will be enabled -# AUTHELIA = if true, use Authelia authentication, if false turned off. -# HEADSCALE = options : false, local, remote (see general config). e.g false or local,remote -# PORTS = port number(s) that the application will be used (comma seperated) -# -CFG_OLIVETIN_APP_NAME=olivetin -CFG_OLIVETIN_BACKUP=true -CFG_OLIVETIN_COMPOSE_FILE=default -CFG_OLIVETIN_HOST_NAME=olivetin -CFG_OLIVETIN_DOMAIN=1 -CFG_OLIVETIN_PUBLIC=false -CFG_OLIVETIN_WHIELIST=true -CFG_OLIVETIN_HEALTHCHECK=true -CFG_OLIVETIN_AUTHELIA=false -CFG_OLIVETIN_HEADSCALE=false -CFG_OLIVETIN_PORTS=1337 - -# Application metadata -CFG_OLIVETIN_CATEGORY="Miscellaneous" -CFG_OLIVETIN_TITLE="Olivetin" -CFG_OLIVETIN_DESCRIPTION="Web Interface for Linux" -CFG_OLIVETIN_LONG_DESCRIPTION="Web-based graphical user interface for Linux commands that provides a simple way to manage server operations" -CFG_OLIVETIN_URL="https://github.com/OliveTin/OliveTin" -CFG_OLIVETIN_ACTIONS="configure|install|restart|shutdown|uninstall" -CFG_OLIVETIN_ACTIONS="configure|install|restart|shutdown|uninstall" diff --git a/scripts/unused/OLD_CONTAINERS/olivetin/olivetin.sh b/scripts/unused/OLD_CONTAINERS/olivetin/olivetin.sh deleted file mode 100755 index ddf3af4..0000000 --- a/scripts/unused/OLD_CONTAINERS/olivetin/olivetin.sh +++ /dev/null @@ -1,149 +0,0 @@ -#!/bin/bash - -# Category : system -# Description : Olivetin - Web Interface for Linux (c/u/s/r/i): - -installOlivetin() -{ - if [[ "$olivetin" == *[cCtTuUsSrRiI]* ]]; then - dockerConfigSetupToContainer silent olivetin; - local app_name=$CFG_OLIVETIN_APP_NAME - initializeAppVariables $app_name; - fi - - if [[ "$olivetin" == *[cC]* ]]; then - editAppConfig $app_name; - fi - - if [[ "$olivetin" == *[uU]* ]]; then - dockerUninstallApp $app_name; - fi - - if [[ "$olivetin" == *[sS]* ]]; then - dockerComposeDown $app_name; - fi - - if [[ "$olivetin" == *[rR]* ]]; then - dockerComposeRestart $app_name; - fi - - if [[ "$olivetin" == *[iI]* ]]; then - echo "" - echo "##########################################" - echo "### Install $app_name" - echo "##########################################" - echo "" - - ((menu_number++)) - echo "" - echo "---- $menu_number. Setting up install and config file for $app_name." - echo "" - - dockerConfigSetupToContainer "loud" "$app_name" "install"; - isSuccessful "Install Config files have been setup for $app_name." - - ((menu_number++)) - echo "" - - - ((menu_number++)) - echo "" - echo "---- $menu_number. Setting up the $app_name docker-compose.yml file." - echo "" - - dockerComposeSetupFile $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Setting up $app_name config.yaml" - echo "" - - result=$(rm -rf "$containers_dir$app_name/config/config.yaml") - checkSuccess "Removing old config.yaml file" - - local result=$(copyResource "$app_name" "config.yaml" "config") - checkSuccess "Copying the config.yaml for $app_name" - - configSetupFileWithData $app_name "/config/config.yaml"; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Updating file permissions before starting." - echo "" - - fixPermissionsBeforeStart $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Running the docker-compose.yml to install and start $app_name" - echo "" - - dockerComposeUpdateAndStartApp $app_name install; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Setting up LibrePortal SSH Connectivity" - echo "" - - if [[ $CFG_SSHKEY_LIBREPORTAL_ENABLED == "true" ]]; then - local ed_ssh_file_path=$(find $ssh_dir/public -name "*libreportal.pub" -print -quit) - - local result=$(copyFile "loud" "$ed_ssh_file_path" "$containers_dir$app_name/ssh" "$docker_install_user") - checkSuccess "Copying LibrePortal SSH Key to $app_name" - - dockerCommandRun "docker exec $app_name mkdir /opt/OliveTinSshKeys" - checkSuccess "Creating SSK Key folder in docker container for $app_name" - else - dockerCommandRun "docker exec $app_name dnf install -y sshpass" - checkSuccess "Installing SSHPass as not using SSH Keys for $app_name" - - # Access to CLI - updateConfigOption "CFG_DOCKER_MANAGER_ENABLED" "true" - installDockerManagerUser; - fi - - dockerComposeRestart $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Running Application specific updates (if required)" - echo "" - - appUpdateSpecifics $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Running Headscale setup (if required)" - echo "" - - setupHeadscale $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Adding $app_name to the Apps Database table." - echo "" - - databaseInstallApp $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Updating WebUI config file." - echo "" - - webuiContainerSetup $app_name install; - - ((menu_number++)) - echo "" - echo "---- $menu_number. You can find $app_name files at $containers_dir$app_name" - echo "" - echo " You can now navigate to your $app_name service using any of the options below : " - echo "" - - menuShowFinalMessages $app_name; - - menu_number=0 - #sleep 3s - cd - fi - olivetin=n -} diff --git a/scripts/unused/OLD_CONTAINERS/olivetin/olivetin.svg b/scripts/unused/OLD_CONTAINERS/olivetin/olivetin.svg deleted file mode 100755 index 1fc4f5e..0000000 --- a/scripts/unused/OLD_CONTAINERS/olivetin/olivetin.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/scripts/unused/OLD_CONTAINERS/olivetin/resources/config.yaml b/scripts/unused/OLD_CONTAINERS/olivetin/resources/config.yaml deleted file mode 100755 index c10f990..0000000 --- a/scripts/unused/OLD_CONTAINERS/olivetin/resources/config.yaml +++ /dev/null @@ -1,64 +0,0 @@ -# There is a built-in micro proxy that will host the webui and REST API all on -# one port (this is called the "Single HTTP Frontend") and means you just need -# one open port in the container/firewalls/etc. -# -# Listen on all addresses available, port 1337 -listenAddressSingleHTTPFrontend: 0.0.0.0:1337 - -# Choose from INFO (default), WARN and DEBUG -# Docs: https://docs.olivetin.app/advanced_configuration/logs.html -logLevel: "INFO" - -# Security - Authentication - -# This setting effectively enables or disables guests. -# If set to "true", then users will have to login to do anything. -authRequireGuestsToLogin: false -authLocalUsers: - enabled: true -# users: -# - username: alice -# usergroup: admins -# password: "$argon2id$v=19$m=65536,t=4,p=2$puyxA0s555TSFx7hnFLCXA$PyhLGpZtvpMMvc2DgMWkM8OJMKO55euwV5gm//1iwx4" - -# Security - Access Control - -# Policies affect the whole app (eg: ability to view the log list). -# Docs: https://docs.olivetin.app/security/acl.html -defaultPolicy: - showDiagnostics: true - showLogList: true - -# Permissions affect actions (eg: ability to view a specific log). -# Docs: https://docs.olivetin.app/security/acl.html -defaultPermissions: - view: true - exec: true - logs: true - -# OliveTin uses access control lists to match up policy and permissions to users. -# Docs: https://docs.olivetin.app/security/acl.html -accessControlLists: - - name: admin_acl - matchUsergroups: ["admins"] - policy: - showDiagnostics: true - permissions: - view: true - exec: true - logs: true - -# Actions are commands that are executed by OliveTin, and normally show up as -# buttons on the WebUI. -# -# Docs: https://docs.olivetin.app/action_execution/create_your_first.html -actions: - # This is the most simple action, it just runs the command and flashes the - # button to indicate status. - # - # If you are running OliveTin in a container remember to pass through the - # docker socket! https://docs.olivetin.app/solutions/container-control-panel/index.html - - title: Ping the Internet - shell: ping -c 3 1.1.1.1 - icon: ping - popupOnStart: execution-dialog-stdout-only diff --git a/scripts/unused/OLD_CONTAINERS/piped/docker-compose.yml b/scripts/unused/OLD_CONTAINERS/piped/docker-compose.yml deleted file mode 100755 index a6a703e..0000000 --- a/scripts/unused/OLD_CONTAINERS/piped/docker-compose.yml +++ /dev/null @@ -1,85 +0,0 @@ -networks: - vpn: - external: true - -services: - pipedfrontend: - container_name: piped-frontend - image: 1337kavin/piped-frontend:latest - restart: unless-stopped - depends_on: - - piped - entrypoint: ash -c 'sed -i s/pipedapi.kavin.rocks/BACKEND_HOSTNAME/g /usr/share/nginx/html/assets/* && /docker-entrypoint.sh && piped-nginx -g "daemon off;"' - networks: - vpn: - ipv4_address: 10.100.0.126 - - piped-proxy: - container_name: piped-proxy - image: 1337kavin/piped-proxy:latest - restart: unless-stopped - environment: - - UDS=1 - volumes: - - ./piped-proxy:/app/socket - networks: - vpn: - ipv4_address: 10.100.0.127 - - piped: - container_name: piped-backend - image: 1337kavin/piped:latest - restart: unless-stopped - volumes: - - ./config/config.properties:/app/config.properties:ro - depends_on: - - piped-postgres - networks: - vpn: - ipv4_address: 10.100.0.128 - - piped-nginx: - container_name: piped-nginx - image: nginx:mainline-alpine - restart: unless-stopped - ports: - - "PORT1:80" - volumes: - - ./config/nginx.conf:/etc/nginx/nginx.conf:ro - - ./config/pipedapi.conf:/etc/nginx/conf.d/pipedapi.conf:ro - - ./config/pipedproxy.conf:/etc/nginx/conf.d/pipedproxy.conf:ro - - ./config/pipedfrontend.conf:/etc/nginx/conf.d/pipedfrontend.conf:ro - - ./config/ytproxy.conf:/etc/nginx/snippets/ytproxy.conf:ro - - ./piped-proxy:/var/run/ytproxy - depends_on: - - piped - - piped-proxy - - pipedfrontend - #labels: - #traefik.enable: true - #traefik.http.routers.piped.entrypoints: web,websecure - #traefik.http.routers.piped.rule: Host(`FRONTEND_HOSTNAME`, `BACKEND_HOSTNAME`, `PROXY_HOSTNAME`)" - #traefik.http.routers.piped.service: piped - #traefik.http.routers.piped.tls: true - #traefik.http.routers.piped.tls.certresolver: production - #traefik.http.services.piped.loadbalancer.server.port: PORT1 - #traefik.http.routers.piped.middlewares: - healthcheck: - disable: false #HEALTHCHECKHERE - networks: - vpn: - ipv4_address: IPADDRESSHERE - - piped-postgres: - container_name: piped-postgres - image: postgres:15 - restart: unless-stopped - volumes: - - ./data/db:/var/lib/piped-postgresql/data - environment: - - postgres_DB=piped - - postgres_USER=piped - - postgres_PASSWORD=RANDOMIZEDPASSWORD1 - networks: - vpn: - ipv4_address: 10.100.0.129 diff --git a/scripts/unused/OLD_CONTAINERS/piped/piped.config b/scripts/unused/OLD_CONTAINERS/piped/piped.config deleted file mode 100755 index 232e322..0000000 --- a/scripts/unused/OLD_CONTAINERS/piped/piped.config +++ /dev/null @@ -1,31 +0,0 @@ -# -# APP_NAME = name of the application for use in the scripts -# COMPOSE_FILE = default for no app_name in the docker compose file name, app if there is -# HOST NAME = subdomain name e.g test is the name for test.website.com -# DOMAIN = number of the domain from the general config, useful when using multiple domains -# PUBLIC = if true, application will be setup with the reverse proxy and accessible from the internet -# WHITELIST = if true only allow whitelisted ips (see general config), if false allow all -# HEALTHCHECK = if true, the default docker health checks for that container will be enabled -# AUTHELIA = if true, use Authelia authentication, if false turned off. -# HEADSCALE = options : false, local, remote (see general config). e.g false or local,remote -# PORTS = port number(s) that the application will be used (comma seperated) -# -CFG_PIPED_APP_NAME=piped -CFG_PIPED_BACKUP=false -CFG_PIPED_COMPOSE_FILE=default -CFG_PIPED_HOST_NAME=piped -CFG_PIPED_DOMAIN=1 -CFG_PIPED_PUBLIC=true -CFG_PIPED_WHITELIST=false -CFG_PIPED_HEALTHCHECK=true -CFG_PIPED_AUTHELIA=false -CFG_PIPED_HEADSCALE=false -CFG_PIPED_PORTS=8025 -# Application metadata -CFG_PIPED_CATEGORY="Media & Streaming" -CFG_PIPED_TITLE="Piped" -CFG_PIPED_DESCRIPTION="Privacy-focused YouTube Proxy" -CFG_PIPED_LONG_DESCRIPTION="Piped is an alternative privacy-friendly YouTube frontend which is efficient and extensible with a focus on user experience" -CFG_PIPED_URL="https://github.com/TeamPiped/Piped" -CFG_PIPED_ACTIONS="configure|install|restart|shutdown|uninstall" -CFG_PIPED_ACTIONS="configure|install|restart|shutdown|uninstall" diff --git a/scripts/unused/OLD_CONTAINERS/piped/piped.sh b/scripts/unused/OLD_CONTAINERS/piped/piped.sh deleted file mode 100755 index a1db619..0000000 --- a/scripts/unused/OLD_CONTAINERS/piped/piped.sh +++ /dev/null @@ -1,118 +0,0 @@ -#!/bin/bash - -# Category : Media & Streaming -# Description : Piped - Privacy-focused YouTube Proxy (c/u/s/r/i/t): - -installPiped() -{ - local config_variables="$1" - - if [[ "$piped" == *[cCtTuUsSrRiI]* ]]; then - dockerConfigSetupToContainer silent piped; - local app_name=$CFG_PIPED_APP_NAME - initializeAppVariables $app_name; - fi - - if [[ "$piped" == *[cC]* ]]; then - editAppConfig $app_name; - fi - - if [[ "$piped" == *[tT]* ]]; then - pipedToolsMenu; - fi - - if [[ "$piped" == *[uU]* ]]; then - dockerUninstallApp $app_name; - fi - - if [[ "$piped" == *[sS]* ]]; then - dockerComposeDown $app_name; - fi - - if [[ "$piped" == *[rR]* ]]; then - dockerComposeRestart $app_name; - fi - - if [[ "$piped" == *[iI]* ]]; then - echo "" - echo "##########################################" - echo "### Install $app_name" - echo "##########################################" - echo "" - - ((menu_number++)) - echo "" - echo "---- $menu_number. Setting up install folder and config file for $app_name." - echo "" - - dockerConfigSetupToContainer "loud" "$app_name" "install" "$config_variables"; - isSuccessful "Install folders and Config files have been setup for $app_name." - - ((menu_number++)) - echo "" - - - ((menu_number++)) - echo "" - echo "---- $menu_number. Setting up the $app_name docker-compose.yml file." - echo "" - - dockerComposeSetupFile $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Updating file permissions before starting." - echo "" - - fixPermissionsBeforeStart $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Running the docker-compose.yml to install and start $app_name" - echo "" - - dockerComposeUpdateAndStartApp $app_name install; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Running Application specific updates (if required)" - echo "" - - appUpdateSpecifics $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Running Headscale setup (if required)" - echo "" - - setupHeadscale $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Adding $app_name to the Apps Database table." - echo "" - - databaseInstallApp $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Updating WebUI config file." - echo "" - - webuiContainerSetup $app_name install; - - ((menu_number++)) - echo "" - echo "---- $menu_number. You can find $app_name files at $containers_dir$app_name" - echo "" - echo " You can now navigate to your $app_name service using any of the options below : " - echo "" - - menuShowFinalMessages $app_name; - - menu_number=0 - #sleep 3s - cd - fi - piped=n -} diff --git a/scripts/unused/OLD_CONTAINERS/piped/piped.svg b/scripts/unused/OLD_CONTAINERS/piped/piped.svg deleted file mode 100755 index 190f0f9..0000000 --- a/scripts/unused/OLD_CONTAINERS/piped/piped.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/scripts/unused/OLD_CONTAINERS/portainer/docker-compose.yml b/scripts/unused/OLD_CONTAINERS/portainer/docker-compose.yml deleted file mode 100755 index f5a11ac..0000000 --- a/scripts/unused/OLD_CONTAINERS/portainer/docker-compose.yml +++ /dev/null @@ -1,38 +0,0 @@ -networks: - DOCKERNETWORK_DATA: #LIBREPORTAL|DOCKERNETWORK_TAG|DOCKERNETWORK_DATA - external: true - -services: - portainer-service: #LIBREPORTAL|SERVICE_TAG_1|portainer-service - container_name: portainer-service - image: portainer/portainer-ce - restart: unless-stopped - hostname: portainer - # GLUETUN_OFF_BEGIN - ports: - - "PORTS_DATA_1" #LIBREPORTAL|PORTS_TAG_1|PORTS_DATA_1 - - "PORTS_DATA_2" #LIBREPORTAL|PORTS_TAG_2|PORTS_DATA_2 - # GLUETUN_OFF_END - labels: - libreportal.category: "CATEGORY_DATA" #LIBREPORTAL|CATEGORY_TAG|CATEGORY_DATA - libreportal.title: "TITLE_DATA" #LIBREPORTAL|TITLE_TAG|TITLE_DATA - traefik.enable: TRAEFIK_ENABLE_DATA #LIBREPORTAL|TRAEFIK_ENABLE_TAG|TRAEFIK_ENABLE_DATA - traefik.http.routers.portainer-service.entrypoints: web,websecure - traefik.http.routers.portainer-service.rule: Host(`DOMAINSUBNAME_DATA`) #LIBREPORTAL|DOMAINSUBNAME_TAG|DOMAINSUBNAME_DATA - traefik.http.routers.portainer-service.tls: true - traefik.http.routers.portainer-service.tls.certresolver: production - traefik.http.services.portainer-service.loadbalancer.server.port: PORT_INTERNAL_DATA_1 #LIBREPORTAL|PORT_INTERNAL_TAG_1|PORT_INTERNAL_DATA_1 - traefik.http.routers.portainer-service.middlewares: MIDDLEWARE_DATA #LIBREPORTAL|MIDDLEWARE_TAG|MIDDLEWARE_DATA - healthcheck: - disable: HEALTHCHECK_DATA #LIBREPORTAL|HEALTHCHECK_TAG|HEALTHCHECK_DATA - volumes: - - SOCKET_DATA #LIBREPORTAL|SOCKET_TAG|SOCKET_DATA - - "./portainer-data/:/data" - # GLUETUN_OFF_BEGIN - networks: - DOCKERNETWORK_DATA: #LIBREPORTAL|DOCKERNETWORK_TAG|DOCKERNETWORK_DATA - ipv4_address: IP_DATA_1 #LIBREPORTAL|IP_TAG_1|IP_DATA_1 - # GLUETUN_OFF_END - # GLUETUN_ON_BEGIN - # network_mode: "container:gluetun-service" - # GLUETUN_ON_END diff --git a/scripts/unused/OLD_CONTAINERS/portainer/portainer.config b/scripts/unused/OLD_CONTAINERS/portainer/portainer.config deleted file mode 100755 index 8c76e95..0000000 --- a/scripts/unused/OLD_CONTAINERS/portainer/portainer.config +++ /dev/null @@ -1,65 +0,0 @@ -# -# ============================================================================= -# GENERAL CONFIGURATION -# ============================================================================= -# APP_NAME = name of application for use in scripts -# COMPOSE_FILE = default for no app_name in docker-compose file name, app if there is -# BACKUP = if true, include this application in backup operations -# HEALTHCHECK = if true, default docker health checks for that container will be enabled -# AUTHELIA = if true, use Authelia authentication, if false turned off. -# HEADSCALE = options : false, local, remote (see general config). e.g false or local,remote -# -CFG_PORTAINER_APP_NAME=portainer -CFG_PORTAINER_BACKUP=true -CFG_PORTAINER_COMPOSE_FILE=default -CFG_PORTAINER_HEALTHCHECK=true -CFG_PORTAINER_AUTHELIA=false -CFG_PORTAINER_HEADSCALE=false -# -# ============================================================================= -# METADATA -# ============================================================================= -# CATEGORY = application category for grouping -# TITLE = display name for the application -# DESCRIPTION = short description of the application -# LONG_DESCRIPTION = detailed description of the application -# URL = source repository or documentation URL -# ACTIONS = available actions for this application -# -CFG_PORTAINER_CATEGORY="Development" -CFG_PORTAINER_TITLE="Portainer" -CFG_PORTAINER_DESCRIPTION="Docker Management" -CFG_PORTAINER_LONG_DESCRIPTION="Portainer is a lightweight management UI for Docker, Docker Swarm, and Kubernetes that allows you to manage your containers easily" -CFG_PORTAINER_URL="https://github.com/portainer/portainer" -CFG_PORTAINER_ACTIONS="configure|install|restart|shutdown|uninstall" -# -# ============================================================================= -# NETWORK CONFIGURATION -# ============================================================================= -# DOMAIN = number of domain from the general config, useful when using multiple domains -# HOST_NAME = subdomain name e.g test is the name for test.website.com -# WHITELIST = if true only allow whitelisted ips on traefik, if false allow all -# PUBLIC = if true, app is publicly accessible, if false, only accessible on local network -# -CFG_PORTAINER_DOMAIN=1 -CFG_PORTAINER_WHITELIST=false -CFG_PORTAINER_HOST_NAME=portainer -CFG_PORTAINER_NETWORK=default -CFG_PORTAINER_PUBLIC=true -# -# ============================================================================= -# PORT CONFIGURATION -# ============================================================================= -# PORT_ = port configuration: app|name|external:internal|access|protocol|login|traefik|webui|description -# - app: application name -# - name: service identifier (webui, api, ssh, etc.) -# - external:internal: port mapping (external can be 'random' for auto-allocation) -# - access: 'public' (internet accessible), 'private' (local network only), 'disabled' (not running) -# - protocol: 'tcp' or 'udp' -# - login: if true, this port requires basic-auth via Traefik (only meaningful when traefik=true) -# - traefik: if true, Traefik handles this port (reverse proxy) -# - webui: if true, this port serves the main web interface -# - description: human-readable description of the service -# -CFG_PORTAINER_PORT_1="portainer-service|webui|random:9000|public|tcp|false|true|true|Web Interface|" -CFG_PORTAINER_PORT_2="portainer-service|agent-edge|random:8000|disabled|tcp|false|false|false|Edge Agent|" diff --git a/scripts/unused/OLD_CONTAINERS/portainer/portainer.sh b/scripts/unused/OLD_CONTAINERS/portainer/portainer.sh deleted file mode 100755 index ba84642..0000000 --- a/scripts/unused/OLD_CONTAINERS/portainer/portainer.sh +++ /dev/null @@ -1,111 +0,0 @@ -#!/bin/bash - -# Category : Development & Version Control -# Description : Portainer - Docker Management (c/u/s/r/i): - -installPortainer() -{ - local config_variables="$1" - - if [[ "$portainer" == *[cCtTuUsSrRiI]* ]]; then - dockerConfigSetupToContainer silent portainer; - local app_name=$CFG_PORTAINER_APP_NAME - initializeAppVariables $app_name; - fi - - if [[ "$portainer" == *[cC]* ]]; then - editAppConfig $app_name; - fi - - if [[ "$portainer" == *[uU]* ]]; then - dockerUninstallApp $app_name; - fi - - if [[ "$portainer" == *[sS]* ]]; then - dockerComposeDown $app_name; - fi - - if [[ "$portainer" == *[rR]* ]]; then - dockerComposeRestart $app_name; - fi - - if [[ "$portainer" == *[iI]* ]]; then - isHeader "Installing $app_name" - - ((menu_number++)) - echo "" - echo "---- $menu_number. Setting up install folder and config file for $app_name." - echo "" - - dockerConfigSetupToContainer "loud" "$app_name" "install" "$config_variables"; - isSuccessful "Install folders and Config files have been setup for $app_name." - - ((menu_number++)) - echo "" - - - ((menu_number++)) - echo "" - echo "---- $menu_number. Setting up the $app_name docker-compose.yml file." - echo "" - - dockerComposeSetupFile $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Updating file permissions before starting." - echo "" - - fixPermissionsBeforeStart $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Running the docker-compose.yml to install and start $app_name" - echo "" - - dockerComposeUpdateAndStartApp $app_name install; - dockerComposeRestart $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Running Application specific updates (if required)" - echo "" - - appUpdateSpecifics $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Running Headscale setup (if required)" - echo "" - - setupHeadscale $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Adding $app_name to the Apps Database table." - echo "" - - databaseInstallApp $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Updating WebUI config file." - echo "" - - webuiContainerSetup $app_name install; - - ((menu_number++)) - echo "" - echo "---- $menu_number. You can find $app_name files at $containers_dir$app_name" - echo "" - echo " You can now navigate to your new service using one of the options below : " - echo "" - - menuShowFinalMessages $app_name; - - menu_number=0 - #sleep 3s - cd - fi - portainer=n -} diff --git a/scripts/unused/OLD_CONTAINERS/portainer/portainer.svg b/scripts/unused/OLD_CONTAINERS/portainer/portainer.svg deleted file mode 100755 index 45cf83a..0000000 --- a/scripts/unused/OLD_CONTAINERS/portainer/portainer.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/scripts/unused/OLD_CONTAINERS/seafile/docker-compose.yml b/scripts/unused/OLD_CONTAINERS/seafile/docker-compose.yml deleted file mode 100755 index 93893e3..0000000 --- a/scripts/unused/OLD_CONTAINERS/seafile/docker-compose.yml +++ /dev/null @@ -1,61 +0,0 @@ -networks: - vpn: - external: true - -services: - seafile: - image: seafileltd/seafile-mc:12.0-latest - container_name: seafile - ports: - - "PORT1:80" -# - "443:443" # If https is enabled, cancel the comment. - volumes: - - ./seafile-data:/shared # Requested, specifies the path to Seafile data persistent store. - environment: - - DB_HOST=seafile-mysql - - DB_ROOT_PASSWD=RANDOMIZEDPASSWORD1 # Requested, the value should be root's password of MySQL service. - - TIME_ZONE=TIMEZONEHERE # Optional, default is UTC. Should be uncommented and set to your local time zone. - - SEAFILE_ADMIN_EMAIL=EMAILHERE # Specifies Seafile admin user, default is 'me@example.com'. - - SEAFILE_ADMIN_PASSWORD=RANDOMIZEDPASSWORD2 # Specifies Seafile admin password, default is 'asecret'. - - SEAFILE_SERVER_LETSENCRYPT=false # Whether to use https or not. - - SEAFILE_SERVER_HOSTNAME=DOMAINSUBNAMEHERE # Specifies your host name if https is enabled. - - JWT_PRIVATE_KEY=RANDOMIZEDPASSWORD3 - - CSRF_TRUSTED_ORIGINS=https://DOMAINSUBNAMEHERE - - ALLOWED_HOSTS=DOMAINSUBNAMEHERE - - SECURE_PROXY_SSL_HEADER=('HTTP_X_FORWARDED_PROTO', 'https') - #labels: - #traefik.enable: true - #traefik.http.routers.seafile.entrypoints: web,websecure - #traefik.http.routers.seafile.rule: Host(`DOMAINSUBNAMEHERE`) - #traefik.http.routers.seafile.tls: true - #traefik.http.routers.seafile.tls.certresolver: production - #traefik.http.routers.seafile.middlewares: - healthcheck: - disable: false #HEALTHCHECKHERE - depends_on: - - seafile-mysql - - seafile-memcached - networks: - vpn: - ipv4_address: IPADDRESSHERE - - seafile-mysql: - image: mariadb:10.11 - container_name: seafile-mysql - environment: - - MYSQL_ROOT_PASSWORD=RANDOMIZEDPASSWORD1 # Requested, set the root's password of MySQL service. - - MYSQL_LOG_CONSOLE=true - - MARIADB_AUTO_UPGRADE=1 - volumes: - - ./seafile-mysql/db:/var/lib/mysql # Requested, specifies the path to MySQL data persistent store. - networks: - vpn: - ipv4_address: 10.100.0.132 - - seafile-memcached: - image: memcached:1.6.18 - container_name: seafile-memcached - entrypoint: memcached -m 256 -p PORT2 - networks: - vpn: - ipv4_address: 10.100.0.133 diff --git a/scripts/unused/OLD_CONTAINERS/seafile/resources/.env b/scripts/unused/OLD_CONTAINERS/seafile/resources/.env deleted file mode 100755 index e6c9d33..0000000 --- a/scripts/unused/OLD_CONTAINERS/seafile/resources/.env +++ /dev/null @@ -1,341 +0,0 @@ -# You can leave this on "local". If you change it to production most console commands will ask for extra confirmation. -# Never set it to "testing". -APP_ENV=local - -# Set to true if you want to see debug information in error screens. -APP_DEBUG=false - -# This should be your email address. -# If you use Docker or similar, you can set this variable from a file by using SITE_OWNER_FILE -# The variable is used in some errors shown to users who aren't admin. -SITE_OWNER=EMAILHERE - -# The encryption key for your sessions. Keep this very secure. -# Change it to a string of exactly 32 chars or use something like `php artisan key:generate` to generate it. -# If you use Docker or similar, you can set this variable from a file by using APP_KEY_FILE -# -# Avoid the "#" character in your APP_KEY, it may break things. -# -APP_KEY=SomeRandomStringOf32CharsExactly - -# Firefly III will launch using this language (for new users and unauthenticated visitors) -# For a list of available languages: https://github.com/firefly-iii/firefly-iii/tree/main/resources/lang -# -# If text is still in English, remember that not everything may have been translated. -DEFAULT_LANGUAGE=en_US - -# The locale defines how numbers are formatted. -# by default this value is the same as whatever the language is. -DEFAULT_LOCALE=equal - -# Change this value to your preferred time zone. -# Example: Europe/Amsterdam -# For a list of supported time zones, see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones -TZ=TIMEZONEHERE - -# TRUSTED_PROXIES is a useful variable when using Docker and/or a reverse proxy. -# Set it to ** and reverse proxies work just fine. -TRUSTED_PROXIES= - -# The log channel defines where your log entries go to. -# Several other options exist. You can use 'single' for one big fat error log (not recommended). -# Also available are 'syslog', 'errorlog' and 'stdout' which will log to the system itself. -# A rotating log option is 'daily', creates 5 files that (surprise) rotate. -# A cool option is 'papertrail' for cloud logging -# Default setting 'stack' will log to 'daily' and to 'stdout' at the same time. -LOG_CHANNEL=stack - -# Log level. You can set this from least severe to most severe: -# debug, info, notice, warning, error, critical, alert, emergency -# If you set it to debug your logs will grow large, and fast. If you set it to emergency probably -# nothing will get logged, ever. -APP_LOG_LEVEL=notice - -# Audit log level. -# The audit log is used to log notable Firefly III events on a separate channel. -# These log entries may contain sensitive financial information. -# The audit log is disabled by default. -# -# To enable it, set AUDIT_LOG_LEVEL to "info" -# To disable it, set AUDIT_LOG_LEVEL to "emergency" -AUDIT_LOG_LEVEL=emergency - -# -# If you want, you can redirect the audit logs to another channel. -# Set 'audit_stdout', 'audit_syslog', 'audit_errorlog' to log to the system itself. -# Use audit_daily to log to a rotating file. -# Use audit_papertrail to log to papertrail. -# -# If you do this, the audit logs may be mixed with normal logs because the settings for these channels -# are often the same as the settings for the normal logs. -AUDIT_LOG_CHANNEL= - -# -# Used when logging to papertrail: -# Also used when audit logs log to papertrail: -# -PAPERTRAIL_HOST= -PAPERTRAIL_PORT= - -# Database credentials. Make sure the database exists. I recommend a dedicated user for Firefly III -# For other database types, please see the FAQ: https://docs.firefly-iii.org/firefly-iii/faq/self-hosted/#i-want-to-use-sqlite -# If you use Docker or similar, you can set these variables from a file by appending them with _FILE -# Use "pgsql" for PostgreSQL -# Use "mysql" for MySQL and MariaDB. -# Use "sqlite" for SQLite. -DB_CONNECTION=mysql -DB_HOST=firefly_iii_db -DB_PORT=3306 -DB_DATABASE=firefly -DB_USERNAME=firefly -DB_PASSWORD=secret_firefly_password -# leave empty or omit when not using a socket connection -DB_SOCKET= - -# MySQL supports SSL. You can configure it here. -# If you use Docker or similar, you can set these variables from a file by appending them with _FILE -MYSQL_USE_SSL=false -MYSQL_SSL_VERIFY_SERVER_CERT=true -# You need to set at least of these options -MYSQL_SSL_CAPATH=/etc/ssl/certs/ -MYSQL_SSL_CA= -MYSQL_SSL_CERT= -MYSQL_SSL_KEY= -MYSQL_SSL_CIPHER= - -# PostgreSQL supports SSL. You can configure it here. -# If you use Docker or similar, you can set these variables from a file by appending them with _FILE -PGSQL_SSL_MODE=prefer -PGSQL_SSL_ROOT_CERT=null -PGSQL_SSL_CERT=null -PGSQL_SSL_KEY=null -PGSQL_SSL_CRL_FILE=null - -# more PostgreSQL settings -PGSQL_SCHEMA=public - -# If you're looking for performance improvements, you could install memcached or redis -CACHE_DRIVER=file -SESSION_DRIVER=file - -# If you set either of the options above to 'redis', you might want to update these settings too -# If you use Docker or similar, you can set REDIS_HOST_FILE, REDIS_PASSWORD_FILE or -# REDIS_PORT_FILE to set the value from a file instead of from an environment variable - -# can be tcp, unix or http -REDIS_SCHEME=tcp - -# use only when using 'unix' for REDIS_SCHEME. Leave empty otherwise. -REDIS_PATH= - -# use only when using 'tcp' or 'http' for REDIS_SCHEME. Leave empty otherwise. -REDIS_HOST=127.0.0.1 -REDIS_PORT=6379 - -# Use only with Redis 6+ with proper ACL set. Leave empty otherwise. -REDIS_USERNAME= -REDIS_PASSWORD= - -# always use quotes and make sure redis db "0" and "1" exists. Otherwise change accordingly. -REDIS_DB="0" -REDIS_CACHE_DB="1" - -# Cookie settings. Should not be necessary to change these. -# If you use Docker or similar, you can set COOKIE_DOMAIN_FILE to set -# the value from a file instead of from an environment variable -# Setting samesite to "strict" may give you trouble logging in. -COOKIE_PATH="/" -COOKIE_DOMAIN= -COOKIE_SECURE=false -COOKIE_SAMESITE=lax - -# If you want Firefly III to email you, update these settings -# For instructions, see: https://docs.firefly-iii.org/firefly-iii/advanced-installation/email/#email -# If you use Docker or similar, you can set these variables from a file by appending them with _FILE -MAIL_MAILER=log -MAIL_HOST=null -MAIL_PORT=2525 -MAIL_FROM=changeme@example.com -MAIL_USERNAME=null -MAIL_PASSWORD=null -MAIL_ENCRYPTION=null -MAIL_SENDMAIL_COMMAND= - -# Other mail drivers: -# If you use Docker or similar, you can set these variables from a file by appending them with _FILE -MAILGUN_DOMAIN= -MAILGUN_SECRET= - -# If you are on EU region in mailgun, use api.eu.mailgun.net, otherwise use api.mailgun.net -# If you use Docker or similar, you can set this variable from a file by appending it with _FILE -MAILGUN_ENDPOINT=api.mailgun.net - -# If you use Docker or similar, you can set these variables from a file by appending them with _FILE -MANDRILL_SECRET= -SPARKPOST_SECRET= - -# Firefly III can send you the following messages. -SEND_ERROR_MESSAGE=true - -# These messages contain (sensitive) transaction information: -SEND_REPORT_JOURNALS=true - -# Set this value to true if you want to set the location of certain things, like transactions. -# Since this involves an external service, it's optional and disabled by default. -ENABLE_EXTERNAL_MAP=false - -# Set this value to true if you want Firefly III to download currency exchange rates -# from the internet. These rates are hosted by the creator of Firefly III inside -# an Azure Storage Container. -# Not all currencies may be available. Rates may be wrong. -ENABLE_EXTERNAL_RATES=false - -# The map will default to this location: -MAP_DEFAULT_LAT=51.983333 -MAP_DEFAULT_LONG=5.916667 -MAP_DEFAULT_ZOOM=6 - -# -# Some objects have room for an URL, like transactions and webhooks. -# By default, the following protocols are allowed: -# http, https, ftp, ftps, mailto -# -# To change this, set your preferred comma separated set below. -# Be sure to include http, https and other default ones if you need to. -# -VALID_URL_PROTOCOLS= - -# -# Firefly III authentication settings -# - -# -# Firefly III supports a few authentication methods: -# - 'web' (default, uses built in DB) -# - 'remote_user_guard' for Authelia etc -# Read more about these settings in the documentation. -# https://docs.firefly-iii.org/firefly-iii/advanced-installation/authentication -# -# LDAP is no longer supported :( -# -AUTHENTICATION_GUARD=web - -# -# Remote user guard settings -# -AUTHENTICATION_GUARD_HEADER=REMOTE_USER -AUTHENTICATION_GUARD_EMAIL= - -# -# Firefly III generates a basic keypair for your OAuth tokens. -# If you want, you can overrule the key with your own (secure) value. -# It's also possible to set PASSPORT_PUBLIC_KEY_FILE or PASSPORT_PRIVATE_KEY_FILE -# if you're using Docker secrets or similar solutions for secret management -# -PASSPORT_PRIVATE_KEY= -PASSPORT_PUBLIC_KEY= - -# -# Extra authentication settings -# -CUSTOM_LOGOUT_URL= - -# You can disable the X-Frame-Options header if it interferes with tools like -# Organizr. This is at your own risk. Applications running in frames run the risk -# of leaking information to their parent frame. -DISABLE_FRAME_HEADER=false - -# You can disable the Content Security Policy header when you're using an ancient browser -# or any version of Microsoft Edge / Internet Explorer (which amounts to the same thing really) -# This leaves you with the risk of not being able to stop XSS bugs should they ever surface. -# This is at your own risk. -DISABLE_CSP_HEADER=false - -# If you wish to track your own behavior over Firefly III, set valid analytics tracker information here. -# Nobody uses this except for me on the demo site. But hey, feel free to use this if you want to. -# Do not prepend the TRACKER_URL with http:// or https:// -# The only tracker supported is Matomo. -# You can set the following variables from a file by appending them with _FILE: -TRACKER_SITE_ID= -TRACKER_URL= - -# -# Firefly III supports webhooks. These are security sensitive and must be enabled manually first. -# -ALLOW_WEBHOOKS=false - -# -# The static cron job token can be useful when you use Docker and wish to manage cron jobs. -# 1. Set this token to any 32-character value (this is important!). -# 2. Use this token in the cron URL instead of a user's command line token that you can find in /profile -# -# For more info: https://docs.firefly-iii.org/firefly-iii/advanced-installation/cron/ -# -# You can set this variable from a file by appending it with _FILE -# -STATIC_CRON_TOKEN= - -# You can fine tune the start-up of a Docker container by editing these environment variables. -# Use this at your own risk. Disabling certain checks and features may result in lots of inconsistent data. -# However if you know what you're doing you can significantly speed up container start times. -# Set each value to true to enable, or false to disable. - -# Set this to true to build all locales supported by Firefly III. -# This may take quite some time (several minutes) and is generally not recommended. -# If you wish to change or alter the list of locales, start your Docker container with -# `docker run -v locale.gen:/etc/locale.gen -e DKR_BUILD_LOCALE=true` -# and make sure your preferred locales are in your own locale.gen. -DKR_BUILD_LOCALE=false - -# Check if the SQLite database exists. Can be skipped if you're not using SQLite. -# Won't significantly speed up things. -DKR_CHECK_SQLITE=true - -# Run database creation and migration commands. Disable this only if you're 100% sure the DB exists -# and is up to date. -DKR_RUN_MIGRATION=true - -# Run database upgrade commands. Disable this only when you're 100% sure your DB is up-to-date -# with the latest fixes (outside of migrations!) -DKR_RUN_UPGRADE=true - -# Verify database integrity. Includes all data checks and verifications. -# Disabling this makes Firefly III assume your DB is intact. -DKR_RUN_VERIFY=true - -# Run database reporting commands. When disabled, Firefly III won't go over your data to report current state. -# Disabling this should have no impact on data integrity or safety but it won't warn you of possible issues. -DKR_RUN_REPORT=true - -# Generate OAuth2 keys. -# When disabled, Firefly III won't attempt to generate OAuth2 Passport keys. This won't be an issue, IFF (if and only if) -# you had previously generated keys already and they're stored in your database for restoration. -DKR_RUN_PASSPORT_INSTALL=true - -# Leave the following configuration vars as is. -# Unless you like to tinker and know what you're doing. -APP_NAME=FireflyIII -BROADCAST_DRIVER=log -QUEUE_DRIVER=sync -CACHE_PREFIX=firefly -PUSHER_KEY= -IPINFO_TOKEN= -PUSHER_SECRET= -PUSHER_ID= -DEMO_USERNAME= -DEMO_PASSWORD= -FIREFLY_III_LAYOUT=v1 - -# -# If you have trouble configuring your Firefly III installation, DON'T BOTHER setting this variable. -# It won't work. It doesn't do ANYTHING. Don't believe the lies you read online. I'm not joking. -# This configuration value WILL NOT HELP. -# -# Notable exception to this rule is Synology, which, according to some users, will use APP_URL to rewrite stuff. -# -# This variable is ONLY used in some of the emails Firefly III sends around. Nowhere else. -# So when configuring anything WEB related this variable doesn't do anything. Nothing -# -# If you're stuck I understand you get desperate but look SOMEWHERE ELSE. -# -APP_URL=http://localhost diff --git a/scripts/unused/OLD_CONTAINERS/seafile/seafile.config b/scripts/unused/OLD_CONTAINERS/seafile/seafile.config deleted file mode 100755 index be7c4b1..0000000 --- a/scripts/unused/OLD_CONTAINERS/seafile/seafile.config +++ /dev/null @@ -1,31 +0,0 @@ -# -# APP_NAME = name of the application for use in the scripts -# COMPOSE_FILE = default for no app_name in the docker compose file name, app if there is -# HOST NAME = subdomain name e.g test is the name for test.website.com -# DOMAIN = number of the domain from the general config, useful when using multiple domains -# PUBLIC = if true, application will be setup with the reverse proxy and accessible from the internet -# WHITELIST = if true only allow whitelisted ips (see general config), if false allow all -# HEALTHCHECK = if true, the default docker health checks for that container will be enabled -# AUTHELIA = if true, use Authelia authentication, if false turned off. -# HEADSCALE = options : false, local, remote (see general config). e.g false or local,remote -# PORTS = port number(s) that the application will be used (comma seperated) -# -CFG_SEAFILE_APP_NAME=seafile -CFG_SEAFILE_BACKUP=true -CFG_SEAFILE_COMPOSE_FILE=default -CFG_SEAFILE_HOST_NAME=files -CFG_SEAFILE_DOMAIN=1 -CFG_SEAFILE_PUBLIC=true -CFG_SEAFILE_WHIELIST=false -CFG_SEAFILE_HEALTHCHECK=true -CFG_SEAFILE_AUTHELIA=false -CFG_SEAFILE_HEADSCALE=false -CFG_SEAFILE_PORTS=9844,11212 - -# Application metadata -CFG_SEAFILE_CATEGORY="Cloud Storage & File Sharing" -CFG_SEAFILE_TITLE="Seafile" -CFG_SEAFILE_DESCRIPTION="File Syncing and Sharing" -CFG_SEAFILE_LONG_DESCRIPTION="Open source file hosting and sharing solution with high performance and reliability for teams and individuals" -CFG_SEAFILE_URL="https://github.com/haiwen/seafile" -CFG_SEAFILE_ACTIONS="configure|install|restart|shutdown|uninstall" diff --git a/scripts/unused/OLD_CONTAINERS/seafile/seafile.sh b/scripts/unused/OLD_CONTAINERS/seafile/seafile.sh deleted file mode 100755 index 28402ef..0000000 --- a/scripts/unused/OLD_CONTAINERS/seafile/seafile.sh +++ /dev/null @@ -1,146 +0,0 @@ -#!/bin/bash - -# Category : Cloud Storage & File Sharing -# Description : Seafile - File Syncing and Sharing (c/u/s/r/i): - -installSeafile() -{ - local config_variables="$1" - - if [[ "$seafile" == *[cCtTuUsSrRiI]* ]]; then - dockerConfigSetupToContainer silent seafile; - local app_name=$CFG_SEAFILE_APP_NAME - initializeAppVariables $app_name; - fi - - if [[ "$seafile" == *[cC]* ]]; then - editAppConfig $app_name; - fi - - if [[ "$seafile" == *[uU]* ]]; then - dockerUninstallApp $app_name; - fi - - if [[ "$seafile" == *[sS]* ]]; then - dockerComposeDown $app_name; - fi - - if [[ "$seafile" == *[rR]* ]]; then - dockerComposeRestart $app_name; - fi - - if [[ "$seafile" == *[iI]* ]]; then - echo "" - echo "##########################################" - echo "### Install $app_name" - echo "##########################################" - echo "" - - ((menu_number++)) - echo "" - echo "---- $menu_number. Setting up install folders and config file for $app_name." - echo "" - - dockerConfigSetupToContainer "loud" "$app_name" "install" "$config_variables"; - isSuccessful "Install folders and Config files have been setup for $app_name." - - ((menu_number++)) - echo "" - ((menu_number++)) - echo "" - echo "---- $menu_number. Setting up the $app_name docker-compose.yml file." - echo "" - - dockerComposeSetupFile $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Updating file permissions before starting." - echo "" - - fixPermissionsBeforeStart $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Running the docker-compose.yml to install and start $app_name" - echo "" - - dockerComposeUpdateAndStartApp $app_name install; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Updating defaul redis port and restarting $app_name" - echo "" - - local seafile_timeout=180 - local seafile_counter=0 - local seafile_settings="$containers_dir$app_name/seafile-data/seafile/conf/seahub_settings.py" - local check_interval=15 # Print status every 15 seconds - - while [ ! -f "$seafile_settings" ]; do - if [ "$seafile_counter" -ge "$seafile_timeout" ]; then - isNotice "File seahub_settings.py not found after $seafile_timeout seconds. Exiting..." - break - fi - - # Only print message every $check_interval seconds - if (( seafile_counter % check_interval == 0 )); then - isNotice "Waiting for seahub_settings.py to appear... (Checked for $seafile_counter seconds)" - fi - - sleep 1 # Wait for 1 second - ((seafile_counter++)) - done - - # Check if the file was found or if we timed out - if [ -f "$seafile_settings" ]; then - isNotice "File found! Updating the default Redis port..." - sudo sed -i "s/11211/$PORT2/g" "$seafile_settings" - checkSuccess "Updated default Redis port for $app_name" - - dockerComposeRestart "$app_name" - fi - - ((menu_number++)) - echo "" - echo "---- $menu_number. Running Application specific updates (if required)" - echo "" - - appUpdateSpecifics $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Running Headscale setup (if required)" - echo "" - - setupHeadscale $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Adding $app_name to the Apps Database table." - echo "" - - databaseInstallApp $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Updating WebUI config file." - echo "" - - webuiContainerSetup $app_name install; - - ((menu_number++)) - echo "" - echo "---- $menu_number. You can find $app_name files at $containers_dir$app_name" - echo "" - echo " You can now navigate to your $app_name service using any of the options below : " - echo "" - - menuShowFinalMessages $app_name; - - menu_number=0 - #sleep 3s - cd - fi - seafile=n -} diff --git a/scripts/unused/OLD_CONTAINERS/seafile/seafile.svg b/scripts/unused/OLD_CONTAINERS/seafile/seafile.svg deleted file mode 100755 index e160b9b..0000000 --- a/scripts/unused/OLD_CONTAINERS/seafile/seafile.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/scripts/unused/OLD_CONTAINERS/sshdownload/docker-compose.yml b/scripts/unused/OLD_CONTAINERS/sshdownload/docker-compose.yml deleted file mode 100755 index 99ced1f..0000000 --- a/scripts/unused/OLD_CONTAINERS/sshdownload/docker-compose.yml +++ /dev/null @@ -1,25 +0,0 @@ -networks: - vpn: - external: true - -services: - sshdownload: - image: httpd:latest - container_name: sshdownload - ports: - - 'PORT1:80' - volumes: - - /docker/ssh/private:/usr/local/apache2/htdocs - #labels: - #traefik.enable: true - #traefik.http.routers.sshdownload.entrypoints: web,websecure - #traefik.http.routers.sshdownload.rule: Host(`DOMAINSUBNAMEHERE`) - #traefik.http.routers.sshdownload.tls: true - #traefik.http.routers.sshdownload.tls.certresolver: production - #traefik.http.services.sshdownload.loadbalancer.server.port: PORT1 - #traefik.http.routers.sshdownload.middlewares: - healthcheck: - disable: false #HEALTHCHECKHERE - networks: - vpn: - ipv4_address: IPADDRESSHERE diff --git a/scripts/unused/OLD_CONTAINERS/sshdownload/resources/index.html b/scripts/unused/OLD_CONTAINERS/sshdownload/resources/index.html deleted file mode 100755 index a7b4832..0000000 --- a/scripts/unused/OLD_CONTAINERS/sshdownload/resources/index.html +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - Downloadable SSH Keys - - - -

Downloadable SSH Keys

- -
- -
- -
- -
- -
- -
- - - diff --git a/scripts/unused/OLD_CONTAINERS/sshdownload/sshdownload.config b/scripts/unused/OLD_CONTAINERS/sshdownload/sshdownload.config deleted file mode 100755 index 252cfbe..0000000 --- a/scripts/unused/OLD_CONTAINERS/sshdownload/sshdownload.config +++ /dev/null @@ -1,31 +0,0 @@ -# -# APP_NAME = name of the application for use in the scripts -# COMPOSE_FILE = default for no app_name in the docker compose file name, app if there is -# HOST NAME = subdomain name e.g test is the name for test.website.com -# DOMAIN = number of the domain from the general config, useful when using multiple domains -# PUBLIC = if true, application will be setup with the reverse proxy and accessible from the internet -# WHITELIST = if true only allow whitelisted ips (see general config), if false allow all -# HEALTHCHECK = if true, the default docker health checks for that container will be enabled -# AUTHELIA = if true, use Authelia authentication, if false turned off. -# HEADSCALE = options : false, local, remote (see general config). e.g false or local,remote -# PORTS = port number(s) that the application will be used (comma seperated) -# -CFG_SSHDOWNLOAD_APP_NAME=sshdownload -CFG_SSHDOWNLOAD_BACKUP=false -CFG_SSHDOWNLOAD_COMPOSE_FILE=default -CFG_SSHDOWNLOAD_HOST_NAME=sshdownload -CFG_SSHDOWNLOAD_DOMAIN=1 -CFG_SSHDOWNLOAD_PUBLIC=false -CFG_SSHDOWNLOAD_WHITELIST=false -CFG_SSHDOWNLOAD_HEALTHCHECK=true -CFG_SSHDOWNLOAD_AUTHELIA=false -CFG_SSHDOWNLOAD_LOGIN_REQUIRED=true -CFG_SSHDOWNLOAD_HEADSCALE=false -CFG_SSHDOWNLOAD_PORTS=3131 -# Application metadata -CFG_SSHDOWNLOAD_CATEGORY="Miscellaneous" -CFG_SSHDOWNLOAD_TITLE="SSH Download" -CFG_SSHDOWNLOAD_DESCRIPTION="Web Server for Local SSH Files" -CFG_SSHDOWNLOAD_LONG_DESCRIPTION="SSH Download is a secure file transfer service that allows downloading files via SSH with web interface access" -CFG_SSHDOWNLOAD_URL="https://github.com/sciactive/sshdownload" -CFG_SSHDOWNLOAD_ACTIONS="configure|install|restart|shutdown|uninstall" diff --git a/scripts/unused/OLD_CONTAINERS/sshdownload/sshdownload.sh b/scripts/unused/OLD_CONTAINERS/sshdownload/sshdownload.sh deleted file mode 100755 index 84e3c98..0000000 --- a/scripts/unused/OLD_CONTAINERS/sshdownload/sshdownload.sh +++ /dev/null @@ -1,178 +0,0 @@ -#!/bin/bash - -# Category : Miscellaneous -# Description : SSH Download - Web Server for Local SSH Files (c/u/s/r/i): - -installSshdownload() -{ - local config_variables="$1" - - if [[ "$sshdownload" == *[cCtTuUsSrRiI]* ]]; then - dockerConfigSetupToContainer silent sshdownload; - local app_name=$CFG_SSHDOWNLOAD_APP_NAME - initializeAppVariables $app_name; - fi - - if [[ "$sshdownload" == *[cC]* ]]; then - editAppConfig $app_name; - fi - - if [[ "$sshdownload" == *[uU]* ]]; then - dockerUninstallApp $app_name; - fi - - if [[ "$sshdownload" == *[sS]* ]]; then - dockerComposeDown $app_name; - fi - - if [[ "$sshdownload" == *[rR]* ]]; then - dockerComposeRestart $app_name; - fi - - if [[ "$sshdownload" == *[iI]* ]]; then - echo "" - echo "##########################################" - echo "### Installing $app_name" - echo "##########################################" - echo "" - - ((menu_number++)) - echo "" - echo "---- $menu_number. Checking public status for security purposes." - echo "" - - if [[ "$public" == "true" ]]; then - echo "" - isNotice "!!!!!!!!!! PROCEED WITH CAUTION !!!!!!!!!!" - isNotice "Public access is not fully recommended for security reasons." - if [[ "$login_required" == "false" ]]; then - isNotice "NO PASSWORD PROTECTION FOUND." - isNotice "Anyone with an internet connection will be able to download your SSH Keys" - fi - echo "" - while true; do - isQuestion "Are you sure you want to allow sshdownload to the public? (y/n): " - read -p "" sshdownload_public - if [[ "$sshdownload_public" == [yY] ]]; then - break - else - isNotice "Please confirm the setup or provide a valid input." - fi - done - fi - if [[ $sshdownload_public == [yY] ]]; then - isError "Setup is not wanted due to public security access, setup is cancelling..." - else - isSuccessful "Accepting of public security risks, setup is continuing..." - fi - - ((menu_number++)) - echo "" - echo "---- $menu_number. Setting up install folder and config file for $app_name." - echo "" - - dockerConfigSetupToContainer "loud" "$app_name" "install" "$config_variables"; - isSuccessful "Install folders and Config files have been setup for $app_name." - - ((menu_number++)) - echo "" - - - ((menu_number++)) - echo "" - echo "---- $menu_number. Setting up the $app_name docker-compose.yml file." - echo "" - - dockerComposeSetupFile $app_name; - - result=$(sudo cp -r $install_containers_dir$app_name/resources/index.html "${ssh_dir}private/index.html") - checkSuccess "Copying over index.html file for SSH Downloader." - updateSSHHTMLSSHKeyLinks; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Updating file permissions before starting." - echo "" - - fixPermissionsBeforeStart $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Running the docker-compose.yml to install and start $app_name" - echo "" - - dockerComposeUpdateAndStartApp $app_name install; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Running Application specific updates (if required)" - echo "" - - appUpdateSpecifics $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Running Headscale setup (if required)" - echo "" - - setupHeadscale $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Adding $app_name to the Apps Database table." - echo "" - - databaseInstallApp $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Updating WebUI config file." - echo "" - - webuiContainerSetup $app_name install; - - ((menu_number++)) - echo "" - echo "---- $menu_number. You can find $app_name files at $containers_dir$app_name" - echo "" - isNotice "Your SSH Key(s) are available to download using the link below." - echo "" - echo " URL : http://$ip_setup/" - echo "" - isNotice "TIP - Public SSH Keys are stored at /docker/ssh/public/" - echo "" - while true; do - isQuestion "Have you followed the instructions above? (y/n): " - read -p "" sshdownload_instructions - if [[ "$sshdownload_instructions" == 'y' || "$sshdownload_instructions" == 'Y' ]]; then - break - else - isNotice "Please confirm the setup or provide a valid input." - fi - done - - ((menu_number++)) - echo "" - echo "---- $menu_number. Destroying $app_name service as SSH keys have been downloaded." - echo "" - - dockerUninstallApp $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Outro Message." - echo "" - isNotice "The service has been destroyed for safety reasons" - isNotice "You can reinstall this service at anytime in the System install menu under the sshinstall option." - echo "" - - if [[ "$CFG_REQUIREMENT_CONTINUE_PROMPT" == "true" ]]; then - read -p "Press Enter to continue." - fi - - menu_number=0 - #sleep 3s - cd - fi - sshdownload=n -} diff --git a/scripts/unused/OLD_CONTAINERS/sshdownload/sshdownload.svg b/scripts/unused/OLD_CONTAINERS/sshdownload/sshdownload.svg deleted file mode 100755 index 66dd353..0000000 --- a/scripts/unused/OLD_CONTAINERS/sshdownload/sshdownload.svg +++ /dev/null @@ -1,290 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/scripts/unused/OLD_CONTAINERS/tiledesk/docker-compose.yml b/scripts/unused/OLD_CONTAINERS/tiledesk/docker-compose.yml deleted file mode 100755 index 25046a7..0000000 --- a/scripts/unused/OLD_CONTAINERS/tiledesk/docker-compose.yml +++ /dev/null @@ -1,90 +0,0 @@ -networks: - vpn: - external: true - -services: - proxy: - ports: - - "PORT1:80" # specify port forewarding - #labels: - #traefik.enable: true - #traefik.http.routers.tiledesk.entrypoints: web,websecure - #traefik.http.routers.tiledesk.rule: Host(`DOMAINSUBNAMEHERE`) - #traefik.http.routers.tiledesk.tls: true - #traefik.http.routers.tiledesk.tls.certresolver: production - #traefik.http.routers.tiledesk.middlewares: - healthcheck: - disable: false #HEALTHCHECKHERE - networks: - vpn: - ipv4_address: IPADDRESSHERE - volumes: - - /var/run/docker.sock:/var/run/docker.sock:ro #SOCKETHERE - - mongo: - volumes: - - ./tiledesk-datadb:/data/db - - dashboard: - environment: - - "WIDGET_LOCATION=${EXTERNAL_BASE_URL:-http://localhost:8081}/widget/" - - "API_BASEIMAGE_URL=${EXTERNAL_BASE_URL:-http://localhost:8081}/api/" - ports: - - "4500:80" #use expose if you want to block external access - - webwidget: - image: chat21/chat21-web-widget:5.0.70 - container_name: chat21-web-widget - ports: - - "4200:80" # specify port forewarding - environment: - - "MQTT_ENDPOINT=${EXTERNAL_MQTT_BASE_URL:-ws://localhost:8081}/mqws/ws" - - "MQTT_APIENDPOINT=${EXTERNAL_BASE_URL:-http://localhost:8081}/chatapi/api" - - "API_URL=${EXTERNAL_BASE_URL:-http://localhost:8081}/api/" - - "TRANSLATIONS_URL=${EXTERNAL_BASE_URL:-http://localhost:8081}/api/" - - "API_BASEIMAGE_URL=${EXTERNAL_BASE_URL:-http://localhost:8081}/api/" - - ionic: - image: chat21/chat21-ionic:3.0.101 - container_name: chat21-ionic - ports: - - "8082:80" #use expose if you want to block external access - environment: - - "MQTT_ENDPOINT=${EXTERNAL_MQTT_BASE_URL:-ws://localhost:8081}/mqws/ws" - server: - image: tiledesk/tiledesk-server:2.4.67 - - CHAT21_URL=http://chat21httpserver:8004 - - "EMAIL_BASEURL=${EXTERNAL_BASE_URL:-http://localhost:8081}/dashboard" - - "WEBHOOK_ORIGIN=${EXTERNAL_BASE_URL:-http://localhost:8081}/api/" - - "WIDGET_LOCATION=${EXTERNAL_BASE_URL:-http://localhost:8081}/widget/launch.js" - - "WIDGET_TEST_LOCATION=${EXTERNAL_BASE_URL:-http://localhost:8081}/widget/assets/test_widget_page/index.html" - - CACHE_REDIS_PORT=6379 - ports: - - "3000:3000" - - chat21httpserver: - environment: - - RABBITMQ_URI=amqp://ignored:eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJiMjM1OTFmZS05N2FhLTRmNWQtOGVlOS0yNjQ2NzljYmM0M2YiLCJzdWIiOiIxMDAtQVBJQURNSU4iLCJzY29wZSI6WyJyYWJiaXRtcS5yZWFkOiovKi8qIiwicmFiYml0bXEud3JpdGU6Ki8qLyoiLCJyYWJiaXRtcS5jb25maWd1cmU6Ki8qLyoiXSwiY2xpZW50X2lkIjoiMTAwLUFQSUFETUlOIiwiY2lkIjoiMTAwLUFQSUFETUlOIiwiYXpwIjoiMTAwLUFQSUFETUlOIiwidXNlcl9pZCI6IjEwMC1BUElBRE1JTiIsImFwcF9pZCI6InRpbGVjaGF0IiwiaWF0IjoxNjk2NDkyMjg3LCJleHAiOjIwMDc1MzIyODcsImF1ZCI6WyJyYWJiaXRtcSIsIjEwMC1BUElBRE1JTiJdLCJraWQiOiJ0aWxlZGVzay1rZXkiLCJ0aWxlZGVza19hcGlfcm9sZXMiOiJhZG1pbiJ9.Ee-TpAPsoC7Dm7qsbUojeHud3E4OCtJZkpupu_R0Aic@rabbitmq:5672?heartbeat=60 - - PUSH_WH_NOTIFY_URL=http://localhost:8004/api/tilechat/notify - - CONTACTS_LOOKUP_ENDPOINT=http://server:3000/users_util - ports: - - "8004:8004" - - chat21server: - environment: - - WEBHOOK_ENDPOINTS=http://server:3000/chat21/requests,http://chat21httpserver:8004/api/tilechat/push/webhook/endpoint/WHFyAhecCMkYsvldLFWbSrJt7lAZFAmrp7O5QVMvGQsLVn9SkfT - depends_on: - - mongo - - rabbitmq - - server - - rabbitmq: - ports: - - 5672:5672 - - 15672:15672 - - 1883:1883 - - 15675:15675 - - redis: - ports: - - "6379:6379" diff --git a/scripts/unused/OLD_CONTAINERS/tiledesk/tiledesk.config b/scripts/unused/OLD_CONTAINERS/tiledesk/tiledesk.config deleted file mode 100755 index 812117d..0000000 --- a/scripts/unused/OLD_CONTAINERS/tiledesk/tiledesk.config +++ /dev/null @@ -1,31 +0,0 @@ -# -# APP_NAME = name of the application for use in the scripts -# COMPOSE_FILE = default for no app_name in the docker compose file name, app if there is -# HOST NAME = subdomain name e.g test is the name for test.website.com -# DOMAIN = number of the domain from the general config, useful when using multiple domains -# PUBLIC = if true, application will be setup with the reverse proxy and accessible from the internet -# WHITELIST = if true only allow whitelisted ips (see general config), if false allow all -# HEALTHCHECK = if true, the default docker health checks for that container will be enabled -# AUTHELIA = if true, use Authelia authentication, if false turned off. -# HEADSCALE = options : false, local, remote (see general config). e.g false or local,remote -# PORTS = port number(s) that the application will be used (comma seperated) -# -CFG_TILEDESK_APP_NAME=tiledesk -CFG_TILEDESK_BACKUP=true -CFG_TILEDESK_COMPOSE_FILE=app -CFG_TILEDESK_HOST_NAME=livechat -CFG_TILEDESK_DOMAIN=1 -CFG_TILEDESK_PUBLIC=true -CFG_TILEDESK_WHITELIST=false -CFG_TILEDESK_HEALTHCHECK=true -CFG_TILEDESK_AUTHELIA=false -CFG_TILEDESK_HEADSCALE=false -CFG_TILEDESK_PORTS=8081 -# Application metadata -CFG_TILEDESK_CATEGORY="Communication & Collaboration Tools" -CFG_TILEDESK_TITLE="Tiledesk" -CFG_TILEDESK_DESCRIPTION="Helpdesk/Live Chat" -CFG_TILEDESK_LONG_DESCRIPTION="Tiledesk is an open source live chat and conversational AI platform that helps you engage with customers in real-time" -CFG_TILEDESK_URL="https://github.com/Tiledesk/tiledesk" -CFG_TILEDISK_ACTIONS="configure|install|restart|shutdown|uninstall" -CFG_TILEDESK_ACTIONS="configure|install|restart|shutdown|uninstall" diff --git a/scripts/unused/OLD_CONTAINERS/tiledesk/tiledesk.sh b/scripts/unused/OLD_CONTAINERS/tiledesk/tiledesk.sh deleted file mode 100755 index f9e840f..0000000 --- a/scripts/unused/OLD_CONTAINERS/tiledesk/tiledesk.sh +++ /dev/null @@ -1,146 +0,0 @@ -#!/bin/bash - -# Category : Communication & Collaboration Tools -# Description : Tiledesk - Helpdesk/Live Chat (c/u/s/r/i): - -installTiledesk() -{ - local config_variables="$1" - - if [[ "$tiledesk" == *[cCtTuUsSrRiI]* ]]; then - dockerConfigSetupToContainer silent tiledesk; - local app_name=$CFG_TILEDESK_APP_NAME - initializeAppVariables $app_name; - fi - - if [[ "$tiledesk" == *[cC]* ]]; then - editAppConfig $app_name; - fi - - if [[ "$tiledesk" == *[uU]* ]]; then - dockerUninstallApp $app_name; - fi - - if [[ "$tiledesk" == *[sS]* ]]; then - dockerComposeDown $app_name; - fi - - if [[ "$tiledesk" == *[rR]* ]]; then - dockerComposeRestart $app_name; - fi - - if [[ "$tiledesk" == *[iI]* ]]; then - echo "" - echo "##########################################" - echo "### Install $app_name" - echo "##########################################" - echo "" - - ((menu_number++)) - echo "" - echo "---- $menu_number. Setting up install folder and config file for $app_name." - echo "" - - dockerConfigSetupToContainer "loud" "$app_name" "install" "$config_variables"; - isSuccessful "Install folders and Config files have been setup for $app_name." - - ((menu_number++)) - echo "" - - - ((menu_number++)) - echo "" - echo "---- $menu_number. Setting up the $app_name docker-compose.yml file." - echo "" - - dockerComposeSetupFile $app_name; - - local result=$(cd $containers_dir$app_name && sudo curl https://raw.githubusercontent.com/Tiledesk/tiledesk-deployment/master/docker-compose/docker-compose.yml --output docker-compose.yml) - checkSuccess "Downloading docker-compose.yml from $app_name GitHub" - - ((menu_number++)) - echo "" - echo "---- $menu_number. Updating file permissions before starting." - echo "" - - fixPermissionsBeforeStart $app_name; - ((menu_number++)) - - echo "" - echo "---- $menu_number. Running the docker-compose.yml to install and start $app_name" - echo "" - - dockerComposeUpdateAndStartApp $app_name install; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Running the docker-compose.yml to install and start $app_name" - echo "" - - if [[ "$OS_TYPE" == "Ubuntu" || "$OS_TYPE" == "Debian" ]]; then - if [[ $CFG_DOCKER_INSTALL_TYPE == "rootless" ]]; then - local result=$(dockerCommandRunInstallUser "docker compose -f docker-compose.yml -f docker-compose.$app_name.yml down") - checkSuccess "Shutting down docker-compose.$app_name.yml" - if [[ "$public" == "true" ]]; then - local result=$(dockerCommandRunInstallUser "EXTERNAL_BASE_URL="https://$domain_full" EXTERNAL_MQTT_BASE_URL="wss://$domain_full" docker compose -f docker-compose.yml -f docker-compose.$app_name.yml up -d") - checkSuccess "Starting public docker-compose.$app_name.yml" - else - local result=$(dockerCommandRunInstallUser "docker compose -f docker-compose.yml -f docker-compose.$app_name.yml up -d") - checkSuccess "Starting standard docker-compose.$app_name.yml" - fi - elif [[ $CFG_DOCKER_INSTALL_TYPE == "rooted" ]]; then - local result=$(sudo docker compose -f docker-compose.yml -f docker-compose.$app_name.yml down) - checkSuccess "Shutting down docker-compose.$app_name.yml" - if [[ "$public" == "true" ]]; then - local result=$(EXTERNAL_BASE_URL="https://$domain_full" EXTERNAL_MQTT_BASE_URL="wss://$domain_full" sudo docker compose -f docker-compose.yml -f docker-compose.$app_name.yml up -d) - checkSuccess "Starting public docker-compose.$app_name.yml" - else - local result=$(sudo docker compose -f docker-compose.yml -f docker-compose.$app_name.yml up -d) - checkSuccess "Starting standard docker-compose.$app_name.yml" - fi - fi - fi - - ((menu_number++)) - echo "" - echo "---- $menu_number. Running Application specific updates (if required)" - echo "" - - appUpdateSpecifics $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Running Headscale setup (if required)" - echo "" - - setupHeadscale $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Adding $app_name to the Apps Database table." - echo "" - - databaseInstallApp $app_name; - - ((menu_number++)) - echo "" - echo "---- $menu_number. Updating WebUI config file." - echo "" - - webuiContainerSetup $app_name install; - - ((menu_number++)) - echo "" - echo "---- $menu_number. You can find $app_name files at $containers_dir$app_name" - echo "" - echo " You can now navigate to your new service using one of the options below : " - echo "" - - menuShowFinalMessages $app_name; - - menu_number=0 - #sleep 3s - cd - fi - tiledesk=n -} diff --git a/scripts/unused/OLD_CONTAINERS/tiledesk/tiledesk.svg b/scripts/unused/OLD_CONTAINERS/tiledesk/tiledesk.svg deleted file mode 100755 index 8ada601..0000000 --- a/scripts/unused/OLD_CONTAINERS/tiledesk/tiledesk.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/scripts/unused/check_wireguard.sh b/scripts/unused/check_wireguard.sh deleted file mode 100755 index 635df40..0000000 --- a/scripts/unused/check_wireguard.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/bash - -checkWireguardRequirement() -{ - if [[ $CFG_REQUIREMENT_WIREGUARD == "true" ]]; then - # Check if WireGuard is already installed and load params - if [[ -e /etc/wireguard/params ]]; then - isSuccessful "Wireguard is installed." - else - isNotice "Wireguard is not installed." - ((preinstallneeded++)) - fi - fi -} \ No newline at end of file diff --git a/scripts/unused/manage_wireguard.sh b/scripts/unused/manage_wireguard.sh deleted file mode 100755 index e0a007a..0000000 --- a/scripts/unused/manage_wireguard.sh +++ /dev/null @@ -1,42 +0,0 @@ -#!/bin/bash - -wireguardManageMenu() -{ - # Enable input - stty echo - - while true; do - isHeader "Wireguard Manager" - echo "Built from: https://github.com/angristan/wireguard-install" - echo "" - isOption "1. Add a new user" - isOption "2. List all users" - isOption "3. Revoke existing user" - isOption "4. Uninstall WireGuard" - isOption "x. Exit" - echo "" - isQuestion "What is your choice: " - read -rp "" wireguard_menu_option - - case "${wireguard_menu_option}" in - 1) - wireguardNewClient - ;; - 2) - wireguardListClients - ;; - 3) - wireguardRevokeClient - ;; - 4) - wireguardUninstall - ;; - x) - resetToMenu; - ;; - *) - isNotice "Invalid choice. Please select a valid option." - ;; - esac - done -} diff --git a/scripts/unused/manager/check_manager.sh b/scripts/unused/manager/check_manager.sh deleted file mode 100755 index 2ccb600..0000000 --- a/scripts/unused/manager/check_manager.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/bash - -checkManagerRequirement() -{ - if [[ $CFG_DOCKER_MANAGER_ENABLED == "true" ]]; then - ### Docker Manager User Creation - if userExists "$CFG_DOCKER_MANAGER_USER"; then - isSuccessful "The Docker Manager User appears to be setup." - else - isNotice "The Docker Manager User is not setup." - ((preinstallneeded++)) - fi - fi -} \ No newline at end of file diff --git a/scripts/unused/manager/install_user_manager.sh b/scripts/unused/manager/install_user_manager.sh deleted file mode 100755 index e3ee53e..0000000 --- a/scripts/unused/manager/install_user_manager.sh +++ /dev/null @@ -1,77 +0,0 @@ -#!/bin/bash - -installDockerManagerUser() -{ - if [[ "$CFG_DOCKER_MANAGER_ENABLED" == "true" ]]; then - if [[ "$OS_TYPE" == "Ubuntu" || "$OS_TYPE" == "Debian" ]]; then - if ! userExists "$CFG_DOCKER_MANAGER_USER"; then - isHeader "Installing $CFG_DOCKER_MANAGER_USER" - - isNotice "User '$CFG_DOCKER_MANAGER_USER' does not exist, starting creation..." - - # Create the User Account - local result=$(runSystem useradd -m -s /bin/bash "$CFG_DOCKER_MANAGER_USER") - checkSuccess "Adding user via useradd command" - - local result=$(echo "$CFG_DOCKER_MANAGER_USER:$CFG_DOCKER_MANAGER_PASS" | sudo chpasswd) - checkSuccess "Setting up login password" - - local result=$(sudo -u "$CFG_DOCKER_MANAGER_USER" mkdir -p /home/$CFG_DOCKER_MANAGER_USER/.ssh/) - checkSuccess "Creating /home/$CFG_DOCKER_MANAGER_USER/.ssh folder" - - local result=$(sudo -u "$CFG_DOCKER_MANAGER_USER" ssh-keygen -t ed25519 -b 4096 -f "/home/$CFG_DOCKER_MANAGER_USER/.ssh/ssh_key_${CFG_INSTALL_NAME}_${CFG_DOCKER_MANAGER_USER}" -N "passphrase") - checkSuccess "Setting up SSH-Keygen in /home/$CFG_DOCKER_MANAGER_USER/.ssh" - - # SSH configuration directory - config_file="/home/$CFG_DOCKER_MANAGER_USER/.ssh/config" - - # Check if the config file already exists - if [ -f "$config_file" ]; then - isNotice "The config file already exists. Updating the existing file..." - else - local result=$(createTouch "$config_file" $docker_install_user) - checkSuccess "Creating config file" - local result=$(sudo chmod 600 "$config_file") - checkSuccess "Changing permissions to config file" - fi - - # Add the ServerAliveInterval option to the config file - if sudo grep -q "ServerAliveInterval" "$config_file"; then - isNotice "ServerAliveInterval is already configured in the config file." - else - local result=$(echo -e "Host *\n ServerAliveInterval 60" | sudo tee -a "$config_file" >/dev/null) - checkSuccess "Adding ServerAliveInterval to the config file." - fi - - local result=$(source ~/.bashrc) - checkSuccess "Reloading .bashrc" - - # Marker-guard the append (matching the rootless .bashrc pattern) - # so a re-run or a user delete+recreate can't duplicate the block. - if sudo grep -q "### LibrePortal Manager User Start" "$sshd_config"; then - isNotice "Manager-user SSH server config already present — skipping." - else - local result=$(sudo bash -c "cat >> $sshd_config <&1) - checkSuccess "Removing the '$CFG_DOCKER_MANAGER_USER' user" - - # Remove the Docker Manager User specific block from $sshd_config - local result=$(sudo sed -i '/### LibrePortal Manager User Start/,/### LibrePortal Manager User End/d' $sshd_config) - checkSuccess "Removing the Docker Manager User from $sshd_config." - - # Restart SSH Service - local result=$(runSystem service ssh restart) - checkSuccess "Restarting SSH Service" - fi - fi -} \ No newline at end of file diff --git a/scripts/unused/ssh_manager.sh b/scripts/unused/ssh_manager.sh deleted file mode 100755 index e6f9581..0000000 --- a/scripts/unused/ssh_manager.sh +++ /dev/null @@ -1,278 +0,0 @@ -#!/bin/bash - -# Used for Sending SSH keys to remote hosts -installSSHRemoteList() -{ - if [[ "$CFG_REQUIREMENT_SSHREMOTE" == "true" ]]; then - if [[ "$setupSSHRemoteKeys" == true ]]; then - local app_name="$1" - echo "" - echo "############################################" - echo "###### Remote SSH Install ######" - echo "############################################" - echo "" - - # Check if sqlite3 is available - if ! command -v sqlite3 &> /dev/null; then - isNotice "sqlite3 command not found. Make sure it's installed." - fi - - # Check if database file is available - if [ ! -f "$docker_dir/$db_file" ] ; then - isNotice "Database file not found. Make sure it's installed." - fi - - # Check if SSH hosts are configured (configs should already be loaded) - if [[ -z "$CFG_IPS_SSH_SETUP" ]]; then - echo "No hosts found in the configuration." - echo "" - else - # Use the CFG_IPS_SSH_SETUP variable directly - IFS=',' read -ra ip_addresses <<< "$CFG_IPS_SSH_SETUP" - - for ip in "${ip_addresses[@]}"; do - results=$(sqlite3 "$docker_dir/$db_file" "SELECT COUNT(*) FROM ssh WHERE ip = '$ip';") - if [ "$results" -eq 0 ]; then - isNotice "Copying SSH public key to $ip..." - installSSHKeyToHost "$ip" - databaseSSHInsert $ip; - else - if [[ "$toolinstallremotesshlist" == [yY] ]]; then - while true; do - isNotice "Make sure you have the host setup and ready with the LibrePortal preinstallation before doing this!" - isQuestion "Is $ip prepared with the LibrePortal pre-installation? (y/n): " - read -rp "" ishostsetupprompt - if [[ -n "$ishostsetupprompt" ]]; then - break - fi - isNotice "Please provide a valid input." - done - if [[ "$ishostsetupprompt" == [yY] ]]; then - while true; do - isQuestion "Record found for $ip. Do you want to reinstall? (y/n): " - read -rp "" toolreinstallremotessh - if [[ -n "$toolreinstallremotessh" ]]; then - break - fi - isNotice "Please provide a valid input." - done - if [[ "$toolreinstallremotessh" == [yY] ]]; then - ## Start copy - isNotice "Copying SSH public key to $ip..." - installSSHKeyToHost "$ip" - databaseSSHInsert $ip; - fi - else - isError "Please setup your host $ip with the LibrePortal pre-installation" - fi - else - isNotice "All SSH Keys are already setup." - isNotice "'Install Remote SSH Keys' option in the tools list if you want to reinstall any keys." - fi - fi - done - # Random note - Not sure how secure having all passwords saved for SSH, so not adding - fi - fi - fi -} - -installSSHKeyToHost() -{ - local host=$1 - local ssh_key_file="$ssh_dir$CFG_DOCKER_MANAGER_USER/ssh_key_${CFG_INSTALL_NAME}_${CFG_DOCKER_MANAGER_USER}.pub" - - # Check if the specified SSH key file exists - if [ ! -f "$ssh_key_file" ]; then - isError "The SSH key file '$ssh_key_file' does not exist." - fi - -# Copy the SSH public key to the remote directory using sftp -local result=$(sftp -oBatchMode=no -oStrictHostKeyChecking=no -oUserKnownHostsFile=/dev/null "$CFG_DOCKER_MANAGER_USER@$host" < /dev/null; then - isNotice "sqlite3 command not found. Make sure it's installed." - fi - - # Check if database file is available - if [ ! -f "$docker_dir/$db_file" ] ; then - isNotice "Database file not found. Make sure it's installed." - fi - - # Remove old keys from the authorized_keys file and the database - updateAuthorizedKeysAndDatabase "$ssh_directory" - - updateSSHPermissions - - # Reloading SSH Service - local result=$(sudo service ssh reload) - checkSuccess "Reloading the SSH Service" - - isSuccessful "SSH Key Scan completed successfully." -} - -# Function to add an SSH public key from a file to the authorized_keys file and the database -addSSHKeyToAuthorizedKeysAndDatabase() -{ - local key_file="$1" - local ssh_directory="$2" - local auth_key_file="$ssh_directory/authorized_keys" # Define auth_key_file here - - # Get the filename without the path - local key_filename=$(basename "$key_file") - - #echo "DEBUG: Adding SSH public key from $key_filename to authorized_keys file." - - # Check if the specified SSH public key file exists - if [ -f "$key_file" ]; then - # Ensure the authorized_keys file is empty or create it if it doesn't exist - if [ ! -f "$auth_key_file" ]; then - createTouch "$auth_key_file" $docker_install_user - fi - - # Check if the key already exists in the file - local ssh_public_key=$(cat "$key_file") - local key_file_name=$(basename "$key_file") - local auth_key_file_name=$(basename "$auth_key_file") - - if ! grep -Fxq "$ssh_public_key" "$auth_key_file"; then - #echo "DEBUG: Adding key from file: $key_file" - #echo "DEBUG: Key filename: $key_filename" - - # Add the key to the authorized_keys file - echo "$ssh_public_key" >> "$auth_key_file" - checkSuccess "SSH public key from $key_filename added to $auth_key_file_name." - #else - #echo "NOTICE: SSH Key already exists in the authorized_keys file. Skipping..." - fi - - # Hash the public key content - local ssh_public_key_hash=$(echo "$ssh_public_key" | sha256sum | cut -d' ' -f1) - - # Check if the key already exists in the database - local key_in_db=$(sqlite3 "$docker_dir/$db_file" "SELECT COUNT(*) FROM ssh_keys WHERE name = '$key_filename';") - - if [ "$key_in_db" -eq 0 ]; then - # Key doesn't exist in the database, insert it - local result=$(sqlite3 "$docker_dir/$db_file" "INSERT INTO ssh_keys (name, hash, date, time) VALUES ('$key_filename', '$ssh_public_key_hash', '$current_date', '$current_time');") - checkSuccess "SSH public key from $key_filename added to the database." - else - # Key exists in the database, check if its content has changed - local db_key_hash=$(sqlite3 "$docker_dir/$db_file" "SELECT hash FROM ssh_keys WHERE name = '$key_filename';") - if [ "$db_key_hash" != "$ssh_public_key_hash" ]; then - # Key content has changed, update the record - local result=$(sqlite3 "$docker_dir/$db_file" "UPDATE ssh_keys SET hash = '$ssh_public_key_hash', date = '$current_date', time = '$current_time' WHERE name = '$key_filename';") - checkSuccess "SSH Key content from $key_filename updated in the database." - #else - #echo "NOTICE: SSH Key content from $key_filename already exists in the database. Skipping update..." - fi - fi - else - isError "SSH public key file not found: $key_filename" - fi -} - -# Function to remove an SSH public key from the authorized_keys file and the database -removeSSHKeyFromAuthorizedKeysAndDatabase() -{ - if [[ "$CFG_REQUIREMENT_SSHREMOTE" == "true" ]]; then - local key_filename="$1" - local ssh_directory="$2" # Define ssh_directory here - local auth_key_file="$ssh_directory/authorized_keys" # Define auth_key_file here - - # Remove the key from the authorized_keys file - local result=$(sudo sed -i "/$key_filename/d" "$auth_key_file") - checkSuccess "SSH public key '$key_filename' removed from authorized_keys file." - - # Remove the key from the database - db_query="DELETE FROM ssh_keys WHERE name = '$key_filename';" - local result=$(sqlite3 "$docker_dir/$db_file" "$db_query") - checkSuccess "SSH public key '$key_filename' removed from the database." - fi -} - -updateSSHPermissions() -{ - local result=$(sudo chmod 700 $ssh_dir$CFG_DOCKER_MANAGER_USER/) - checkSuccess "Adjusting permissions for $ssh_dir$CFG_DOCKER_MANAGER_USER" - - # SSH configuration directory - auth_key="$ssh_dir$CFG_DOCKER_MANAGER_USER/authorized_keys" - # Check if the config file already exists - if [ -f "$auth_key" ]; then - local result=$(sudo chmod 600 $auth_key) - checkSuccess "Adjusting permissions for authorized_keys" - fi - - local result=$(sudo chmod +rx $ssh_dir $ssh_dir$CFG_DOCKER_MANAGER_USER) - checkSuccess "Adding read and write permissions for ssh folders" - - local result=$(sudo chown -R $CFG_DOCKER_MANAGER_USER:$CFG_DOCKER_MANAGER_USER $ssh_dir$CFG_DOCKER_MANAGER_USER) - checkSuccess "Adding chown to $CFG_DOCKER_MANAGER_USER user for ssh folders" - - local result=$(sudo find $ssh_dir$CFG_DOCKER_MANAGER_USER -type f -name "*.pub" -exec sudo chmod 600 {} \;) - checkSuccess "Updating all permissions of keys to 600" -} diff --git a/scripts/unused/wireguard/client/check_clients.sh b/scripts/unused/wireguard/client/check_clients.sh deleted file mode 100755 index 4de7b51..0000000 --- a/scripts/unused/wireguard/client/check_clients.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/bash - -wireguardCheckClients() -{ - local WIREGUARD_NUMBER_OF_CLIENTS=$(grep -c -E "^### Client" "/etc/wireguard/${CFG_WG_SERVER_NIC}.conf") - if [[ ${WIREGUARD_NUMBER_OF_CLIENTS} == '0' ]]; then - echo "" - isError "You have no existing clients!" - echo "" - wireguardManageMenu; - fi -} diff --git a/scripts/unused/wireguard/client/list_clients.sh b/scripts/unused/wireguard/client/list_clients.sh deleted file mode 100755 index b4e8c9e..0000000 --- a/scripts/unused/wireguard/client/list_clients.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/bash - -wireguardListClients() -{ - isHeader "Wireguard Client List" - - wireguardCheckClients; - - runSystem grep -E "^### Client" "/etc/wireguard/${CFG_WG_SERVER_NIC}.conf" | cut -d ' ' -f 3 | nl -s ') ' -} diff --git a/scripts/unused/wireguard/client/revoke_client.sh b/scripts/unused/wireguard/client/revoke_client.sh deleted file mode 100755 index 2eced92..0000000 --- a/scripts/unused/wireguard/client/revoke_client.sh +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/bash - -wireguardRevokeClient() -{ - isHeader "Wireguard Client Removal" - - wireguardCheckClients; - - echo "" - echo "Select the existing client you want to revoke" - runSystem grep -E "^### Client" "/etc/wireguard/${CFG_WG_SERVER_NIC}.conf" | cut -d ' ' -f 3 | nl -s ') ' - until [[ ${WIREGUARD_CLIENT_NUMBER} -ge 1 && ${WIREGUARD_CLIENT_NUMBER} -le ${WIREGUARD_NUMBER_OF_CLIENTS} ]]; do - if [[ ${WIREGUARD_CLIENT_NUMBER} == '1' ]]; then - read -rp "Select one client [1]: " WIREGUARD_CLIENT_NUMBER - else - read -rp "Select one client [1-${WIREGUARD_NUMBER_OF_CLIENTS}]: " WIREGUARD_CLIENT_NUMBER - fi - done - - # match the selected number to a client name - local WIREGUARD_CLIENT_NAME=$(runSystem grep -E "^### Client" "/etc/wireguard/${CFG_WG_SERVER_NIC}.conf" | cut -d ' ' -f 3 | sed -n "${WIREGUARD_CLIENT_NUMBER}"p) - - result=$(runSystem sed -i "/^### Client ${WIREGUARD_CLIENT_NAME}\$/,/^$/d" "/etc/wireguard/${CFG_WG_SERVER_NIC}.conf") - checkSuccess "Removed [Peer] block matching $WIREGUARD_CLIENT_NAME" - - result=$(runSystem rm -f "${CFG_WG_HOME_DIR}/${CFG_WG_SERVER_NIC}-client-${WIREGUARD_CLIENT_NAME}.conf") - checkSuccess "Removed generated client file for $WIREGUARD_CLIENT_NAME" - - result=$(runSystem wg syncconf "${CFG_WG_SERVER_NIC}" <(runSystem wg-quick strip "${CFG_WG_SERVER_NIC}")) - checkSuccess "Restart wireguard to apply changes" -} diff --git a/scripts/unused/wireguard/config_wireguard b/scripts/unused/wireguard/config_wireguard deleted file mode 100755 index e5cd2f7..0000000 --- a/scripts/unused/wireguard/config_wireguard +++ /dev/null @@ -1,7 +0,0 @@ -# Wireguard - No need to configure unless you know what you are doing. -CFG_WG_HOME_DIR="/docker/wireguard/" -CFG_WG_SERVER_NIC="wg0" -CFG_WG_SERVER_IPV4="10.8.0.1" -CFG_WG_SERVER_PORT="52180" -CFG_WG_ALLOWED_IPS="0.0.0.0/0" -CFG_WG_DEFAULT_CLIENT="user" \ No newline at end of file diff --git a/scripts/unused/wireguard/install_standalone.sh b/scripts/unused/wireguard/install_standalone.sh deleted file mode 100755 index 2f6f17a..0000000 --- a/scripts/unused/wireguard/install_standalone.sh +++ /dev/null @@ -1,255 +0,0 @@ -#!/bin/bash - -# Secure WireGuard server installer -# Adapted from : https://github.com/angristan/wireguard-install - -installStandaloneWireGuard() -{ - if [[ $CFG_REQUIREMENT_WIREGUARD == "true" ]]; then - # Check if WireGuard is already installed and load params - if [[ ! -e /etc/wireguard/params ]]; then - isHeader "Wireguard Installer" - echo "Based on : https://github.com/angristan/wireguard-install" - echo "" - - local WG_CAN_INSTALL="true" - local WG_CHECK_VIRTUALIZATION=$(systemd-detect-virt) - - if [ "$WG_CHECK_VIRTUALIZATION" == "openvz" ]; then - echo "OpenVZ is not supported" - local WG_CAN_INSTALL="false" - fi - - if [ "$WG_CHECK_VIRTUALIZATION" == "lxc" ]; then - echo "LXC is not supported (yet)." - echo "WireGuard can technically run in an LXC container," - echo "but the kernel module has to be installed on the host," - echo "the container has to be run with some specific parameters" - echo "and only the tools need to be installed in the container." - local WG_CAN_INSTALL="false" - fi - - if [[ $WG_CAN_INSTALL == 'true' ]]; then - - # Install WireGuard tools and module - if [[ "$OS_TYPE" == "Ubuntu" || "$OS_TYPE" == "Debian" ]]; then - # All the privileged work (apt, /etc/wireguard keys + server - # config, sysctl ip_forward, wg-quick service) runs in the - # root-owned libreportal-wg helper, which reads + validates the - # CFG_WG_* settings itself. - runWg install "$server_nic" "$public_ip_v4" >/dev/null - checkSuccess "Installed standalone WireGuard server (/etc/wireguard/${CFG_WG_SERVER_NIC}.conf)" - - # Update DNS after the helper apt-installed resolvconf - updateDNS "" standalonewireguard; - - portUse wireguardstandalone $CFG_WG_SERVER_PORT install; - portOpenwireguardstandalone $CFG_WG_SERVER_PORT/udp install; - - wireguardNewClient install; - - # Check if WireGuard is running - systemctl is-active --quiet "wg-quick@${CFG_WG_SERVER_NIC}" - WIREGUARD_RUNNING=$? - - # WireGuard might not work if we updated the kernel. Tell the user to reboot - if [[ ${WIREGUARD_RUNNING} -ne 0 ]]; then - isNotice "***WARNING*** WireGuard does not seem to be running." - isNotice "You can check if WireGuard is running with: systemctl status wg-quick@${CFG_WG_SERVER_NIC}${NC}" - isNotice "If you get something like 'Cannot find device ${CFG_WG_SERVER_NIC}', please reboot!" - else # WireGuard is running - isSuccessful "WireGuard is running." - isSuccessful "You can check the status of WireGuard with: systemctl status wg-quick@${CFG_WG_SERVER_NIC}" - isNotice "If you don't have internet connectivity from your client, try to reboot the server." - fi - fi - fi - #else - #isNotice "Wireguard is already installed, no need to install." - fi - fi -} - -wireguardNewClient() -{ - local type="$1" - - isHeader "Wireguard Client Creation" - isNotice "The client name must consist of alphanumeric character(s)." - isNotice "It may also include underscores or dashes and can't exceed 15 chars." - echo "" - - until [[ ${WIREGUARD_CLIENT_NAME} =~ ^[a-zA-Z0-9_-]+$ && ${WIREGUARD_CLIENT_EXISTS} == '0' && ${#WIREGUARD_CLIENT_NAME} -lt 16 ]]; do - if [[ $type == "install" ]]; then - WIREGUARD_CLIENT_NAME="$CFG_WG_DEFAULT_CLIENT" - else - read -rp "Client name: " -e WIREGUARD_CLIENT_NAME - fi - local WIREGUARD_CLIENT_EXISTS=$(runSystem grep -c -E "^### Client ${WIREGUARD_CLIENT_NAME}\$" "/etc/wireguard/${CFG_WG_SERVER_NIC}.conf") - - if [[ ${WIREGUARD_CLIENT_EXISTS} != 0 ]]; then - echo "" - isNotice "A client with the specified name was already created, please choose another name." - echo "" - fi - done - - for WIREGUARD_DOT_IP in {2..254}; do - local WIREGUARD_DOT_EXISTS=$(runSystem grep -c "${CFG_WG_SERVER_IPV4::-1}${WIREGUARD_DOT_IP}" "/etc/wireguard/${CFG_WG_SERVER_NIC}.conf") - if [[ ${WIREGUARD_DOT_EXISTS} == '0' ]]; then - break - fi - done - - if [[ ${WIREGUARD_DOT_EXISTS} == '1' ]]; then - echo "" - isNotice "The subnet configured supports only 253 clients." - echo "" - fi - - # Generate key pair for the client - local WIREGUARD_CLIENT_PRIV_KEY=$(runSystem wg genkey) - local WIREGUARD_CLIENT_PUB_KEY=$(echo "${WIREGUARD_CLIENT_PRIV_KEY}" | runSystem wg pubkey) - local WIREGUARD_CLIENT_PRE_SHARED_KEY=$(runSystem wg genpsk) - local WIREGUARD_ENDPOINT="${public_ip_v4}:${CFG_WG_SERVER_PORT}" - - # Create client file - createTouch "${CFG_WG_HOME_DIR}/${CFG_WG_SERVER_NIC}-client-${WIREGUARD_CLIENT_NAME}.conf" $sudo_user_name - - # Create client file and add the server as a peer - echo "[Interface] -PrivateKey = ${WIREGUARD_CLIENT_PRIV_KEY} -Address = ${CFG_WG_SERVER_IPV4}/32 -DNS = ${CFG_DNS_SERVER_1},${CFG_DNS_SERVER_2} - -[Peer] -PublicKey = ${SERVER_PUB_KEY} -PresharedKey = ${WIREGUARD_CLIENT_PRE_SHARED_KEY} -Endpoint = ${WIREGUARD_ENDPOINT} -AllowedIPs = ${CFG_WG_ALLOWED_IPS}" | runSystem tee "${CFG_WG_HOME_DIR}/${CFG_WG_SERVER_NIC}-client-${WIREGUARD_CLIENT_NAME}.conf" >/dev/null - - # Add the client as a peer to the server - echo -e "\n### Client ${WIREGUARD_CLIENT_NAME} -[Peer] -PublicKey = ${WIREGUARD_CLIENT_PUB_KEY} -PresharedKey = ${WIREGUARD_CLIENT_PRE_SHARED_KEY} -AllowedIPs = ${CFG_WG_ALLOWED_IPS}" | runSystem tee -a "/etc/wireguard/${CFG_WG_SERVER_NIC}.conf" >/dev/null - - #result=$(runSystem wg syncconf ${CFG_WG_SERVER_NIC} /etc/wireguard/${CFG_WG_SERVER_NIC}.conf) - #checkSuccess "Syncing config file for $CFG_WG_SERVER_NIC" - - #result=$(runSystem systemctl stop "wg-quick@${CFG_WG_SERVER_NIC}") - #checkSuccess "Stopped wg-quick@${CFG_WG_SERVER_NIC} service." - #result=$(runSystem systemctl start "wg-quick@${CFG_WG_SERVER_NIC}") - #checkSuccess "Started wg-quick@${CFG_WG_SERVER_NIC} service." - - # Generate QR code if qrencode is installed - if command -v qrencode &>/dev/null; then - isNotice "Here is your client config file as a QR Code:" - runSystem qrencode -t ansiutf8 -l L <"${CFG_WG_HOME_DIR}/${CFG_WG_SERVER_NIC}-client-${WIREGUARD_CLIENT_NAME}.conf" - echo "" - fi - - isSuccessful "Your client config file is in ${CFG_WG_HOME_DIR}/${CFG_WG_SERVER_NIC}-client-${WIREGUARD_CLIENT_NAME}.conf" -} - -wireguardListClients() -{ - isHeader "Wireguard Client List" - - wireguardCheckClients; - - runSystem grep -E "^### Client" "/etc/wireguard/${CFG_WG_SERVER_NIC}.conf" | cut -d ' ' -f 3 | nl -s ') ' -} - -wireguardRevokeClient() -{ - isHeader "Wireguard Client Removal" - - wireguardCheckClients; - - echo "" - echo "Select the existing client you want to revoke" - runSystem grep -E "^### Client" "/etc/wireguard/${CFG_WG_SERVER_NIC}.conf" | cut -d ' ' -f 3 | nl -s ') ' - until [[ ${WIREGUARD_CLIENT_NUMBER} -ge 1 && ${WIREGUARD_CLIENT_NUMBER} -le ${WIREGUARD_NUMBER_OF_CLIENTS} ]]; do - if [[ ${WIREGUARD_CLIENT_NUMBER} == '1' ]]; then - read -rp "Select one client [1]: " WIREGUARD_CLIENT_NUMBER - else - read -rp "Select one client [1-${WIREGUARD_NUMBER_OF_CLIENTS}]: " WIREGUARD_CLIENT_NUMBER - fi - done - - # match the selected number to a client name - local WIREGUARD_CLIENT_NAME=$(runSystem grep -E "^### Client" "/etc/wireguard/${CFG_WG_SERVER_NIC}.conf" | cut -d ' ' -f 3 | sed -n "${WIREGUARD_CLIENT_NUMBER}"p) - - result=$(runSystem sed -i "/^### Client ${WIREGUARD_CLIENT_NAME}\$/,/^$/d" "/etc/wireguard/${CFG_WG_SERVER_NIC}.conf") - checkSuccess "Removed [Peer] block matching $WIREGUARD_CLIENT_NAME" - - result=$(runSystem rm -f "${CFG_WG_HOME_DIR}/${CFG_WG_SERVER_NIC}-client-${WIREGUARD_CLIENT_NAME}.conf") - checkSuccess "Removed generated client file for $WIREGUARD_CLIENT_NAME" - - result=$(runSystem wg syncconf "${CFG_WG_SERVER_NIC}" <(runSystem wg-quick strip "${CFG_WG_SERVER_NIC}")) - checkSuccess "Restart wireguard to apply changes" -} - -wireguardCheckClients() -{ - local WIREGUARD_NUMBER_OF_CLIENTS=$(grep -c -E "^### Client" "/etc/wireguard/${CFG_WG_SERVER_NIC}.conf") - if [[ ${WIREGUARD_NUMBER_OF_CLIENTS} == '0' ]]; then - echo "" - isError "You have no existing clients!" - echo "" - wireguardManageMenu; - fi -} - -wireguardUninstall() -{ - isHeader "Wireguard Uninstaller" - isNotice "***WARNING*** This will uninstall WireGuard and remove all the configuration files!" - isNotice "Please backup the /etc/wireguard directory if you want to keep your configuration files." - echo "" - isQuestion "Do you really want to remove WireGuard? (y/n): " - read -p "" WIREGUARD_REMOVE - - if [[ $WIREGUARD_REMOVE == [yY] ]]; then - if [[ "$OS_TYPE" == "Ubuntu" || "$OS_TYPE" == "Debian" ]]; then - result=$(runSystem systemctl stop "wg-quick@${CFG_WG_SERVER_NIC}") - checkSuccess "Stopped wg-quick@${CFG_WG_SERVER_NIC} service." - - result=$(runSystem systemctl disable "wg-quick@${CFG_WG_SERVER_NIC}") - checkSuccess "Disabled wg-quick@${CFG_WG_SERVER_NIC} service." - - if [[ "$OS_TYPE" == "Ubuntu" || "$OS_TYPE" == "Debian" ]]; then - result=$(runSystem apt-get remove -y wireguard wireguard-tools qrencode) - checkSuccess "Removed wireguard wireguard-tools qrencode" - fi - - result=$(runSystem rm -rf /etc/wireguard) - checkSuccess "Deleted /etc/wireguard folder." - result=$(runSystem rm -f /etc/sysctl.d/wg.conf) - checkSuccess "Delete /etc/sysctl.d/wg.conf file." - - result=$(runSystem sysctl --system) - checkSuccess "Reloaded sysctl" - - portUnuse wireguardstandalone $CFG_WG_SERVER_PORT install; - portClose wireguardstandalone $CFG_WG_SERVER_PORT/udp install; - - # Check if WireGuard is running - systemctl is-active --quiet "wg-quick@${CFG_WG_SERVER_NIC}" - WIREGUARD_RUNNING=$? - - if [[ ${WIREGUARD_RUNNING} -eq 0 ]]; then - isError "WireGuard failed to uninstall properly." - wireguardManageMenu; - else - isSuccessful "WireGuard uninstalled successfully." - wireguardManageMenu; - fi - fi - else - echo "" - isNotice "Removal aborted!" - fi -} diff --git a/scripts/unused/wireguard/uninstall_standalone.sh b/scripts/unused/wireguard/uninstall_standalone.sh deleted file mode 100755 index 46011b7..0000000 --- a/scripts/unused/wireguard/uninstall_standalone.sh +++ /dev/null @@ -1,52 +0,0 @@ -#!/bin/bash - -wireguardUninstall() -{ - isHeader "Wireguard Uninstaller" - isNotice "***WARNING*** This will uninstall WireGuard and remove all the configuration files!" - isNotice "Please backup the /etc/wireguard directory if you want to keep your configuration files." - echo "" - isQuestion "Do you really want to remove WireGuard? (y/n): " - read -p "" WIREGUARD_REMOVE - - if [[ $WIREGUARD_REMOVE == [yY] ]]; then - if [[ "$OS_TYPE" == "Ubuntu" || "$OS_TYPE" == "Debian" ]]; then - result=$(runSystem systemctl stop "wg-quick@${CFG_WG_SERVER_NIC}") - checkSuccess "Stopped wg-quick@${CFG_WG_SERVER_NIC} service." - - result=$(runSystem systemctl disable "wg-quick@${CFG_WG_SERVER_NIC}") - checkSuccess "Disabled wg-quick@${CFG_WG_SERVER_NIC} service." - - if [[ "$OS_TYPE" == "Ubuntu" || "$OS_TYPE" == "Debian" ]]; then - result=$(runSystem apt-get remove -y wireguard wireguard-tools qrencode) - checkSuccess "Removed wireguard wireguard-tools qrencode" - fi - - result=$(runSystem rm -rf /etc/wireguard) - checkSuccess "Deleted /etc/wireguard folder." - result=$(runSystem rm -f /etc/sysctl.d/wg.conf) - checkSuccess "Delete /etc/sysctl.d/wg.conf file." - - result=$(runSystem sysctl --system) - checkSuccess "Reloaded sysctl" - - portUnuse wireguardstandalone $CFG_WG_SERVER_PORT install; - portClose wireguardstandalone $CFG_WG_SERVER_PORT/udp install; - - # Check if WireGuard is running - systemctl is-active --quiet "wg-quick@${CFG_WG_SERVER_NIC}" - WIREGUARD_RUNNING=$? - - if [[ ${WIREGUARD_RUNNING} -eq 0 ]]; then - isError "WireGuard failed to uninstall properly." - wireguardManageMenu; - else - isSuccessful "WireGuard uninstalled successfully." - wireguardManageMenu; - fi - fi - else - echo "" - isNotice "Removal aborted!" - fi -}