Claude super rough first cut of a few packages. Almost certainly entirely unusable...
This commit is contained in:
75
CloudronPackages/Resgrid/Dockerfile
Normal file
75
CloudronPackages/Resgrid/Dockerfile
Normal file
@@ -0,0 +1,75 @@
|
||||
FROM cloudron/base:4.2.0
|
||||
|
||||
# Environment variables
|
||||
ENV RESGRID_VERSION="0.5.30" \
|
||||
DEBIAN_FRONTEND="noninteractive" \
|
||||
DOTNET_RUNNING_IN_CONTAINER=true \
|
||||
DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=false \
|
||||
LC_ALL=en_US.UTF-8 \
|
||||
LANG=en_US.UTF-8
|
||||
|
||||
# Install dependencies
|
||||
RUN apt-get update && apt-get install -y \
|
||||
curl \
|
||||
wget \
|
||||
gnupg2 \
|
||||
apt-transport-https \
|
||||
software-properties-common \
|
||||
supervisor \
|
||||
nginx \
|
||||
vim \
|
||||
unzip \
|
||||
gettext-base \
|
||||
netcat-openbsd \
|
||||
locales \
|
||||
&& locale-gen en_US.UTF-8 \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Install .NET Core
|
||||
RUN curl -SL --output packages-microsoft-prod.deb https://packages.microsoft.com/config/debian/11/packages-microsoft-prod.deb \
|
||||
&& dpkg -i packages-microsoft-prod.deb \
|
||||
&& apt-get update \
|
||||
&& apt-get install -y dotnet-sdk-6.0 \
|
||||
&& rm -f packages-microsoft-prod.deb \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Download and extract Resgrid Docker setup files
|
||||
WORKDIR /tmp
|
||||
RUN wget -q https://github.com/Resgrid/Core/releases/download/v${RESGRID_VERSION}/resgrid.tgz \
|
||||
&& mkdir -p /tmp/resgrid \
|
||||
&& tar -xzf resgrid.tgz -C /tmp/resgrid \
|
||||
&& rm resgrid.tgz
|
||||
|
||||
# Create directory structure
|
||||
RUN mkdir -p /app/code \
|
||||
&& mkdir -p /app/data/config \
|
||||
&& mkdir -p /app/data/logs \
|
||||
&& mkdir -p /app/data/uploads \
|
||||
&& mkdir -p /app/data/backup
|
||||
|
||||
# Copy Resgrid components to the code directory
|
||||
WORKDIR /app/code
|
||||
|
||||
# Setup configuration directory for first run
|
||||
RUN mkdir -p /tmp/data/config
|
||||
|
||||
# Copy configuration files and setup scripts to temporary directory
|
||||
COPY start.sh /app/code/
|
||||
COPY nginx.conf /app/code/
|
||||
COPY supervisord.conf /app/code/
|
||||
COPY resgrid.env.template /app/code/
|
||||
|
||||
# Make start script executable
|
||||
RUN chmod +x /app/code/start.sh
|
||||
|
||||
# Ensure all files have the correct permissions
|
||||
RUN chown -R cloudron:cloudron /app
|
||||
|
||||
# Switch to the cloudron user
|
||||
USER cloudron
|
||||
|
||||
# Expose the port defined in CloudronManifest.json
|
||||
EXPOSE 8000
|
||||
|
||||
# Set the entrypoint to the start script
|
||||
ENTRYPOINT ["/app/code/start.sh"]
|
Reference in New Issue
Block a user