- Update CloudronManifest.json to use modern format with proper ID, health check, and metadata
- Fix Dockerfile to follow Cloudron conventions (/app/code, /app/data structure)
- Correct Rathole configuration format (default_token instead of token, add services section)
- Fix start.sh to use proper --server flag syntax
- Add health check endpoint on port 8080
- Create comprehensive build notes documentation
- Successfully build and test package - both ports 2333 (Rathole) and 8080 (health) working
🤖 Generated with assistance from OpenCode for code optimization and testing
38 lines
942 B
Docker
38 lines
942 B
Docker
FROM cloudron/base:4.2.0
|
|
|
|
# Install necessary tools
|
|
RUN apt-get update && apt-get install -y \
|
|
curl \
|
|
unzip \
|
|
python3 \
|
|
--no-install-recommends && \
|
|
rm -rf /var/lib/apt/lists/*
|
|
|
|
# Set up directory structure following Cloudron conventions
|
|
RUN mkdir -p /app/code /app/data
|
|
|
|
# Download and extract Rathole (using a more reliable approach)
|
|
RUN cd /tmp && \
|
|
curl -L -o rathole.zip https://github.com/rathole-org/rathole/releases/download/v0.5.0/rathole-x86_64-unknown-linux-gnu.zip && \
|
|
unzip rathole.zip && \
|
|
mv rathole /app/code/ && \
|
|
chmod +x /app/code/rathole && \
|
|
rm -f rathole.zip
|
|
|
|
# Copy start script
|
|
COPY start.sh /app/code/start.sh
|
|
RUN chmod +x /app/code/start.sh
|
|
|
|
# Set proper permissions
|
|
RUN chown -R cloudron:cloudron /app/code /app/data
|
|
|
|
# Configure working directory and user
|
|
WORKDIR /app/code
|
|
USER cloudron
|
|
|
|
# Expose ports
|
|
EXPOSE 2333 8080
|
|
|
|
# Start the application
|
|
CMD ["/app/code/start.sh"]
|