#!/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