Spaces:
Running
Running
Update Dockerfile
Browse files- Dockerfile +31 -11
Dockerfile
CHANGED
|
@@ -3,7 +3,7 @@ FROM debian:bookworm-slim
|
|
| 3 |
WORKDIR /app
|
| 4 |
|
| 5 |
RUN apt-get update && \
|
| 6 |
-
apt-get install -y wget ca-certificates curl jq gettext-base && \
|
| 7 |
rm -rf /var/lib/apt/lists/*
|
| 8 |
|
| 9 |
# Download latest CLI Proxy API for Linux
|
|
@@ -18,8 +18,13 @@ RUN LATEST_URL=$(curl -s https://api.github.com/repos/router-for-me/CLIProxyAPI/
|
|
| 18 |
# Copy config template
|
| 19 |
COPY config.yaml /app/config.template.yaml
|
| 20 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 21 |
# Create startup script
|
| 22 |
RUN echo '#!/bin/bash\n\
|
|
|
|
| 23 |
\n\
|
| 24 |
# Replace environment variables in config\n\
|
| 25 |
envsubst < /app/config.template.yaml > /app/config.yaml\n\
|
|
@@ -27,16 +32,31 @@ envsubst < /app/config.template.yaml > /app/config.yaml\n\
|
|
| 27 |
# Create auths directory\n\
|
| 28 |
mkdir -p /app/auths\n\
|
| 29 |
\n\
|
| 30 |
-
#
|
| 31 |
-
|
| 32 |
-
|
| 33 |
-
|
| 34 |
-
|
| 35 |
-
|
| 36 |
-
|
| 37 |
-
|
| 38 |
-
|
| 39 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 40 |
\n\
|
| 41 |
exec ./cli-proxy-api -config config.yaml\n\
|
| 42 |
' > /app/start.sh && chmod +x /app/start.sh
|
|
|
|
| 3 |
WORKDIR /app
|
| 4 |
|
| 5 |
RUN apt-get update && \
|
| 6 |
+
apt-get install -y wget ca-certificates curl jq gettext-base inotify-tools && \
|
| 7 |
rm -rf /var/lib/apt/lists/*
|
| 8 |
|
| 9 |
# Download latest CLI Proxy API for Linux
|
|
|
|
| 18 |
# Copy config template
|
| 19 |
COPY config.yaml /app/config.template.yaml
|
| 20 |
|
| 21 |
+
# Create Supabase sync script
|
| 22 |
+
COPY supabase-sync.sh /app/supabase-sync.sh
|
| 23 |
+
RUN chmod +x /app/supabase-sync.sh
|
| 24 |
+
|
| 25 |
# Create startup script
|
| 26 |
RUN echo '#!/bin/bash\n\
|
| 27 |
+
set -e\n\
|
| 28 |
\n\
|
| 29 |
# Replace environment variables in config\n\
|
| 30 |
envsubst < /app/config.template.yaml > /app/config.yaml\n\
|
|
|
|
| 32 |
# Create auths directory\n\
|
| 33 |
mkdir -p /app/auths\n\
|
| 34 |
\n\
|
| 35 |
+
# Download auth files from Supabase Storage\n\
|
| 36 |
+
echo "=== Downloading auth files from Supabase ==="\n\
|
| 37 |
+
/app/supabase-sync.sh download\n\
|
| 38 |
+
\n\
|
| 39 |
+
# Fallback: write from Secrets if Supabase had nothing\n\
|
| 40 |
+
AUTH_COUNT=$(find /app/auths -name "*.json" 2>/dev/null | wc -l)\n\
|
| 41 |
+
if [ "$AUTH_COUNT" -eq 0 ]; then\n\
|
| 42 |
+
echo "No files from Supabase, checking Secrets..."\n\
|
| 43 |
+
for i in $(seq 1 20); do\n\
|
| 44 |
+
var="AUTH_JSON_$i"\n\
|
| 45 |
+
name_var="AUTH_NAME_$i"\n\
|
| 46 |
+
if [ -n "${!var}" ]; then\n\
|
| 47 |
+
filename="${!name_var:-auth_$i.json}"\n\
|
| 48 |
+
echo "${!var}" > "/app/auths/$filename"\n\
|
| 49 |
+
echo "Created /app/auths/$filename from Secret"\n\
|
| 50 |
+
fi\n\
|
| 51 |
+
done\n\
|
| 52 |
+
# Upload initial files to Supabase\n\
|
| 53 |
+
/app/supabase-sync.sh upload-all\n\
|
| 54 |
+
fi\n\
|
| 55 |
+
\n\
|
| 56 |
+
echo "=== Auth files loaded: $(find /app/auths -name "*.json" | wc -l) ==="\n\
|
| 57 |
+
\n\
|
| 58 |
+
# Start file watcher in background (sync changes to Supabase)\n\
|
| 59 |
+
/app/supabase-sync.sh watch &\n\
|
| 60 |
\n\
|
| 61 |
exec ./cli-proxy-api -config config.yaml\n\
|
| 62 |
' > /app/start.sh && chmod +x /app/start.sh
|