Spaces:
Runtime error
Runtime error
File size: 2,389 Bytes
b778f8d 5341e74 9f97180 db9f671 5341e74 a240151 b778f8d a240151 b778f8d 5341e74 c6d4e5d da9dd3b 5341e74 a240151 5341e74 b778f8d da9dd3b a240151 da9dd3b 5341e74 a240151 bd58e89 da9dd3b bd58e89 da9dd3b b778f8d 5341e74 9f97180 b778f8d a240151 b778f8d 9f97180 5341e74 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 | FROM ubuntu:22.04
# Create non-root user
RUN useradd -m -u 1000 user
# Set environment variables
ENV HOME=/home/user \
PATH=/home/user/.local/bin:$PATH \
JWT_ALGORITHM=RS256 \
API_AUTH_TOKEN=secret \
DASHBOARD_USERNAME=dashboard \
DASHBOARD_PASSWORD=secret \
SECRET_KEY_BASE=secret-key-base
# Install minimal dependencies
RUN apt-get update && apt-get install -y \
curl \
nginx \
&& rm -rf /var/lib/apt/lists/*
# Install Node.js and pnpm
RUN curl -fsSL https://deb.nodesource.com/setup_20.x | bash - && \
apt-get update && \
apt-get install -y nodejs && \
npm install -g corepack && \
rm -rf /var/lib/apt/lists/*
# Enable pnpm
RUN corepack enable && corepack prepare pnpm@latest --activate
# Create directories and set permissions
RUN mkdir -p $HOME/app && \
mkdir -p $HOME/app/docauth && \
mkdir -p $HOME/app/aia && \
mkdir -p /var/cache/nginx && \
mkdir -p /var/log/nginx && \
mkdir -p /var/lib/nginx && \
mkdir -p /run/nginx && \
touch /var/run/nginx.pid && \
chown -R user:user $HOME && \
chown -R user:user /var/cache/nginx && \
chown -R user:user /var/log/nginx && \
chown -R user:user /var/lib/nginx && \
chown -R user:user /var/run/nginx.pid && \
chown -R user:user /run/nginx
# Copy AI Assistant app
COPY --from=pspdfkit/ai-assistant:nightly /base $HOME/app/aia
COPY --chown=node:node service-config.yml /service-config.yml
RUN chown -R user:user $HOME/app/aia
# Copy nginx configuration and replace license key
COPY nginx.conf /etc/nginx/nginx.conf
RUN --mount=type=secret,id=DOCAUTH_LICENSE_KEY,mode=0444,required=true \
sed -i "s/\$DOCAUTH_LICENSE_KEY/$(cat /run/secrets/DOCAUTH_LICENSE_KEY)/g" /etc/nginx/nginx.conf
# Copy web files
COPY --chown=user:user index.html $HOME/app/docauth/
COPY --chown=user:user document-authoring.js $HOME/app/docauth/
COPY --chown=user:user Sample.docx $HOME/app/docauth/
# Copy auth service files
COPY --chown=user:user auth-service.js $HOME/app/auth/
COPY --chown=user:user package.json $HOME/app/auth/
# Copy start script
COPY --chown=user:user start-services.sh $HOME/app/
RUN chmod +x $HOME/app/start-services.sh
# Install auth service dependencies
RUN cd $HOME/app/auth && pnpm install
# Switch to non-root user
USER user
WORKDIR $HOME/app
# Expose port 4000 for AI Assistant
EXPOSE 4000
CMD ["./start-services.sh"]
|