41 lines
1.2 KiB
Docker
41 lines
1.2 KiB
Docker
FROM cloudron/base:4.2.0
|
|
|
|
# Adding non-free repo for any potential dependencies
|
|
RUN apt-get update && \
|
|
apt-get install -y --no-install-recommends \
|
|
wget \
|
|
ca-certificates \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# Set up directory structure
|
|
RUN mkdir -p /app/code /app/data /tmp/data
|
|
|
|
# Default config file
|
|
COPY easy-gate.json /tmp/data/easy-gate.json
|
|
|
|
# Download and install the latest Easy-gate release
|
|
RUN mkdir -p /tmp/easy-gate && \
|
|
cd /tmp/easy-gate && \
|
|
LATEST_VERSION=$(wget -qO- https://api.github.com/repos/r7wx/easy-gate/releases/latest | grep tag_name | cut -d '"' -f 4) && \
|
|
wget -q https://github.com/r7wx/easy-gate/releases/download/${LATEST_VERSION}/easy-gate_${LATEST_VERSION#v}_linux_amd64.tar.gz && \
|
|
tar -xzf easy-gate_${LATEST_VERSION#v}_linux_amd64.tar.gz && \
|
|
mv easy-gate /app/code/ && \
|
|
chmod +x /app/code/easy-gate && \
|
|
rm -rf /tmp/easy-gate
|
|
|
|
# Prepare start script
|
|
COPY start.sh /app/code/
|
|
RUN chmod +x /app/code/start.sh
|
|
|
|
# Set proper permissions
|
|
RUN chown -R cloudron:cloudron /app/code /app/data /tmp/data
|
|
|
|
# Configure working directory and user
|
|
WORKDIR /app/code
|
|
USER cloudron
|
|
|
|
# Expose the port the app runs on
|
|
EXPOSE 8080
|
|
|
|
# Start the application
|
|
CMD ["/app/code/start.sh"] |