feat(rathole): add clean Cloudron package using base 5.0.0 with server/client config and health endpoint
This commit is contained in:
43
CloudronPackages/Rathole/Dockerfile
Normal file
43
CloudronPackages/Rathole/Dockerfile
Normal file
@@ -0,0 +1,43 @@
|
||||
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 \
|
||||
&& 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_MODE=server \
|
||||
RATHOLE_CONFIG_PATH=/app/data/rathole.toml
|
||||
|
||||
EXPOSE 3000
|
||||
|
||||
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"]
|
||||
|
Reference in New Issue
Block a user