From 9b954462115c6aaf82ebd407c4046267cee709fa Mon Sep 17 00:00:00 2001 From: amin Date: Wed, 20 May 2026 12:28:29 +0200 Subject: [PATCH 1/7] feat: add koffan --- ct/headers/koffan | 5 +++ ct/koffan.sh | 74 +++++++++++++++++++++++++++++++++++++++ install/koffan-install.sh | 62 ++++++++++++++++++++++++++++++++ 3 files changed, 141 insertions(+) create mode 100644 ct/headers/koffan create mode 100644 ct/koffan.sh create mode 100644 install/koffan-install.sh diff --git a/ct/headers/koffan b/ct/headers/koffan new file mode 100644 index 00000000..72cc1138 --- /dev/null +++ b/ct/headers/koffan @@ -0,0 +1,5 @@ + __ __ ________ + / //_/___ / __/ __/___ _____ + / ,< / __ \/ /_/ /_/ __ `/ __ \ + / /| / /_/ / __/ __/ /_/ / / / / +/_/ |_\____/_/ /_/ \__,_/_/ /_/ diff --git a/ct/koffan.sh b/ct/koffan.sh new file mode 100644 index 00000000..d94875c8 --- /dev/null +++ b/ct/koffan.sh @@ -0,0 +1,74 @@ +#!/usr/bin/env bash +source <(curl -s https://raw.githubusercontent.com/AminGholizad/ProxmoxVED/main/misc/build.func) +# Copyright (c) 2021-2026 community-scripts ORG +# Author: Amin Gholizad +# License: MIT | https://github.com/AminGholizad/ProxmoxVED/raw/main/LICENSE +# Source: https://github.com/PanSalut/Koffan + +APP="Koffan" +var_tags="productivity" +var_cpu="1" +var_ram="512" +var_disk="4" +var_os="debian" +var_version="13" +var_unprivileged="1" + +header_info "$APP" +variables +color +catch_errors + +function update_script() { + header_info + check_container_storage + check_container_resources + + if [[ ! -f /opt/koffan/koffan ]]; then + msg_error "No ${APP} Installation Found!" + exit + fi + + RELEASE=$(curl -s https://api.github.com/repos/PanSalut/Koffan/releases/latest | grep "tag_name" | sed -E 's/[^0-9.]//g') + if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then + msg_info "Stopping $APP" + systemctl stop koffan.service + msg_ok "Stopped $APP" + + msg_info "Creating Backup" + tar -czf "/opt/${APP}_backup_$(date +%F).tar.gz" /opt/koffan/ + msg_ok "Backup Created" + + msg_info "Updating $APP to ${RELEASE}" + curl -fsSL "https://github.com/PanSalut/Koffan/archive/refs/tags/v${RELEASE}.tar.gz" | tar -xz + mv ${APP}-${RELEASE}/ /opt/koffan + cd /opt/koffan + go build -o $APP main.go + + msg_ok "Updated $APP to v${RELEASE}" + + msg_info "Starting $APP" + systemctl start $APP.service + msg_ok "Started $APP" + + msg_info "Cleaning Up" + # nothing to clean + msg_ok "Cleanup Completed" + + echo "${RELEASE}" >/opt/${APP}_version.txt + msg_ok "Update Successful" + else + msg_ok "No update required. ${APP} is already at v${RELEASE}" + fi + exit +} + +start +build_container +description + +msg_ok "Completed successfully!\n" +echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" +echo -e "${INFO}${YW} Access it using the following URL:${CL}" +echo -e "${INFO}${YW} The default password is: shopping123${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}" diff --git a/install/koffan-install.sh b/install/koffan-install.sh new file mode 100644 index 00000000..cdf4fed8 --- /dev/null +++ b/install/koffan-install.sh @@ -0,0 +1,62 @@ +#!/usr/bin/env bash + +# Copyright (c) 2021-2026 community-scripts ORG +# Author: Amin Gholizad +# License: MIT | https://github.com/AminGholizad/ProxmoxVED/raw/main/LICENSE +# Source: https://github.com/PanSalut/Koffan + +source /dev/stdin <<<"$FUNCTIONS_FILE_PATH" +color +verb_ip6 +catch_errors +setting_up_container +network_check +update_os + +msg_info "Installing Dependencies" +$STD apt-get install -y \ + curl \ + sudo \ + mc \ + golang-go +msg_ok "Installed Dependencies" + +msg_info "Setup ${APPLICATION}" +RELEASE=$(curl -s https://api.github.com/repos/PanSalut/Koffan/releases/latest | grep "tag_name" | sed -E 's/[^0-9.]//g') +curl -fsSL "https://github.com/PanSalut/Koffan/archive/refs/tags/v${RELEASE}.tar.gz" | tar -xz +mv ${APPLICATION}-${RELEASE}/ /opt/koffan +cd /opt/koffan +go build -o koffan main.go +cat </opt/.env +APP_ENV=production +APP_PASSWORD=shopping123 +PORT=3000 +EOF +echo "${RELEASE}" >/opt/${APPLICATION}_version.txt +msg_ok "Setup ${APPLICATION}" + +msg_info "Creating Service" +cat </etc/systemd/system/${APPLICATION}.service +[Unit] +Description=${APPLICATION} Service +After=network.target + +[Service] +EnvironmentFile=/opt/.env +WorkingDirectory=/opt/koffan +ExecStart=/opt/koffan/koffan +Restart=always + +[Install] +WantedBy=multi-user.target +EOF +systemctl enable -q --now ${APPLICATION}.service +msg_ok "Created Service" + +motd_ssh +customize + +msg_info "Cleaning up" +$STD apt-get -y autoremove +$STD apt-get -y autoclean +msg_ok "Cleaned" From bb04e21e6abfdf25bc55794a29425c135096356b Mon Sep 17 00:00:00 2001 From: amin Date: Thu, 21 May 2026 15:59:50 +0200 Subject: [PATCH 2/7] Updated to current template create the data folder outside for easier cleaning added build essentials Update koffan.sh --- ct/koffan.sh | 69 ++++++++++++++++----------------------- install/koffan-install.sh | 40 ++++++++++------------- 2 files changed, 46 insertions(+), 63 deletions(-) diff --git a/ct/koffan.sh b/ct/koffan.sh index d94875c8..468422fd 100644 --- a/ct/koffan.sh +++ b/ct/koffan.sh @@ -20,47 +20,37 @@ color catch_errors function update_script() { - header_info - check_container_storage - check_container_resources + header_info + check_container_storage + check_container_resources - if [[ ! -f /opt/koffan/koffan ]]; then - msg_error "No ${APP} Installation Found!" - exit - fi - - RELEASE=$(curl -s https://api.github.com/repos/PanSalut/Koffan/releases/latest | grep "tag_name" | sed -E 's/[^0-9.]//g') - if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then - msg_info "Stopping $APP" - systemctl stop koffan.service - msg_ok "Stopped $APP" - - msg_info "Creating Backup" - tar -czf "/opt/${APP}_backup_$(date +%F).tar.gz" /opt/koffan/ - msg_ok "Backup Created" - - msg_info "Updating $APP to ${RELEASE}" - curl -fsSL "https://github.com/PanSalut/Koffan/archive/refs/tags/v${RELEASE}.tar.gz" | tar -xz - mv ${APP}-${RELEASE}/ /opt/koffan - cd /opt/koffan - go build -o $APP main.go - - msg_ok "Updated $APP to v${RELEASE}" - - msg_info "Starting $APP" - systemctl start $APP.service - msg_ok "Started $APP" - - msg_info "Cleaning Up" - # nothing to clean - msg_ok "Cleanup Completed" - - echo "${RELEASE}" >/opt/${APP}_version.txt - msg_ok "Update Successful" - else - msg_ok "No update required. ${APP} is already at v${RELEASE}" - fi + if [[ ! -f /opt/koffan/koffan ]]; then + msg_error "No ${APP} Installation Found!" exit + fi + + if check_for_gh_release "koffan" "PanSalut/Koffan"; then + msg_info "Stopping Service" + systemctl stop koffan + msg_ok "Stopped Service" + + msg_info "Creating Backup" + tar -czf /opt/koffan_backup_$(date +%F).tar.gz /opt/data/ + msg_ok "Backup Created" + + CLEAN_INSTALL=1 fetch_and_deploy_gh_release "koffan" "PanSalut/Koffan" + + msg_info "Rebuilding Koffan" + cd /opt/koffan + go build -o koffan main.go + msg_ok "Rebuild Completed" + + msg_info "Starting Service" + systemctl start koffan + msg_ok "Started Service" + msg_ok "Updated successfully!" + fi + exit } start @@ -70,5 +60,4 @@ description msg_ok "Completed successfully!\n" echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${INFO}${YW} Access it using the following URL:${CL}" -echo -e "${INFO}${YW} The default password is: shopping123${CL}" echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}" diff --git a/install/koffan-install.sh b/install/koffan-install.sh index cdf4fed8..dcb9493c 100644 --- a/install/koffan-install.sh +++ b/install/koffan-install.sh @@ -13,36 +13,34 @@ setting_up_container network_check update_os -msg_info "Installing Dependencies" -$STD apt-get install -y \ - curl \ - sudo \ - mc \ - golang-go -msg_ok "Installed Dependencies" +ensure_dependencies build-essential +setup_go -msg_info "Setup ${APPLICATION}" -RELEASE=$(curl -s https://api.github.com/repos/PanSalut/Koffan/releases/latest | grep "tag_name" | sed -E 's/[^0-9.]//g') -curl -fsSL "https://github.com/PanSalut/Koffan/archive/refs/tags/v${RELEASE}.tar.gz" | tar -xz -mv ${APPLICATION}-${RELEASE}/ /opt/koffan +fetch_and_deploy_gh_release "koffan" "PanSalut/Koffan" + +msg_info "Building Koffan" cd /opt/koffan go build -o koffan main.go -cat </opt/.env +msg_ok "Building Completed" + +msg_info "Configuring Koffan" +mkdir /opt/data +cat </opt/data/.env APP_ENV=production APP_PASSWORD=shopping123 PORT=3000 +DB_PATH=/opt/data/shopping.db EOF -echo "${RELEASE}" >/opt/${APPLICATION}_version.txt -msg_ok "Setup ${APPLICATION}" +msg_ok "Configuration Completed" msg_info "Creating Service" -cat </etc/systemd/system/${APPLICATION}.service +cat </etc/systemd/system/koffan.service [Unit] -Description=${APPLICATION} Service +Description=Koffan Service After=network.target [Service] -EnvironmentFile=/opt/.env +EnvironmentFile=/opt/data/.env WorkingDirectory=/opt/koffan ExecStart=/opt/koffan/koffan Restart=always @@ -50,13 +48,9 @@ Restart=always [Install] WantedBy=multi-user.target EOF -systemctl enable -q --now ${APPLICATION}.service +systemctl enable -q --now koffan msg_ok "Created Service" motd_ssh customize - -msg_info "Cleaning up" -$STD apt-get -y autoremove -$STD apt-get -y autoclean -msg_ok "Cleaned" +cleanup_lxc From f21ba41f5a4b2f3659175993e6c8bc6772de5f03 Mon Sep 17 00:00:00 2001 From: amin Date: Thu, 21 May 2026 20:24:16 +0200 Subject: [PATCH 3/7] Updated using docs --- ct/koffan.sh | 25 +++++++++++++++---------- install/koffan-install.sh | 16 +++++++++------- 2 files changed, 24 insertions(+), 17 deletions(-) diff --git a/ct/koffan.sh b/ct/koffan.sh index 468422fd..fc768b37 100644 --- a/ct/koffan.sh +++ b/ct/koffan.sh @@ -6,13 +6,13 @@ source <(curl -s https://raw.githubusercontent.com/AminGholizad/ProxmoxVED/main/ # Source: https://github.com/PanSalut/Koffan APP="Koffan" -var_tags="productivity" -var_cpu="1" -var_ram="512" -var_disk="4" -var_os="debian" -var_version="13" -var_unprivileged="1" +var_tags="${var_tags:-productivity}" +var_cpu="${var_cpu:-1}" +var_ram="${var_ram:-512}" +var_disk="${var_disk:-4}" +var_os="${var_os:-debian}" +var_version="${var_version:-13}" +var_unprivileged="${var_unprivileged:-1}" header_info "$APP" variables @@ -34,9 +34,9 @@ function update_script() { systemctl stop koffan msg_ok "Stopped Service" - msg_info "Creating Backup" - tar -czf /opt/koffan_backup_$(date +%F).tar.gz /opt/data/ - msg_ok "Backup Created" + msg_info "Backing up Data" + cp -r /opt/koffan/data /opt/koffan_data_backup 2>/dev/null || true + msg_ok "Backed up Data" CLEAN_INSTALL=1 fetch_and_deploy_gh_release "koffan" "PanSalut/Koffan" @@ -45,6 +45,11 @@ function update_script() { go build -o koffan main.go msg_ok "Rebuild Completed" + msg_info "Restoring Data" + cp -r /opt/koffan_data_backup/. /opt/koffan/data/ 2>/dev/null || true + rm -rf /opt/koffan_data_backup + msg_ok "Restored Data" + msg_info "Starting Service" systemctl start koffan msg_ok "Started Service" diff --git a/install/koffan-install.sh b/install/koffan-install.sh index dcb9493c..80ae33bd 100644 --- a/install/koffan-install.sh +++ b/install/koffan-install.sh @@ -24,23 +24,23 @@ go build -o koffan main.go msg_ok "Building Completed" msg_info "Configuring Koffan" -mkdir /opt/data -cat </opt/data/.env +mkdir /opt/koffan/data +cat </opt/koffan/data/.env APP_ENV=production APP_PASSWORD=shopping123 PORT=3000 -DB_PATH=/opt/data/shopping.db +DB_PATH=/opt/koffan/data/shopping.db EOF msg_ok "Configuration Completed" -msg_info "Creating Service" +msg_info "Creating systemd service" cat </etc/systemd/system/koffan.service [Unit] Description=Koffan Service After=network.target [Service] -EnvironmentFile=/opt/data/.env +EnvironmentFile=/opt/koffan/data/.env WorkingDirectory=/opt/koffan ExecStart=/opt/koffan/koffan Restart=always @@ -48,9 +48,11 @@ Restart=always [Install] WantedBy=multi-user.target EOF -systemctl enable -q --now koffan -msg_ok "Created Service" +msg_ok "Service created" +msg_info "Finalizing Koffan installation" +systemctl enable -q --now koffan motd_ssh customize +msg_ok "Koffan installation complete" cleanup_lxc From e04afa9bd097adb78df35ac64fd410cd9fd107a9 Mon Sep 17 00:00:00 2001 From: amin Date: Thu, 21 May 2026 20:31:57 +0200 Subject: [PATCH 4/7] Create koffan.json --- json/koffan.json | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 json/koffan.json diff --git a/json/koffan.json b/json/koffan.json new file mode 100644 index 00000000..456cc78d --- /dev/null +++ b/json/koffan.json @@ -0,0 +1,40 @@ +{ + "name": "Koffan", + "slug": "koffan", + "categories": [ + 12 + ], + "date_created": "2026-05-21", + "type": "ct", + "updateable": true, + "privileged": false, + "interface_port": null, + "documentation": null, + "website": null, + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/koffan.webp", + "description": "Koffan is a lightweight web application for managing shopping lists, designed for couples and families. It allows real-time synchronization between multiple devices, so everyone knows what to buy and what's already in the cart.\n\nThe app works in any browser on both mobile and desktop. Just one password to log in - no complicated registration required.", + "install_methods": [ + { + "type": "default", + "script": "ct/koffan.sh", + "config_path": "/opt/koffan/data/.env", + "resources": { + "cpu": 1, + "ram": 512, + "hdd": 4, + "os": "Debian", + "version": "13" + } + } + ], + "default_credentials": { + "username": null, + "password": "shopping123" + }, + "notes": [ + { + "text": "Change the default password after first login!", + "type": "warning" + } + ] +} \ No newline at end of file From 30ab7d682a473ce9493ae2ad493c48720536190f Mon Sep 17 00:00:00 2001 From: amin Date: Mon, 25 May 2026 17:42:44 +0200 Subject: [PATCH 5/7] edited for new comments --- ct/koffan.sh | 8 ++++---- install/koffan-install.sh | 22 ++++++++++++++-------- json/koffan.json | 12 +++++------- 3 files changed, 23 insertions(+), 19 deletions(-) diff --git a/ct/koffan.sh b/ct/koffan.sh index fc768b37..85c0036d 100644 --- a/ct/koffan.sh +++ b/ct/koffan.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/AminGholizad/ProxmoxVED/main/misc/build.func) # Copyright (c) 2021-2026 community-scripts ORG -# Author: Amin Gholizad +# Author: [AminGholizad] # License: MIT | https://github.com/AminGholizad/ProxmoxVED/raw/main/LICENSE # Source: https://github.com/PanSalut/Koffan @@ -35,10 +35,10 @@ function update_script() { msg_ok "Stopped Service" msg_info "Backing up Data" - cp -r /opt/koffan/data /opt/koffan_data_backup 2>/dev/null || true + cp -r /opt/koffan/data /opt/koffan_data_backup msg_ok "Backed up Data" - CLEAN_INSTALL=1 fetch_and_deploy_gh_release "koffan" "PanSalut/Koffan" + CLEAN_INSTALL=1 fetch_and_deploy_gh_release "koffan" "PanSalut/Koffan" "tarball" msg_info "Rebuilding Koffan" cd /opt/koffan @@ -46,7 +46,7 @@ function update_script() { msg_ok "Rebuild Completed" msg_info "Restoring Data" - cp -r /opt/koffan_data_backup/. /opt/koffan/data/ 2>/dev/null || true + cp -r /opt/koffan_data_backup/. /opt/koffan/data/ rm -rf /opt/koffan_data_backup msg_ok "Restored Data" diff --git a/install/koffan-install.sh b/install/koffan-install.sh index 80ae33bd..fe5bfb06 100644 --- a/install/koffan-install.sh +++ b/install/koffan-install.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash # Copyright (c) 2021-2026 community-scripts ORG -# Author: Amin Gholizad +# Author: [AminGholizad] # License: MIT | https://github.com/AminGholizad/ProxmoxVED/raw/main/LICENSE # Source: https://github.com/PanSalut/Koffan @@ -13,25 +13,32 @@ setting_up_container network_check update_os +msg_info "Installing Dependencies" ensure_dependencies build-essential setup_go +msg_ok "Installed Dependencies" -fetch_and_deploy_gh_release "koffan" "PanSalut/Koffan" +fetch_and_deploy_gh_release "koffan" "PanSalut/Koffan" "tarball" msg_info "Building Koffan" cd /opt/koffan go build -o koffan main.go -msg_ok "Building Completed" +msg_ok "Built Koffan" msg_info "Configuring Koffan" +PASSWORD=$(openssl rand -base64 12) mkdir /opt/koffan/data cat </opt/koffan/data/.env APP_ENV=production -APP_PASSWORD=shopping123 +APP_PASSWORD=${PASSWORD} PORT=3000 DB_PATH=/opt/koffan/data/shopping.db EOF -msg_ok "Configuration Completed" + +{ + echo "Password: ${PASSWORD}" +} >~/koffan.creds +msg_ok "Configured Koffan" msg_info "Creating systemd service" cat </etc/systemd/system/koffan.service @@ -48,11 +55,10 @@ Restart=always [Install] WantedBy=multi-user.target EOF -msg_ok "Service created" -msg_info "Finalizing Koffan installation" systemctl enable -q --now koffan +msg_ok "Created systemd service" + motd_ssh customize -msg_ok "Koffan installation complete" cleanup_lxc diff --git a/json/koffan.json b/json/koffan.json index 456cc78d..e1263cf3 100644 --- a/json/koffan.json +++ b/json/koffan.json @@ -1,14 +1,12 @@ { "name": "Koffan", "slug": "koffan", - "categories": [ - 12 - ], + "categories": [12], "date_created": "2026-05-21", "type": "ct", "updateable": true, "privileged": false, - "interface_port": null, + "interface_port": 3000, "documentation": null, "website": null, "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/koffan.webp", @@ -33,8 +31,8 @@ }, "notes": [ { - "text": "Change the default password after first login!", - "type": "warning" + "text": "Credentials are saved to `~/koffan.creds`.", + "type": "info" } ] -} \ No newline at end of file +} From 67d6576b971b45fcc3c44f6b19b14c3ec514e299 Mon Sep 17 00:00:00 2001 From: amin Date: Mon, 25 May 2026 17:56:15 +0200 Subject: [PATCH 6/7] match remaining msg_ok with msg_info --- ct/koffan.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ct/koffan.sh b/ct/koffan.sh index 85c0036d..0aab7171 100644 --- a/ct/koffan.sh +++ b/ct/koffan.sh @@ -43,7 +43,7 @@ function update_script() { msg_info "Rebuilding Koffan" cd /opt/koffan go build -o koffan main.go - msg_ok "Rebuild Completed" + msg_ok "Rebuild Koffan" msg_info "Restoring Data" cp -r /opt/koffan_data_backup/. /opt/koffan/data/ From 689194fe547119f160ac913f4efad3ab1d61e55d Mon Sep 17 00:00:00 2001 From: amin Date: Mon, 25 May 2026 22:13:25 +0200 Subject: [PATCH 7/7] updated according to comments --- ct/koffan.sh | 4 ++-- install/koffan-install.sh | 9 ++++----- json/koffan.json | 8 +++++--- 3 files changed, 11 insertions(+), 10 deletions(-) diff --git a/ct/koffan.sh b/ct/koffan.sh index 0aab7171..50766151 100644 --- a/ct/koffan.sh +++ b/ct/koffan.sh @@ -1,14 +1,14 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/AminGholizad/ProxmoxVED/main/misc/build.func) # Copyright (c) 2021-2026 community-scripts ORG -# Author: [AminGholizad] +# Author: (AminGholizad) # License: MIT | https://github.com/AminGholizad/ProxmoxVED/raw/main/LICENSE # Source: https://github.com/PanSalut/Koffan APP="Koffan" var_tags="${var_tags:-productivity}" var_cpu="${var_cpu:-1}" -var_ram="${var_ram:-512}" +var_ram="${var_ram:-1024}" var_disk="${var_disk:-4}" var_os="${var_os:-debian}" var_version="${var_version:-13}" diff --git a/install/koffan-install.sh b/install/koffan-install.sh index fe5bfb06..2b79fddd 100644 --- a/install/koffan-install.sh +++ b/install/koffan-install.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash # Copyright (c) 2021-2026 community-scripts ORG -# Author: [AminGholizad] +# Author: (AminGholizad) # License: MIT | https://github.com/AminGholizad/ProxmoxVED/raw/main/LICENSE # Source: https://github.com/PanSalut/Koffan @@ -35,9 +35,9 @@ PORT=3000 DB_PATH=/opt/koffan/data/shopping.db EOF -{ - echo "Password: ${PASSWORD}" -} >~/koffan.creds +cat <~/koffan.creds +Password: ${PASSWORD} +EOF msg_ok "Configured Koffan" msg_info "Creating systemd service" @@ -55,7 +55,6 @@ Restart=always [Install] WantedBy=multi-user.target EOF - systemctl enable -q --now koffan msg_ok "Created systemd service" diff --git a/json/koffan.json b/json/koffan.json index e1263cf3..7a1b2dbb 100644 --- a/json/koffan.json +++ b/json/koffan.json @@ -1,8 +1,10 @@ { "name": "Koffan", "slug": "koffan", - "categories": [12], - "date_created": "2026-05-21", + "categories": [ + 12 + ], + "date_created": "2026-05-25", "type": "ct", "updateable": true, "privileged": false, @@ -18,7 +20,7 @@ "config_path": "/opt/koffan/data/.env", "resources": { "cpu": 1, - "ram": 512, + "ram": 1024, "hdd": 4, "os": "Debian", "version": "13"