Important: Log Requirement for Troubleshooting
I ran a command to make sure that my environment variable was set correctly within the container:
$ for c in $(docker ps --format '{{.Names}}' | grep sparky); do echo "=== $c ==="; docker exec $c env | grep -i signup; done
=== sparkyfitness-sparkyfitness-frontend-1 ===
=== sparkyfitness-sparkyfitness-server-1 ===
SPARKY_FITNESS_DISABLE_SIGNUP=true
=== sparkyfitness-sparkyfitness-db-1 ===
$
Bug Description
I set "disable signup" to TRUE. The signup page shows, but when I try and signup I get an error
Steps to Reproduce
Steps to reproduce the behavior:
- Go to sparky fitness
- Click signup
- Enter info
- Hit submit
Expected Behavior
No option to try and signup
Actual Behavior
Signup option that fails
Environment
- SparkyFitness Version: SparkyFitness v0.16.5.3
- Running Env: Docker
Relevant Environment Variables (if applicable)
Please list any environment variables you have set that might be relevant to this issue (e.g., API keys, specific configuration flags). Do not share sensitive information like full API keys or passwords.
SPARKY_FITNESS_DISABLE_SIGNUP=true
Preference Settings
Screenshot of your preference settings
Browser Console Log
Please open your browser's developer tools (usually F12 or Ctrl+Shift+I), go to the "Console" tab, and copy-paste any relevant error messages or warnings that appear when the bug occurs.
Make sure you are cleaning the log before re-producing the steps to minimize the total log submitted.
Container Log for SparkyFitness
Please provide the container logs for the sparkyfitness service. You can usually obtain these logs using docker logs sparkyfitness or by checking your container orchestration platform's logging interface.
192.168.1.122 - - [18/Mar/2026:20:18:39 +0000] "GET /images/SparkyFitness.webp HTTP/1.1" 200 3212 "https://sparkyfitness.***.com/login" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"
192.168.1.122 - - [18/Mar/2026:20:18:39 +0000] "GET /api/version/current HTTP/1.1" 304 0 "https://sparkyfitness.***.com/login/login" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"
192.168.1.122 - - [18/Mar/2026:20:18:39 +0000] "GET /locales/en/translation.json HTTP/1.1" 200 30186 "https://sparkyfitness.***.com/login/login" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"
192.168.1.122 - - [18/Mar/2026:20:18:39 +0000] "GET /api/auth/get-session HTTP/1.1" 200 35 "https://sparkyfitness.***.com/login/login" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"
192.168.1.122 - - [18/Mar/2026:20:18:39 +0000] "GET /api/auth/settings HTTP/1.1" 304 0 "https://sparkyfitness.***.com/login/login" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"
192.168.1.122 - - [18/Mar/2026:20:18:40 +0000] "GET /uploads/oidc/oidc-logo-1770418295427-107303582.png HTTP/1.1" 304 0 "https://sparkyfitness.***.com/login/login" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"
192.168.1.122 - - [18/Mar/2026:20:18:40 +0000] "GET /api/auth/passkey/generate-authenticate-options HTTP/1.1" 200 161 "https://sparkyfitness.***.com/login/login" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"
192.168.1.122 - - [18/Mar/2026:20:18:40 +0000] "GET /sw.js HTTP/1.1" 200 2262 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"
192.168.1.122 - - [18/Mar/2026:20:18:40 +0000] "GET /workbox-1d3d89e3.js HTTP/1.1" 200 5901 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"
127.0.0.1 - - [18/Mar/2026:20:18:44 +0000] "GET / HTTP/1.1" 200 2666 "-" "curl/8.14.1"
127.0.0.1 - - [18/Mar/2026:20:18:49 +0000] "GET / HTTP/1.1" 200 2666 "-" "curl/8.14.1"
192.168.1.122 - - [18/Mar/2026:20:18:54 +0000] "POST /api/auth/sign-up/email HTTP/1.1" 400 77 "https://sparkyfitness.***.com/login/login" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"
127.0.0.1 - - [18/Mar/2026:20:18:54 +0000] "GET / HTTP/1.1" 200 2666 "-" "curl/8.14.1"
Container Log for SparkyFitness_Server
Please provide the container logs for the sparkyfitness_server service. You can usually obtain these logs using docker logs sparkyfitness_server or by checking your container orchestration platform's logging interface.
docker logs -f sparkyfitness-sparkyfitness-server-1
[dotenv@17.3.1] injecting env (0) from ../.env -- tip: ⚡️ secrets for agents: https://dotenvx.com/as2
[Secrets] Checking for secret files to load...
[Secrets] No secrets loaded from files.
WARNING: BETTER_AUTH_SECRET is not set!
A temporary secret has been generated to allow the server to start.
IMPORTANT: Please set BETTER_AUTH_SECRET in your .env file to ensure user sessions remain valid across server restarts.
------------------------------------------------------------------
DEBUG: SPARKY_FITNESS_FRONTEND_URL is:##########
SparkyFitnessServer UPLOADS_BASE_DIR: /app/SparkyFitnessServer/uploads
[AUTH] Starting Better Auth mounting phase...
[AUTH] auth.js module is being loaded...
[AUTH] Better Auth handler successfully mounted.
[AUTH] Synced trusted SSO providers for auto-linking: [ 'PocketID' ]
DEBUG: Server started and listening on port 3010
View API documentation at: /api/api-docs/swagger
[AUTH DEBUG] Better Auth is checking trustedProviders. Current list: [ 'PocketID' ]
[AUTH HANDLER] Intercepted request: GET /api/auth/get-session
[AUTH DEBUG] Better Auth is checking trustedProviders. Current list: [ 'PocketID' ]
[AUTH HANDLER] Intercepted request: GET /api/auth/passkey/generate-authenticate-options
[AUTH DEBUG] Better Auth is checking trustedProviders. Current list: [ 'PocketID' ]
[AUTH HANDLER] Intercepted request: POST /api/auth/sign-up/email
[AUTH DEBUG] Better Auth is checking trustedProviders. Current list: [ 'PocketID' ]
[AUTH DEBUG] user.create.before hook triggered. Path: /sign-up/email
[AUTH] Blocking signup: SPARKY_FITNESS_DISABLE_SIGNUP is true
[AUTH HANDLER] Intercepted request: GET /api/auth/get-session
[AUTH DEBUG] Better Auth is checking trustedProviders. Current list: [ 'PocketID' ]
[AUTH HANDLER] Intercepted request: GET /api/auth/passkey/generate-authenticate-options
[AUTH DEBUG] Better Auth is checking trustedProviders. Current list: [ 'PocketID' ]
[AUTH HANDLER] Intercepted request: POST /api/auth/sign-in/sso
[AUTH DEBUG] Better Auth is checking trustedProviders. Current list: [ 'PocketID' ]
[AUTH HANDLER] Intercepted request: GET /api/auth/sso/callback/PocketID?code=e6ZK4ePtaj71aQnH09oZOjqX03STia9e&state=sNNHwx7PX3Yqix304CmRqeQfRxRYR1GI&iss=https%3A%2F%2Fpocketid.***.com
[AUTH DEBUG] Better Auth is checking trustedProviders. Current list: [ 'PocketID' ]
[AUTH] Hook: Session created for user 29dea67e-c1a8-4969-9304-a86cac731870. Checking group sync.
[AUTH HANDLER] Intercepted request: GET /api/auth/get-session
[AUTH DEBUG] Better Auth is checking trustedProviders. Current list: [ 'PocketID' ]
[AUTH HANDLER] Intercepted request: GET /api/auth/get-session
[AUTH DEBUG] Better Auth is checking trustedProviders. Current list: [ 'PocketID' ]
[AUTH HANDLER] Intercepted request: GET /api/auth/get-session
[AUTH DEBUG] Better Auth is checking trustedProviders. Current list: [ 'PocketID' ]
[AUTH HANDLER] Intercepted request: GET /api/auth/get-session
[AUTH DEBUG] Better Auth is checking trustedProviders. Current list: [ 'PocketID' ]
[AUTH HANDLER] Intercepted request: GET /api/auth/get-session
[AUTH DEBUG] Better Auth is checking trustedProviders. Current list: [ 'PocketID' ]
[AUTH HANDLER] Intercepted request: GET /api/auth/get-session
[AUTH DEBUG] Better Auth is checking trustedProviders. Current list: [ 'PocketID' ]
[AUTH HANDLER] Intercepted request: GET /api/auth/passkey/generate-authenticate-options
[AUTH DEBUG] Better Auth is checking trustedProviders. Current list: [ 'PocketID' ]
[AUTH HANDLER] Intercepted request: POST /api/auth/sign-up/email
[AUTH DEBUG] Better Auth is checking trustedProviders. Current list: [ 'PocketID' ]
[AUTH DEBUG] user.create.before hook triggered. Path: /sign-up/email
[AUTH] Blocking signup: SPARKY_FITNESS_DISABLE_SIGNUP is true
Screenshots/Videos (Optional)
If applicable, add screenshots or a short video to help explain your problem.
Additional Context
Add any other context about the problem here.
Important: Log Requirement for Troubleshooting
I ran a command to make sure that my environment variable was set correctly within the container:
$ for c in $(docker ps --format '{{.Names}}' | grep sparky); do echo "=== $c ==="; docker exec $c env | grep -i signup; done
=== sparkyfitness-sparkyfitness-frontend-1 ===
=== sparkyfitness-sparkyfitness-server-1 ===
SPARKY_FITNESS_DISABLE_SIGNUP=true
=== sparkyfitness-sparkyfitness-db-1 ===
$
Bug Description
I set "disable signup" to TRUE. The signup page shows, but when I try and signup I get an error
Steps to Reproduce
Steps to reproduce the behavior:
Expected Behavior
No option to try and signup
Actual Behavior
Signup option that fails
Environment
Relevant Environment Variables (if applicable)
Please list any environment variables you have set that might be relevant to this issue (e.g., API keys, specific configuration flags). Do not share sensitive information like full API keys or passwords.
Preference Settings
Screenshot of your preference settings
Browser Console Log
Please open your browser's developer tools (usually F12 or Ctrl+Shift+I), go to the "Console" tab, and copy-paste any relevant error messages or warnings that appear when the bug occurs.
Make sure you are cleaning the log before re-producing the steps to minimize the total log submitted.
Container Log for SparkyFitness
Please provide the container logs for the
sparkyfitnessservice. You can usually obtain these logs usingdocker logs sparkyfitnessor by checking your container orchestration platform's logging interface.Container Log for SparkyFitness_Server
Please provide the container logs for the
sparkyfitness_serverservice. You can usually obtain these logs usingdocker logs sparkyfitness_serveror by checking your container orchestration platform's logging interface.Screenshots/Videos (Optional)
If applicable, add screenshots or a short video to help explain your problem.
Additional Context
Add any other context about the problem here.