File size: 3,063 Bytes
e3a2b7f
c924dfe
 
e3a2b7f
 
 
 
 
c924dfe
 
e3a2b7f
 
 
 
 
 
 
 
 
 
 
 
 
 
c924dfe
e3a2b7f
c924dfe
 
 
 
e3a2b7f
 
c924dfe
e3a2b7f
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
#!/bin/sh
# Gokapi HF Space Entrypoint
# Credentials are set via HF Space Secrets (env vars)
set -e

PORT="${GOKAPI_PORT:-7860}"
CONFIG_DIR="${GOKAPI_CONFIG_DIR:-/app/config}"
DATA_DIR="${GOKAPI_DATA_DIR:-/app/data}"
ADMIN_PASS="${GOKAPI_ADMIN_PASS}"
E2E_KEY="${GOKAPI_E2E_KEY}"

echo "=== Gokapi HF Space ==="

/app/gokapi --port "$PORT" --config-dir "$CONFIG_DIR" --data "$DATA_DIR" &
GOKAPI_PID=$!

for i in $(seq 1 30); do
    if curl -s -o /dev/null -w "%{http_code}" "http://localhost:${PORT}/setup/start" 2>/dev/null | grep -q "200"; then
        break
    fi
    sleep 1
done

if [ -f "${CONFIG_DIR}/config.json" ]; then
    echo "Config exists — skipping setup"
else
    echo "Auto-setup..."
    PAYLOAD="[{\"name\":\"dbtype_sel\",\"value\":\"0\"},{\"name\":\"sqlite_location\",\"value\":\"./data/gokapi.sqlite\"},{\"name\":\"redis_location\",\"value\":\"127.0.0.1:6379\"},{\"name\":\"redis_prefix\",\"value\":\"gokapi_\"},{\"name\":\"redis_user\",\"value\":\"\"},{\"name\":\"redis_password\",\"value\":\"\"},{\"name\":\"redis_ssl_sel\",\"value\":\"0\"},{\"name\":\"localhost_sel\",\"value\":\"0\"},{\"name\":\"ssl_sel\",\"value\":\"0\"},{\"name\":\"logip_sel\",\"value\":\"0\"},{\"name\":\"showfilename_sel\",\"value\":\"0\"},{\"name\":\"public_name\",\"value\":\"Sebastian FileShare\"},{\"name\":\"port\",\"value\":\"${PORT}\"},{\"name\":\"url\",\"value\":\"https://antonherQul-gokapi-fileshare.hf.space/\"},{\"name\":\"url_redirection\",\"value\":\"\"},{\"name\":\"authentication_sel\",\"value\":\"0\"},{\"name\":\"auth_username\",\"value\":\"admin\"},{\"name\":\"auth_pw\",\"value\":\"${ADMIN_PASS}\"},{\"name\":\"auth_pw2\",\"value\":\"${ADMIN_PASS}\"},{\"name\":\"oauth_provider\",\"value\":\"\"},{\"name\":\"oauth_id\",\"value\":\"\"},{\"name\":\"oauth_secret\",\"value\":\"\"},{\"name\":\"oauth_admin_user\",\"value\":\"\"},{\"name\":\"oauth_recheck_interval\",\"value\":\"12\"},{\"name\":\"oauth_restrict_groups\",\"value\":\"false\"},{\"name\":\"oauth_scope_groups\",\"value\":\"\"},{\"name\":\"oauth_allowed_groups\",\"value\":\"\"},{\"name\":\"oauth_only_registered_users\",\"value\":\"false\"},{\"name\":\"oauth_redir\",\"value\":\"https://antonherQul-gokapi-fileshare.hf.space/oauth-callback\"},{\"name\":\"auth_headerkey\",\"value\":\"\"},{\"name\":\"auth_header_admin\",\"value\":\"\"},{\"name\":\"auth_header_only_registered_users\",\"value\":\"false\"},{\"name\":\"storage_sel\",\"value\":\"local\"},{\"name\":\"s3_bucket\",\"value\":\"\"},{\"name\":\"s3_region\",\"value\":\"\"},{\"name\":\"s3_api\",\"value\":\"\"},{\"name\":\"s3_secret\",\"value\":\"\"},{\"name\":\"s3_endpoint\",\"value\":\"\"},{\"name\":\"storage_sel_image\",\"value\":\"nochange\"},{\"name\":\"storage_sel_proxy\",\"value\":\"presigned\"},{\"name\":\"encrypt_sel\",\"value\":\"3\"},{\"name\":\"enc_pw\",\"value\":\"${E2E_KEY}\"},{\"name\":\"enc_pw2\",\"value\":\"${E2E_KEY}\"}]"
    curl -s -X POST "http://localhost:${PORT}/setup/setupResult" -H "Content-Type: application/json" -d "$PAYLOAD"
    echo ""
fi

echo "Gokapi running on :${PORT}"
wait $GOKAPI_PID