Hello! I’m new to fly. I want to deploy my spring-boot app with postgres. I wrote a dockerfile of spring app
FROM openjdk:17
EXPOSE 8080
COPY target/app-0.0.1-SNAPSHOT.jar app.jar
ENV POSTGRES_SCHEMA "pins"
ENTRYPOINT ["java","-jar", "/app.jar"]
I started a postgres service in fly.io succesfully, copied connection address and password and set it to secrets in flyctl flyctl secrets set DATABASE_URL=...
I pushed my docker image to docker hub and wrote in [build] section of fly.toml:
[build]
builder = "paketobuildpacks/builder:base"
image= "myimage..."
But it was saying
Failed to provision a Sentry project for this app. Use `fly ext sentry create` to try again. ERROR: input:3: createAddOn We need your payment information to continue! Add a credit card or buy credit:".
I deleted these lines and again launched flyctl deploy and it seems that it worked out, it used local image instead I guess. But looking into app logs it says the url that was provided to me when I started postgres can't be accepted by JDBC, the error says and the app stopped because of the retries. I updated the secret in the secrets page, trying another jdbc url, and trying to restart the app, but it says could not reserve resource for machine: insufficient memory available to fulfill request. I’m trying to set memory limit to 256 by saying flyctl scale memory 256 but it’s also gives the same error. Is it because postgres already taking up these 256 mbs? I thought it’s 256 to one app? What could be wrong?
UPD: So I figured out postgres is not taking up memory, but it’s still not running, I’m restarting it simply with flyctl deploy. Even making it ENTRYPOINT ["java","-XX:MaxRAM=70M", "-jar", "/app.jar"] doesn’t help. But locally 70m is enough to run my app. What could be the problem? How do I check how much ram is actually used?