Hello,
I’m encountering an issue when updating my custom app: I get a Read-only file system error, but I’m unsure why it only occurs during updates. The deployment to a new URL works fine, but when updating, I see the following error:
Jul 28 17:00:02 mkdir: can't create directory '/certs/ca': Read-only file system
My app is a Java application with the following Docker configuration:
FROM cloudron/base:4.2.0@sha256:46da2fffb36353ef714f97ae8e962bd2c212ca091108d768ba473078319a47f4
RUN mkdir -p /app/code
WORKDIR /app/code
RUN apt-get update && apt-get install -y openjdk-21-jdk-headless && rm -rf /var/cache/apt /var/lib/apt/lists
# copy code
ADD ./cicd/start.sh /app/code/
COPY ./target/back-0.0.1-SNAPSHOT.jar /app/code/back.jar
COPY ./src/main/resources/application-prod.properties /app/code/application-prod.properties
CMD [ "/app/code/start.sh" ]
The start.sh script is as follows:
#!/bin/bash
set -eu
chown -R cloudron:cloudron /app/data
echo "Starting app server"
exec gosu cloudron:cloudron java -jar myApp.jar --spring.profiles.active=prod
During the first deployment, everything works correctly, and the app starts fine. However, when I update the JAR file, I encounter this error:
Jul 28 17:03:03 mkdir: can't create directory '/certs/ca': Read-only file system
Jul 28 17:03:47 => Healtheck error: Error: Timeout of 7000ms exceeded
Jul 28 17:03:56 => Healtheck error: Error: connect EHOSTUNREACH 172.18.18.128:8080
Here is the manifest used for deploying my app:
{
"version": "0.0.2",
"healthCheckPath": "/",
"httpPort": 8080,
"addons": {
"localstorage": {},
"postgresql": {},
"redis": {}
},
"icon": "file://logo.png",
"manifestVersion": 2
}
I have checked various forums and the web but couldn’t find any solutions specific to my issue. Could anyone help me with this?
Thanks and have a nice day!