| FROM postgres:17-alpine | |
| USER root | |
| RUN apk add --no-cache \ | |
| ca-certificates \ | |
| tzdata \ | |
| redis \ | |
| su-exec \ | |
| tar \ | |
| gzip \ | |
| openssl | |
| RUN addgroup -S app && \ | |
| adduser -S -G app -s /bin/sh app | |
| WORKDIR /tmp/payload | |
| COPY bundle.tar.gz /tmp/payload/bundle.tar.gz | |
| RUN set -eux; \ | |
| tar -xzf /tmp/payload/bundle.tar.gz; \ | |
| mkdir -p /app/data; \ | |
| cp /tmp/payload/runtime/server /app/server; \ | |
| cp /tmp/payload/runtime/boot.sh /app/boot.sh; \ | |
| chmod +x /app/server /app/boot.sh | |
| COPY start.sh /app/start.sh | |
| RUN chmod +x /app/start.sh && \ | |
| chown -R app:app /app && \ | |
| rm -rf /tmp/payload | |
| WORKDIR /app | |
| EXPOSE 8080 | |
| ENTRYPOINT ["/app/start.sh"] | |