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"]