Update Dockerfile
Browse files- Dockerfile +31 -18
Dockerfile
CHANGED
|
@@ -95,24 +95,37 @@ RUN echo '[supervisord]'
|
|
| 95 |
&& echo 'stderr_logfile=/dev/stderr' >> /data/supervisor/conf.d/supervisord.conf \
|
| 96 |
&& echo 'stderr_logfile_maxbytes=0' >> /data/supervisor/conf.d/supervisord.conf
|
| 97 |
|
| 98 |
-
RUN echo '#!/bin/bash'
|
| 99 |
-
&& echo '
|
| 100 |
-
&& echo 'echo "
|
| 101 |
-
&& echo '
|
| 102 |
-
&& echo '
|
| 103 |
-
&& echo '
|
| 104 |
-
&& echo '
|
| 105 |
-
&& echo '
|
| 106 |
-
&& echo '
|
| 107 |
-
&& echo '
|
| 108 |
-
&& echo '
|
| 109 |
-
&& echo '
|
| 110 |
-
&& echo '
|
| 111 |
-
&& echo '
|
| 112 |
-
&& echo '
|
| 113 |
-
&& echo '
|
| 114 |
-
&& echo '
|
| 115 |
-
&& echo '
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 116 |
&& chmod +x /app/start_zrok.sh
|
| 117 |
|
| 118 |
# 8. Entrypoint
|
|
|
|
| 95 |
&& echo 'stderr_logfile=/dev/stderr' >> /data/supervisor/conf.d/supervisord.conf \
|
| 96 |
&& echo 'stderr_logfile_maxbytes=0' >> /data/supervisor/conf.d/supervisord.conf
|
| 97 |
|
| 98 |
+
RUN echo '#!/bin/bash' > /app/start_zrok.sh \
|
| 99 |
+
&& echo 'if [ -z "$ZROK_TOKEN" ]; then' >> /app/start_zrok.sh \
|
| 100 |
+
&& echo ' echo "ZROK_TOKEN not set, skipping zrok"' >> /app/start_zrok.sh \
|
| 101 |
+
&& echo ' sleep infinity' >> /app/start_zrok.sh \
|
| 102 |
+
&& echo ' exit 0' >> /app/start_zrok.sh \
|
| 103 |
+
&& echo 'fi' >> /app/start_zrok.sh \
|
| 104 |
+
&& echo 'export HOME=/data/zrok-home' >> /app/start_zrok.sh \
|
| 105 |
+
&& echo 'mkdir -p "$HOME"' >> /app/start_zrok.sh \
|
| 106 |
+
&& echo 'ZROK_API="${ZROK_API_ENDPOINT:-https://api-v1.zrok.io}"' >> /app/start_zrok.sh \
|
| 107 |
+
&& echo 'zrok config set apiEndpoint "$ZROK_API"' >> /app/start_zrok.sh \
|
| 108 |
+
&& echo 'if [ ! -f "$HOME/.zrok/environment.json" ]; then' >> /app/start_zrok.sh \
|
| 109 |
+
&& echo ' echo "Enabling zrok..."' >> /app/start_zrok.sh \
|
| 110 |
+
&& echo ' zrok enable "$ZROK_TOKEN" --headless' >> /app/start_zrok.sh \
|
| 111 |
+
&& echo ' if [ $? -ne 0 ]; then echo "zrok enable failed"; sleep infinity; exit 1; fi' >> /app/start_zrok.sh \
|
| 112 |
+
&& echo 'fi' >> /app/start_zrok.sh \
|
| 113 |
+
&& echo 'SHARE_FILE="$HOME/.zrok/reserved_share"' >> /app/start_zrok.sh \
|
| 114 |
+
&& echo 'if [ -n "$ZROK_SHARE_NAME" ]; then' >> /app/start_zrok.sh \
|
| 115 |
+
&& echo ' SHARE_TOKEN="$ZROK_SHARE_NAME"' >> /app/start_zrok.sh \
|
| 116 |
+
&& echo 'elif [ -f "$SHARE_FILE" ]; then' >> /app/start_zrok.sh \
|
| 117 |
+
&& echo ' SHARE_TOKEN=$(cat "$SHARE_FILE")' >> /app/start_zrok.sh \
|
| 118 |
+
&& echo ' echo "Using existing reserved share: $SHARE_TOKEN"' >> /app/start_zrok.sh \
|
| 119 |
+
&& echo 'else' >> /app/start_zrok.sh \
|
| 120 |
+
&& echo ' echo "Creating new reserved share..."' >> /app/start_zrok.sh \
|
| 121 |
+
&& echo ' SHARE_TOKEN=$(zrok reserve public http://localhost:7860 2>&1 | grep "token is" | awk "{print \$NF}" | tr -d "'"'"'")' >> /app/start_zrok.sh \
|
| 122 |
+
&& echo ' if [ -z "$SHARE_TOKEN" ]; then echo "Failed to create reserved share"; sleep infinity; exit 1; fi' >> /app/start_zrok.sh \
|
| 123 |
+
&& echo ' echo "$SHARE_TOKEN" > "$SHARE_FILE"' >> /app/start_zrok.sh \
|
| 124 |
+
&& echo ' echo "Reserved share created: $SHARE_TOKEN"' >> /app/start_zrok.sh \
|
| 125 |
+
&& echo ' echo "URL: https://${SHARE_TOKEN}.share.zrok.io"' >> /app/start_zrok.sh \
|
| 126 |
+
&& echo 'fi' >> /app/start_zrok.sh \
|
| 127 |
+
&& echo 'echo "Starting zrok share reserved: $SHARE_TOKEN"' >> /app/start_zrok.sh \
|
| 128 |
+
&& echo 'exec zrok share reserved "$SHARE_TOKEN" --headless' >> /app/start_zrok.sh \
|
| 129 |
&& chmod +x /app/start_zrok.sh
|
| 130 |
|
| 131 |
# 8. Entrypoint
|