50-setup-ikvm.sh: terminated with error 1.
Hey, fine project you got here :)
Unfortunately i am not able to run the docker, using the docker-compose script. Maybe you can help out in this case :)
Thanks in advance!
✔ Network root_default Created 0.1s
✔ Volume "supermicro-java-ikvm" Crea... 0.0s
✔ Container supermicro-java-ikvm Cre... 0.9s
Attaching to supermicro-java-ikvm
supermicro-java-ikvm | [init ] container is starting...
supermicro-java-ikvm | [cont-env ] loading container environment variables...
supermicro-java-ikvm | [cont-env ] APP_NAME: loading...
supermicro-java-ikvm | [cont-env ] APP_VERSION: loading...
supermicro-java-ikvm | [cont-env ] DISPLAY: executing...
supermicro-java-ikvm | [cont-env ] DISPLAY: terminated successfully.
supermicro-java-ikvm | [cont-env ] DISPLAY: loading...
supermicro-java-ikvm | [cont-env ] DOCKER_IMAGE_PLATFORM: loading...
supermicro-java-ikvm | [cont-env ] DOCKER_IMAGE_VERSION: loading...
supermicro-java-ikvm | [cont-env ] GTK2_RC_FILES: executing...
supermicro-java-ikvm | [cont-env ] GTK2_RC_FILES: terminated successfully.
supermicro-java-ikvm | [cont-env ] GTK2_RC_FILES: loading...
supermicro-java-ikvm | [cont-env ] GTK_THEME: executing...
supermicro-java-ikvm | [cont-env ] GTK_THEME: terminated successfully.
supermicro-java-ikvm | [cont-env ] GTK_THEME: loading...
supermicro-java-ikvm | [cont-env ] HOME: loading...
supermicro-java-ikvm | [cont-env ] JAVA_OPTS: loading...
supermicro-java-ikvm | [cont-env ] QT_STYLE_OVERRIDE: executing...
supermicro-java-ikvm | [cont-env ] QT_STYLE_OVERRIDE: terminated successfully.
supermicro-java-ikvm | [cont-env ] QT_STYLE_OVERRIDE: loading...
supermicro-java-ikvm | [cont-env ] TAKE_CONFIG_OWNERSHIP: loading...
supermicro-java-ikvm | [cont-env ] XDG_CACHE_HOME: loading...
supermicro-java-ikvm | [cont-env ] XDG_CONFIG_HOME: loading...
supermicro-java-ikvm | [cont-env ] XDG_DATA_HOME: loading...
supermicro-java-ikvm | [cont-env ] XDG_RUNTIME_DIR: loading...
supermicro-java-ikvm | [cont-env ] XDG_STATE_HOME: loading...
supermicro-java-ikvm | [cont-env ] container environment variables initialized.
supermicro-java-ikvm | [cont-secrets] loading container secrets...
supermicro-java-ikvm | [cont-secrets] container secrets loaded.
supermicro-java-ikvm | [cont-init ] executing container initialization scripts...
supermicro-java-ikvm | [cont-init ] 10-certs.sh: executing...
supermicro-java-ikvm | [cont-init ] 10-certs.sh: terminated successfully.
supermicro-java-ikvm | [cont-init ] 10-check-app-niceness.sh: executing...
supermicro-java-ikvm | [cont-init ] 10-check-app-niceness.sh: terminated successfully.
supermicro-java-ikvm | [cont-init ] 10-clean-logmonitor-states.sh: executing...
supermicro-java-ikvm | [cont-init ] 10-clean-logmonitor-states.sh: terminated successfully.
supermicro-java-ikvm | [cont-init ] 10-clean-tmp-dir.sh: executing...
supermicro-java-ikvm | [cont-init ] 10-clean-tmp-dir.sh: terminated successfully.
supermicro-java-ikvm | [cont-init ] 10-fontconfig-cache-dir.sh: executing...
supermicro-java-ikvm | [cont-init ] 10-fontconfig-cache-dir.sh: terminated successfully.
supermicro-java-ikvm | [cont-init ] 10-init-users.sh: executing...
supermicro-java-ikvm | [cont-init ] 10-init-users.sh: terminated successfully.
supermicro-java-ikvm | [cont-init ] 10-nginx.sh: executing...
supermicro-java-ikvm | [cont-init ] 10-nginx.sh: terminated successfully.
supermicro-java-ikvm | [cont-init ] 10-openbox.sh: executing...
supermicro-java-ikvm | [cont-init ] 10-openbox.sh: terminated successfully.
supermicro-java-ikvm | [cont-init ] 10-pkgs-mirror.sh: executing...
supermicro-java-ikvm | [cont-init ] 10-pkgs-mirror.sh: terminated successfully.
supermicro-java-ikvm | [cont-init ] 10-set-tmp-dir-perms.sh: executing...
supermicro-java-ikvm | [cont-init ] 10-set-tmp-dir-perms.sh: terminated successfully.
supermicro-java-ikvm | [cont-init ] 10-vnc-password.sh: executing...
supermicro-java-ikvm | [cont-init ] 10-vnc-password.sh: terminated successfully.
supermicro-java-ikvm | [cont-init ] 10-web-data.sh: executing...
supermicro-java-ikvm | [cont-init ] 10-web-data.sh: terminated successfully.
supermicro-java-ikvm | [cont-init ] 10-x11-unix.sh: executing...
supermicro-java-ikvm | [cont-init ] 10-x11-unix.sh: terminated successfully.
supermicro-java-ikvm | [cont-init ] 10-xdg-runtime-dir.sh: executing...
supermicro-java-ikvm | [cont-init ] 10-xdg-runtime-dir.sh: terminated successfully.
supermicro-java-ikvm | [cont-init ] 15-cjk-font.sh: executing...
supermicro-java-ikvm | [cont-init ] 15-cjk-font.sh: terminated successfully.
supermicro-java-ikvm | [cont-init ] 15-install-pkgs.sh: executing...
supermicro-java-ikvm | [cont-init ] 15-install-pkgs.sh: terminated successfully.
supermicro-java-ikvm | [cont-init ] 50-setup-ikvm.sh: executing...
supermicro-java-ikvm | [cont-init ] 50-setup-ikvm.sh: terminated with error 1.
supermicro-java-ikvm exited with code 1
Can you give me the details for your Supermicro hardware you're trying to connect to? (Motherboard, BMC model, BMC firmware, motherboard firmware)
Also set the environment variable CONTAINER_DEBUG=1 and post the log output
Hey :) I'd like to use a Supermicro X9SCM-F. With Winbond 450 BMC.
Currently i can't even get the docker running, that's my issue, because during creation it fails. I'll try with CONTAINER_DEBUG=1.
From your original logs, the container is failing at 50-setup-ikvm.sh, which is the KVM wrapper responsible for your grabbing all of the necessary files / login details for our KVM session inside the container. With CONTAINER_DEBUG=1 set I will have a better idea as to why it is failing.
Hey, i hope you are doing fine! Something might be of interest. I am using this version. SMT_X9_364 for the BMC. Also the Supermicro IPMI View doesn't work with that. Do you want to give it a try maybe, so you can check it out as well?
Are your Docker host and Supermicro IPMI on the same network? Or is there a firewall with restrictive rules in-between them? If this is the case you may need to create an allow rule for TCP port 5900 and TCP port 623 (if you need virtual media) to your Supermicro host.
I also published a debug image, will you try running ghcr.io/mistercalvin/supermicro-java-ikvm:debug and posting the log output? Please check the logs before posting as they may contain sensitive information. Be sure to set CONTAINER_DEBUG=1 in your docker-compose.yml or docker run command
I have the same issue on MacBook Pro M1
2024-05-07 22:21:52 [cont-init ] 10-xdg-runtime-dir.sh: terminated successfully.
2024-05-07 22:21:52 [cont-init ] 15-cjk-font.sh: executing...
2024-05-07 22:21:52 [cont-init ] 15-cjk-font.sh: terminated successfully.
2024-05-07 22:21:52 [cont-init ] 15-install-pkgs.sh: executing...
2024-05-07 22:21:52 [cont-init ] 15-install-pkgs.sh: terminated successfully.
2024-05-07 22:21:52 [cont-init ] 50-setup-ikvm.sh: executing...
2024-05-07 22:21:53 [cont-init ] 50-setup-ikvm.sh: terminated with error 1.
ok, I have solution for this error. You need to update IPMI firmware to newest version. Tested on X9SCL-F
@robsonek How did you update the IPMI to the newest version for the docker container?
@robsonek How did you update the IPMI to the newest version for the docker container?
Just download it from https://www.supermicro.com/support/resources/bios_ipmi.php?type=BMC and upload it to your Motherboard using e.g. FreeDos
Hmm, I've experienced this very same situation on my end. Seems the server I'm using has an IPMI HTTPS setup which still employs TLS 1.0, which is not supported anymore by alpine. A tls-proxy can be employed so the connection with the KVM_HOST is mediated with this container (an nginx container <= 1.23.2-alpine version should work), then the supermicro-java-ikvm container queries the tls-proxy instead.
services:
tls-proxy:
image: nginx:1.23.2-alpine # Last version with TLS legacy support
volumes:
- ./nginx/templates:/etc/nginx/templates
- ./nginx/certs:/etc/nginx/certs
environment:
KVM_HOST: host
supermicro-java-ikvm:
image: ghcr.io/mistercalvin/supermicro-java-ikvm:debug
container_name: supermicro-java-ikvm
depends_on:
- tls-proxy
environment:
TZ: America/Mexico_City
USER_ID: 1000
GROUP_ID: 1000
KVM_HOST: "tls-proxy"
KVM_USER: user
KVM_PASS: pwd
DISPLAY_WIDTH: 1024 # Display Width
DISPLAY_HEIGHT: 768 # Display Height
CONTAINER_DEBUG: 1
ports:
- 5800:5800 # Web UI Port
- 5900:5900 # VNC Port
volumes:
- ./vmedia:/app/vmedia/ # Virtual Media ISO's
- ./screenshots:/app/screenshots/ # Screenshots / Recordings
- supermicro-java-ikvm:/config/ # Persistent Configuration for user preferences
restart: no
volumes:
supermicro-java-ikvm:
name: supermicro-java-ikvm
A sample config for the tls-proxy:
server {
listen 443 default_server ssl;
ssl_certificate /etc/nginx/certs/default.crt;
ssl_certificate_key /etc/nginx/certs/default.key;
location / {
proxy_pass https://${KVM_HOST}:443;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_ssl_server_name on;
proxy_ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
proxy_ssl_ciphers DEFAULT@SECLEVEL=0;
}
}
I'm having the same issue with a AS-2042G-TRF, it might happen because 50-setup-ikvm.sh queries https://$KVM_HOST/cgi/login.cgi, but on this machine it returns a 404, as https://$KVM_HOST/cgi/login.asp exists instead
Per @FoxBuru looks like legacy boards still use TLS 1.0. Could you possibly add an unsecured connection variable to connect using plain HTTP? I see the script only has HTTPS.