diff --git a/ct/alpine-cinny.sh b/ct/alpine-cinny.sh new file mode 100644 index 00000000..bba4869c --- /dev/null +++ b/ct/alpine-cinny.sh @@ -0,0 +1,57 @@ +#!/usr/bin/env bash +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/misc/build.func) +# Copyright (c) 2021-2026 community-scripts ORG +# Author: Tobias Salzmann (Eun) +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: https://github.com/cinnyapp/cinny + +APP="Alpine-Cinny" +var_tags="${var_tags:-alpine;matrix}" +var_cpu="${var_cpu:-1}" +var_ram="${var_ram:-256}" +var_disk="${var_disk:-1}" +var_os="${var_os:-alpine}" +var_version="${var_version:-3.23}" +var_unprivileged="${var_unprivileged:-1}" +var_nesting="${var_nesting:-0}" + +header_info "$APP" +variables +color +catch_errors + +function update_script() { + header_info + + if [[ ! -d /opt/cinny ]]; then + msg_error "No ${APP} Installation Found!" + exit + fi + + if check_for_gh_release "cinny" "cinnyapp/cinny"; then + msg_info "Backing up Configuration" + cp /opt/cinny/config.json /opt/cinny_config.json.bak + msg_ok "Backed up Configuration" + + CLEAN_INSTALL=1 fetch_and_deploy_gh_release "cinny" "cinnyapp/cinny" "prebuild" "latest" "/opt/cinny" "cinny-*.tar.gz" + + msg_info "Restoring Configuration" + cp /opt/cinny_config.json.bak /opt/cinny/config.json + rm -f /opt/cinny_config.json.bak + msg_ok "Restored Configuration" + + msg_info "Restarting nginx" + $STD rc-service nginx restart + msg_ok "Updated successfully!" + fi + exit +} + +start +build_container +description + +msg_ok "Completed successfully!\n" +echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" +echo -e "${INFO}${YW} Access it using the following IP:${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8080${CL}" diff --git a/install/alpine-cinny-install.sh b/install/alpine-cinny-install.sh new file mode 100644 index 00000000..56f88870 --- /dev/null +++ b/install/alpine-cinny-install.sh @@ -0,0 +1,55 @@ +#!/usr/bin/env bash + +# Copyright (c) 2021-2026 community-scripts ORG +# Author: Tobias Salzmann (Eun) +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: https://github.com/cinnyapp/cinny + +source /dev/stdin <<<"$FUNCTIONS_FILE_PATH" +color +verb_ip6 +catch_errors +setting_up_container +network_check +update_os + +msg_info "Installing Dependencies" +$STD apk add --no-cache \ + nginx +msg_ok "Installed Dependencies" + +msg_info "Installing Cinny" + +fetch_and_deploy_gh_release "cinny" "cinnyapp/cinny" "prebuild" "latest" "/opt/cinny" "cinny-*.tar.gz" + +cat <<'EOF' >/etc/nginx/http.d/default.conf +server { + listen 8080; + server_name localhost; + + location / { + root /opt/cinny; + + rewrite ^/config.json$ /config.json break; + rewrite ^/manifest.json$ /manifest.json break; + + rewrite ^/sw.js$ /sw.js break; + rewrite ^/pdf.worker.min.js$ /pdf.worker.min.js break; + + rewrite ^/public/(.*)$ /public/$1 break; + rewrite ^/assets/(.*)$ /assets/$1 break; + + rewrite ^(.+)$ /index.html break; + } +} +EOF +$STD rc-update add nginx default +$STD rc-service nginx start +msg_ok "Installed Cinny" + +motd_ssh +customize + +msg_info "Cleaning up" +$STD apk cache clean +msg_ok "Cleaned" diff --git a/json/alpine-cinny.json b/json/alpine-cinny.json new file mode 100644 index 00000000..ca2c5279 --- /dev/null +++ b/json/alpine-cinny.json @@ -0,0 +1,41 @@ +{ + "name": "Alpine-Cinny", + "slug": "alpine-cinny", + "categories": [ + 0, + 4 + ], + "date_created": "2026-05-23", + "type": "ct", + "updateable": true, + "privileged": false, + "interface_port": 8080, + "documentation": "https://github.com/cinnyapp/cinny", + "website": "https://cinny.in/", + "logo": "https://cinny.in/assets/cinny.svg", + "description": "Yet another matrix client ", + "install_methods": [ + { + "type": "alpine", + "script": "ct/alpine-cinny.sh", + "config_path": "/opt/cinny/config.json", + "resources": { + "cpu": 1, + "ram": 256, + "hdd": 1, + "os": "alpine", + "version": "3.23" + } + } + ], + "default_credentials": { + "username": null, + "password": null + }, + "notes": [ + { + "text": "To see config: `cat /opt/cinny/config.json`", + "type": "info" + } + ] +}