DanielleNguyen commited on
Commit
e4d265f
·
verified ·
1 Parent(s): 60ec432

Update Dockerfile

Browse files
Files changed (1) hide show
  1. 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
- # Write auth JSON files from environment variables\n\
31
- for i in $(seq 1 20); do\n\
32
- var="AUTH_JSON_$i"\n\
33
- name_var="AUTH_NAME_$i"\n\
34
- if [ -n "${!var}" ]; then\n\
35
- filename="${!name_var:-auth_$i.json}"\n\
36
- echo "${!var}" > "/app/auths/$filename"\n\
37
- echo "Created /app/auths/$filename"\n\
38
- fi\n\
39
- done\n\
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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