Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New Script: Apache Guacamole #657

Merged

Conversation

michelroegl-brunner
Copy link
Member

Note

We are meticulous when it comes to merging code into the main branch, so please understand that we may reject pull requests that do not meet the project's standards. It's never personal. Also, game-related scripts have a lower chance of being merged.

Description

New Script for Apache Guacamole.
At the moment i have no Update funktion implemented, it seems it can lead to many issues to do this automaticly, but i will figure it out and create a new PR for this feature.

Fixes #656

Type of change

Please check the relevant option(s):

  • Bug fix (non-breaking change that resolves an issue)
  • New feature (non-breaking change that adds functionality)
  • Breaking change (a fix or feature that would cause existing functionality to change unexpectedly)
  • New script (a fully functional and thoroughly tested script or set of scripts.)

Prerequisites

The following efforts must be made for the PR to be considered. Please check when completed:

  • Self-review performed (I have reviewed my code, ensuring it follows established patterns and conventions)
  • Testing performed (I have tested my changes, ensuring everything works as expected)
  • Documentation updated (I have updated any relevant documentation)

Additional Information (optional)

Provide any additional context or screenshots about the feature or fix here.

Related Pull Requests / Discussions

If there are other pull requests or discussions related to this change, please link them here:

  • Related PR #

@michelroegl-brunner michelroegl-brunner requested a review from a team as a code owner December 3, 2024 15:10
@github-actions github-actions bot added new script A change that adds a new script website A change to the website labels Dec 3, 2024
json/apache-guacamole.json Outdated Show resolved Hide resolved
json/apache-guacamole.json Outdated Show resolved Hide resolved
json/apache-guacamole.json Outdated Show resolved Hide resolved
Copy link
Member

@MickLesk MickLesk left a comment

Choose a reason for hiding this comment

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

Phew, the script is terrible 😄 spelling mistakes and various violations of the conventions. Have a look at other current scripts. I just got a real headache trying to follow the script.

The following:

  1. installing dependencies
  2. setup database
  3. setup Tomcat
  4. setup Guacamole
  5. creating service
  6. cleanup

Use STD only when absolutely necessary, wget, curl, unzip and so on support -q

Then please do not use variable paths, but fixed paths.

ct/apache-guacamole.sh Outdated Show resolved Hide resolved
install/apache-guacamole-install.sh Outdated Show resolved Hide resolved
install/apache-guacamole-install.sh Outdated Show resolved Hide resolved
install/apache-guacamole-install.sh Outdated Show resolved Hide resolved
install/apache-guacamole-install.sh Outdated Show resolved Hide resolved
install/apache-guacamole-install.sh Outdated Show resolved Hide resolved
install/apache-guacamole-install.sh Outdated Show resolved Hide resolved
install/apache-guacamole-install.sh Outdated Show resolved Hide resolved
install/apache-guacamole-install.sh Outdated Show resolved Hide resolved
install/apache-guacamole-install.sh Show resolved Hide resolved
@michelroegl-brunner
Copy link
Member Author

Phew, the script is terrible 😄 spelling mistakes and various violations of the conventions. Have a look at other current scripts. I just got a real headache trying to follow the script.

The following:

  1. installing dependencies
  2. setup database
  3. setup Tomcat
  4. setup Guacamole
  5. creating service
  6. cleanup

Use STD only when absolutely necessary, wget, curl, unzip and so on support -q

Then please do not use variable paths, but fixed paths.

First of all thank you for your honesty :D I´m still trying to get the gist of this codebase an highly appreciate the time and effort you put in this reviews and the whole project.
This was a big script for me and i work in all the changes tomorrow!

@michelroegl-brunner
Copy link
Member Author

Updated to account for the changes. Test it on my dev branch with bash -c "$(wget -qLO -https://raw.githubusercontent.com/michelroegl-brunner/ProxmoxVE/refs/heads/DEV/ct/apache-guacamole.sh)"

@michelroegl-brunner michelroegl-brunner requested review from MickLesk and BramSuurdje and removed request for MickLesk and BramSuurdje December 17, 2024 08:00
@MickLesk
Copy link
Member

if you have no update function, check adguard.sh (ct), otherwise the user will not get any feedback

@MickLesk
Copy link
Member

Error: ENOENT: no such file or directory, stat '/ct/apache-guacamole.sh'

json issue, idk why

@michelroegl-brunner
Copy link
Member Author

Error: ENOENT: no such file or directory, stat '/ct/apache-guacamole.sh'

json issue, idk why

I´ve also seen this. Maybe an issue with the frontend workflow? It probably checks the main branch and there can never be such a file when its a PR with a new script.

I have also added the update_function() as requested.

@MickLesk
Copy link
Member

@havardthom can you check the workflow? i dont see any json issue here? 😄

@MickLesk
Copy link
Member

ive see the issue now.
its an unneeded / in script

@BramSuurdje can you check it?
image

json-editor (https://community-scripts.github.io/ProxmoxVE/json-editor):
image

@MickLesk
Copy link
Member

MickLesk commented Dec 19, 2024

The script has now been finalized. I have optimized it a little and tested it in the DEV branch. The script is a bit special because we have to use various sources here.

can be tested here:

bash -c "$(wget -qLO - https://raw.githubusercontent.com/community-scripts/ProxmoxVE/refs/heads/develop/ct/apache-guacamole.sh)"

@CrazyWolf13 | @IVRYSimon | @trucke
Can you check it? I don't really know the use-case, I just see an empty board where I have to add connections. idk what I have to do :D

Edit: Please only test, if its okay, you can delete the lxc after this, and we merge to main

@joe-heaton
Copy link

Happy to test if that's ok?
Have used this app before so something to base off 👍🏻

@michelroegl-brunner
Copy link
Member Author

Happy to test if that's ok?
Have used this app before so something to base off 👍🏻

Yes please, highly appreciated :)

@MickLesk MickLesk merged commit 949ec3d into community-scripts:main Dec 20, 2024
3 checks passed
CrazyWolf13

This comment was marked as outdated.

Comment on lines +82 to +87
{
echo "SnipeIT-Credentials"
echo "SnipeIT Database User: $DB_USER"
echo "SnipeIT Database Password: $DB_PASS"
echo "SnipeIT Database Name: $DB_NAME"
} >> ~/guacamole.creds
Copy link
Contributor

Choose a reason for hiding this comment

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

@michelroegl-brunner @MickLesk Any reason this contains Snipe-IT ?

Copy link
Member

Choose a reason for hiding this comment

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

I think Copy Paste issue. I Update it

@trucke
Copy link

trucke commented Dec 21, 2024

The script has now been finalized. I have optimized it a little and tested it in the DEV branch. The script is a bit special because we have to use various sources here.

can be tested here:

bash -c "$(wget -qLO - https://raw.githubusercontent.com/community-scripts/ProxmoxVE/refs/heads/develop/ct/apache-guacamole.sh)"

@CrazyWolf13 | @IVRYSimon | @trucke Can you check it? I don't really know the use-case, I just see an empty board where I have to add connections. idk what I have to do :D

Edit: Please only test, if its okay, you can delete the lxc after this, and we merge to main

sorry for my late reply, unfortunately i'm sick in bed at the moment. i will test it as soon as i can.
thanks guys for your hard and diligent work.

@CrazyWolf13
Copy link
Contributor

CrazyWolf13 commented Dec 21, 2024

@MickLesk Sorry for the delay in testing, had to get my pve cluster fixed first.

TLDR: For me it's compledtely not working!

For me adding a remote connection, for example VNC, immediately fails:
grafik
A connection with the exact same settings from my prod guacamole works just fine.
SSH connections fail as well immediately, so I guess there must be some sort of problem between guacd and guac frontend.

Normally this command enables guacd with debug logs to cli, however absolutely 0 logs appear here:

systemctl stop guacd
/usr/local/sbin/guacd -L debug -f

Maybe we can use inspiration at this code: https://github.com/itiligent/Easy-Guacamole-Installer

Log entry from tomcat, /opt/apache-guacamole/tomcat9/logs/catalina.out

20:32:55.543 [http-nio-8080-exec-7] ERROR o.a.g.w.GuacamoleWebSocketTunnelEndpoint - Creation of WebSocket tunnel to guacd failed: java.net.ConnectException: Connection refused
20:32:55.700 [http-nio-8080-exec-10] ERROR o.a.g.s.GuacamoleHTTPTunnelServlet - HTTP tunnel request failed: java.net.ConnectException: Connection refused

@CrazyWolf13
Copy link
Contributor

@MickLesk @joe-heaton @michelroegl-brunner @trucke

Was any of you able to get guacamole working?

@michelroegl-brunner michelroegl-brunner deleted the apache-guacamole-dev branch December 29, 2024 09:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
new script A change that adds a new script website A change to the website
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Apache Guacamole
6 participants