diff --git a/Dockerfile b/Dockerfile index 1290fa8..de81a3d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -34,10 +34,9 @@ COPY --from=builder /build/seo-optimizer . COPY --from=builder /build/configs ./configs # Create non-root user -RUN useradd -m -u 1000 appuser && \ - chown -R appuser:appuser /app +RUN useradd -m -u 1000 appuser -USER appuser +COPY docker/entrypoint.sh /usr/local/bin/entrypoint.sh # Expose API port EXPOSE 8080 @@ -47,4 +46,4 @@ HEALTHCHECK --interval=30s --timeout=10s --start-period=10s --retries=3 \ CMD wget --quiet --tries=1 --spider http://localhost:8080/api/v1/health || exit 1 # Run application -ENTRYPOINT ["./seo-optimizer"] +ENTRYPOINT ["/usr/local/bin/entrypoint.sh"] diff --git a/docker/entrypoint.sh b/docker/entrypoint.sh new file mode 100755 index 0000000..91e65e5 --- /dev/null +++ b/docker/entrypoint.sh @@ -0,0 +1,7 @@ +#!/bin/sh +set -e + +mkdir -p /app/data +chown -R appuser:appuser /app/data + +exec su -s /bin/sh appuser -c "/app/seo-optimizer"