I have been running the (mostly) same custom Alpine container since ±NxRM v3.37 .
Multiple issues now:
- Nexus startup script fails (issue similar to Shell Compatibility Issue in Nexus Repository 3.78.2-04 Startup Script, but I’ll add some details)
- the script ($NEXUS_HOME/bin/nexus) relies on ps . By default, Alpine uses busybox ps, with a reduced option/feature set than the procps package’s set. ← this is a regression, that issue never arose before. It can be worked around with apk add procps within the container.
- startup never occurs, never completes, no error output, more on my specs below, but one thing to note: I migrated from 3.73 (no issue there) to 3.78.
Directory structure:
- nexus user is in /opt/nexus3 .
- nexus binaries are in /opt/nexus3/nexus-3.78.2-04/ (there’s a symlink :
ln -s /opt/nexus3/nexus-3.78.2-04 /opt/nexus3/nexus
for backward compatibility issues) - sonatype work is /opt/nexus3/sonatype-work/nexus3
Server listens on https ; I use the same /opt/nexus/nexus3/nexus/etc/jetty/jetty-https.xml and /opt/nexus3/sonatype-work/nexus3/etc/nexus.properties since, … well since forever.
If there was a breaking change between 3.73 and now, it was not mentioned anywhere.
For debugging purposes, I’ve tweaked the startup script so it outputs all of its variables in /tmp/vars.txt. Here’s /tmp/vars.txt, if it helps :
DEBUG START: Tue Mar 25 14:50:31 EDT 2025
original_dir=/opt/nexus3/nexus/bin
actualfile=/opt/nexus3/nexus-3.78.2-04/bin/nexus-dbg
progname=nexus-dbg
linkdir=/opt/nexus3/nexus-3.78.2-04/bin
HOME=/opt/nexus3/nexus-3.78.2-04/bin
bootJar=/opt/nexus3/nexus-3.78.2-04/bin/sonatype-nexus-repository-3.78.2-04.jar
PARENT=/opt/nexus3/nexus-3.78.2-04
EMBEDDED_JDK=/opt/nexus3/nexus-3.78.2-04/jdk/temurin_17.0.13_11_linux_x86_64/jdk-17.0.13+11
run_as_user=
run_as_root=false
user_id=1000
user_name=nexus
app_java_home=/opt/nexus3/nexus-3.78.2-04/jdk/temurin_17.0.13_11_linux_x86_64/jdk-17.0.13+11
INSTALL4J_ADD_VM_PARAMS= -Xms2703m -Xmx2703m -XX:+UnlockDiagnosticVMOptions -XX:+LogVMOutput -XX:LogFile=…/sonatype-work/nexus3/log/jvm.log -XX:-OmitStackTraceInFastThrow -Dkaraf.home=. -Dkaraf.base=. -Djava.util.logging.config.file=etc/spring/java.util.logging.properties -Dkaraf.data=…/sonatype-work/nexus3 -Dkaraf.log=…/sonatype-work/nexus3/log -Djava.io.tmpdir=…/sonatype-work/nexus3/tmp -Djdk.tls.ephemeralDHKeySize=2048 --add-reads=java.xml=java.logging --add-opens java.base/java.security=ALL-UNNAMED --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.naming/javax.naming.spi=ALL-UNNAMED --add-opens java.rmi/sun.rmi.transport.tcp=ALL-UNNAMED --add-exports=java.base/sun.net.www.protocol.http=ALL-UNNAMED --add-exports=java.base/sun.net.www.protocol.https=ALL-UNNAMED --add-exports=java.base/sun.net.www.protocol.jar=ALL-UNNAMED --add-exports=jdk.xml.dom/org.w3c.dom.html=ALL-UNNAMED --add-exports=jdk.naming.rmi/com.sun.jndi.url.rmi=ALL-UNNAMED --add-exports=java.security.sasl/com.sun.security.sasl=ALL-UNNAMED --add-exports=java.base/sun.security.x509=ALL-UNNAMED --add-exports=java.base/sun.security.rsa=ALL-UNNAMED --add-exports=java.base/sun.security.pkcs=ALL-UNNAMED
data_dir=/opt/nexus3/sonatype-work/nexus3
pidfile=/opt/nexus3/sonatype-work/nexus3/nexus.pid
Starting Nexus