Claude super rough first cut of a few packages. Almost certainly entirely unusable...
This commit is contained in:
79
CloudronPackages/Grist/Dockerfile
Normal file
79
CloudronPackages/Grist/Dockerfile
Normal file
@@ -0,0 +1,79 @@
|
||||
FROM cloudron/base:4.2.0
|
||||
|
||||
# Add Cloudron specific environment
|
||||
ENV CLOUDRON=1 \
|
||||
HOME=/app/data \
|
||||
LC_ALL=C.UTF-8 \
|
||||
LANG=C.UTF-8 \
|
||||
USER=cloudron \
|
||||
PORT=8080 \
|
||||
PYTHON_VERSION=3 \
|
||||
PYTHON_VERSION_ON_CREATION=3 \
|
||||
DEBUG=0
|
||||
|
||||
# Install required dependencies
|
||||
RUN apt-get update && \
|
||||
apt-get install -y --no-install-recommends \
|
||||
wget \
|
||||
gnupg \
|
||||
supervisor \
|
||||
python3 \
|
||||
python3-pip \
|
||||
python3-setuptools \
|
||||
python3-wheel \
|
||||
python3-venv \
|
||||
build-essential \
|
||||
pkg-config \
|
||||
xvfb \
|
||||
xauth \
|
||||
libcairo2-dev \
|
||||
libpango1.0-dev \
|
||||
libglib2.0-dev \
|
||||
nodejs \
|
||||
npm \
|
||||
git \
|
||||
sqlite3 \
|
||||
curl \
|
||||
ca-certificates && \
|
||||
apt-get clean && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Create required directories
|
||||
RUN mkdir -p /app/code /app/data /app/pkg /app/log && \
|
||||
mkdir -p /app/data/docs
|
||||
|
||||
# Clone Grist
|
||||
WORKDIR /app/pkg
|
||||
RUN git clone --depth 1 https://github.com/gristlabs/grist-core.git && \
|
||||
cd grist-core && \
|
||||
npm install && \
|
||||
npm run build && \
|
||||
cd /app/pkg
|
||||
|
||||
# Set up supervisor config
|
||||
COPY supervisor.conf /etc/supervisor/conf.d/grist.conf
|
||||
COPY nginx.conf /app/pkg/nginx.conf
|
||||
|
||||
# Nginx site configuration
|
||||
COPY nginx-app.conf /etc/nginx/sites-available/grist
|
||||
RUN ln -sf /etc/nginx/sites-available/grist /etc/nginx/sites-enabled/grist && \
|
||||
rm -f /etc/nginx/sites-enabled/default
|
||||
|
||||
# Add scripts
|
||||
COPY start.sh /app/pkg/
|
||||
RUN chmod +x /app/pkg/start.sh
|
||||
|
||||
# Set up initialization data
|
||||
COPY --chown=cloudron:cloudron init_data/ /app/pkg/init_data/
|
||||
|
||||
# Set ownership
|
||||
RUN chown -R cloudron:cloudron /app/code /app/data /app/pkg /app/log
|
||||
|
||||
# Set working directory
|
||||
WORKDIR /app/pkg
|
||||
|
||||
# Run as cloudron user
|
||||
USER cloudron
|
||||
|
||||
# Start application
|
||||
CMD ["/app/pkg/start.sh"]
|
Reference in New Issue
Block a user