Spaces:
Running
Running
File size: 2,068 Bytes
1d647c5 54777dd 9a077eb 8ac3c5c 5bf8328 9a077eb 8ac3c5c 722d328 170a8ce 2ac221e 90935a4 f6fb9fd b2e6e54 f6fb9fd b2e6e54 f6fb9fd b2e6e54 2ac221e 9a077eb 58b4373 b7b0a80 b2e6e54 b7b0a80 58b4373 1d647c5 8ac3c5c 1d647c5 26b94dc |
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 |
#original repo
FROM ghcr.io/danny-avila/librechat-dev:latest
# Install dependencies
USER root
RUN apk update && apk add --no-cache \
caddy \
python3 \
py3-pip \
py3-dotenv \
git
RUN pip install flask pymongo[srv] --break-system-packages
COPY config.yaml /app/librechat.yaml
#secrets
RUN --mount=type=secret,id=SUDO_SECRET,required=true cat /run/secrets/SUDO_SECRET > /app/sudo.sec
RUN export SUDO_SECRET=$(cat /app/sudo.sec)
RUN --mount=type=secret,id=MONGO_URI,required=true cat /run/secrets/MONGO_URI > /app/mongo.sec
RUN export MONGO_URI=$(cat /app/mongo.sec)
RUN --mount=type=secret,id=FLASK_SECRET,required=true cat /run/secrets/FLASK_SECRET > /app/flask.sec
RUN export FLASK_SECRET=$(cat /app/flask.sec)
# Create admin structure
RUN mkdir -p /app/sudo/{templates,static} \
&& chown -R 1000:1000 /app
# HTML Admin Panel
COPY index-temp.html /app/sudo/templates/index.html
# Admin Backend
COPY app-temp.py /app/sudo/app.py
# Caddy Configuration
RUN mkdir -p /app/caddy/
COPY Caddyfile /app/caddy/Caddyfile
# Startup script
COPY start-temp.sh /app/start.sh
RUN chmod +x /app/start.sh
#####################################################
# Create necessary directories
RUN mkdir -p /app/uploads/temp
RUN mkdir -p /app/client/public/images/temp
RUN mkdir -p /app/api/logs/
RUN mkdir -p /app/data
# Give write permission to the directory
RUN chmod -R 777 /app/uploads/temp
RUN chmod -R 777 /app/client/public/images
RUN chmod -R 777 /app/api/logs/
RUN chmod -R 777 /app/data
# Environment variables
ENV HOST=0.0.0.0 \
PORT=3080 \
SESSION_EXPIRY=900000 \
REFRESH_TOKEN_EXPIRY=604800000 \
SEARCH=true \
MEILI_NO_ANALYTICS=true \
MEILI_HOST=https://martynka-meilisearch.hf.space \
CONFIG_PATH=/app/librechat.yaml \
CUSTOM_FOOTER=EasierIT \
MONGO_URI="$MONGO_URI" \
SUDO_SECRET="$SUDO_SECRET" \
ADMIN_SECRET="$SUDO_SECRET" \
FLASK_SECRET="$FLASK_SECRET" \
NODE_ENV=production
# npm Install aditional dependencies
RUN cd /app/api && npm install
# port
EXPOSE 7860
#endpoint
CMD ["/app/start.sh"] |