Skip to content

Conversation

@enoch85
Copy link
Member

@enoch85 enoch85 commented Dec 24, 2025

@small1 Not tested, but a base at least

@enoch85
Copy link
Member Author

enoch85 commented Dec 24, 2025

also cc @szaimen, what do you think?

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds comprehensive AppAPI (External Apps framework) configuration support to the Nextcloud VM, enabling users to deploy and manage containerized external applications. The implementation provides two deployment methods: HaRP (recommended for NC 32+) with reverse proxy support, and Direct Docker Socket for simpler local installations.

Key changes include:

  • Added a new 691-line AppAPI configuration script with full deployment automation, GPU detection, and testing capabilities
  • Integrated AppAPI option into the Nextcloud configuration menu with automatic disable logic for startup scenarios
  • Added helper functions in lib.sh for AppAPI installation, daemon registration, and test app cleanup

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 13 comments.

File Description
addons/appapi.sh New comprehensive script handling AppAPI installation, Docker/HaRP daemon configuration, GPU detection, deployment testing, and cleanup
menu/nextcloud_configuration.sh Added AppAPI as a configuration option with automatic disable logic during VM startup if not selected
lib.sh Added helper functions for AppAPI: appapi_install() for variables/configuration, cleanup_test_app() for test cleanup, and register_daemon() for daemon registration

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

choice=$(whiptail --title "$TITLE" --checklist \
"Which settings do you want to configure?
$CHECKLIST_GUIDE\n\n$RUN_LATER_GUIDE" "$WT_HEIGHT" "$WT_WIDTH" 4 \
"AppAPI" "(Configure External Apps framework - AppAPI daemon)" "$STARTUP_SWITCH" \
Copy link

Copilot AI Dec 27, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The variable 'STARTUP_SWITCH' is referenced but never defined in this diff. Ensure this variable is properly initialized before the whiptail checklist, or it will evaluate to an empty string causing the AppAPI option to be unchecked by default.

Copilot uses AI. Check for mistakes.
# Configure Nextcloud
choice=$(whiptail --title "$TITLE" --checklist \
"Which settings do you want to configure?
$CHECKLIST_GUIDE\n\n$RUN_LATER_GUIDE" "$WT_HEIGHT" "$WT_WIDTH" 4 \
Copy link

Copilot AI Dec 27, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The whiptail menu specifies '4' as the menu height parameter, but there are now 5 options listed (AppAPI, CookieLifetime, Share-folder, Disable workspaces, and Enable logrotate). The menu height should be updated to accommodate all options properly.

Suggested change
$CHECKLIST_GUIDE\n\n$RUN_LATER_GUIDE" "$WT_HEIGHT" "$WT_WIDTH" 4 \
$CHECKLIST_GUIDE\n\n$RUN_LATER_GUIDE" "$WT_HEIGHT" "$WT_WIDTH" 8 \

Copilot uses AI. Check for mistakes.
enoch85 and others added 7 commits December 27, 2025 16:06
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: enoch85 <mailto@danielhansson.nu>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: enoch85 <mailto@danielhansson.nu>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: enoch85 <mailto@danielhansson.nu>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: enoch85 <mailto@danielhansson.nu>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: enoch85 <mailto@danielhansson.nu>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: enoch85 <mailto@danielhansson.nu>
@enoch85 enoch85 merged commit 5a3b6fa into nextcloud:main Dec 27, 2025
2 of 3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant