FROM cloudron/base:5.0.0 ARG RATHOLE_VERSION=v0.5.0 ARG ARCH=x86_64-unknown-linux-gnu USER root RUN apt-get update \ && apt-get install -y --no-install-recommends curl ca-certificates tar python3 \ && rm -rf /var/lib/apt/lists/* WORKDIR /app/pkg # Download Rathole release binary (adjust version/arch via build args) RUN set -eux; \ url="https://github.com/rathole-org/rathole/releases/download/${RATHOLE_VERSION}/rathole-${ARCH}.tar.gz"; \ echo "Fetching ${url}"; \ curl -fsSL "$url" -o rathole.tar.gz; \ tar -xzf rathole.tar.gz; \ rm rathole.tar.gz; \ mv rathole /app/pkg/rathole; \ chmod +x /app/pkg/rathole; \ chown cloudron:cloudron /app/pkg/rathole # Start script COPY start.sh /app/pkg/start.sh RUN chmod +x /app/pkg/start.sh && chown cloudron:cloudron /app/pkg/start.sh WORKDIR /app/code RUN mkdir -p /app/data && chown -R cloudron:cloudron /app/data USER cloudron ENV APP_PORT=3000 \ RATHOLE_CONFIG_PATH=/app/data/rathole.toml EXPOSE 3000 2333 HEALTHCHECK --interval=30s --timeout=5s --start-period=20s --retries=3 \ CMD curl -fsS http://127.0.0.1:${APP_PORT}/ || exit 1 CMD ["/app/pkg/start.sh"]