This commit is contained in:
Tomáš Dvořák
2025-10-16 13:32:05 +02:00
commit 12cba639b9
663 changed files with 168914 additions and 0 deletions
+155
View File
@@ -0,0 +1,155 @@
# Umami Website Creation Not Working - Debug Steps
## Issue
The Umami website is not being created during setup, resulting in `400 Bad Request` errors from the tracking script.
## Debug Steps
### 1. Check Backend Logs
Look at your backend console/terminal output when you access the setup page. You should see one of these messages:
**Success:**
```
INFO: Umami website ensured for dev domain localhost (ID: abc-123-def)
```
**Failure:**
```
ERROR: Auto-ensure Umami website (dev) failed: <error details>
```
### 2. Test Umami Connection Manually
Open a new PowerShell window and test the connection:
```powershell
# Test 1: Login to Umami
$body = @{
username = "admin"
password = "eevRQ6h3G@!c#y4A1T"
} | ConvertTo-Json
$response = Invoke-RestMethod -Uri "https://umami.tdvorak.dev/api/auth/login" `
-Method Post `
-ContentType "application/json" `
-Body $body
Write-Output "Token received: $($response.token.Substring(0,50))..."
# Test 2: List existing websites
$token = $response.token
$headers = @{
Authorization = "Bearer $token"
}
$websites = Invoke-RestMethod -Uri "https://umami.tdvorak.dev/api/websites" `
-Headers $headers `
-Method Get
Write-Output "Existing websites:"
$websites.data | Format-Table name, domain, id
```
### 3. Check Environment Variables
Verify your `.env` file has all required values:
```bash
UMAMI_URL=https://umami.tdvorak.dev
UMAMI_USERNAME=admin
UMAMI_PASSWORD=eevRQ6h3G@!c#y4A1T
UMAMI_WEBSITE_ID= # Empty (will be auto-created)
APP_ENV=development # Important: allows localhost
```
### 4. Restart Backend
After verifying `.env`, restart your backend:
```bash
# Stop current backend (Ctrl+C)
# Then restart
go run main.go
# or
./fotbal-club
```
### 5. Test Auto-Creation via API
After backend restart, test the endpoint directly:
```powershell
# Call the config endpoint to trigger auto-creation
Invoke-RestMethod -Uri "http://localhost:8080/api/v1/umami/config" `
-Method Get
# Should return:
# {
# "enabled": true,
# "website_id": "abc-123-def",
# "script_url": "https://umami.tdvorak.dev/script.js"
# }
```
### 6. Manual Creation via Admin Panel
If auto-creation fails, use the manual UI:
1. Login to your admin panel
2. Go to **Settings****Umami Analytics** tab
3. Fill in:
- Name: "My Football Club"
- Domain: "localhost" (for development)
4. Click "Vytvořit webovou stránku" (Create Website)
5. Copy the Website ID
6. Add to `.env`: `UMAMI_WEBSITE_ID=<the-id-you-got>`
7. Restart backend
## Common Issues
### Issue: "authentication failed"
**Cause:** Umami credentials are wrong
**Fix:** Verify UMAMI_USERNAME and UMAMI_PASSWORD in `.env` match your Umami admin credentials
### Issue: "domain already exists"
**Cause:** Website for "localhost" was created before
**Solution:**
1. Login to Umami dashboard (https://umami.tdvorak.dev)
2. Find the existing website
3. Copy its ID
4. Add to `.env`: `UMAMI_WEBSITE_ID=<existing-id>`
5. Restart backend
### Issue: Silent failure (no logs)
**Cause:** Backend is not reaching the auto-creation code
**Fix:**
1. Ensure you're calling `/api/v1/umami/config` (not just loading the page)
2. Check if `APP_ENV=development` in `.env`
3. Verify backend is running and accessible
### Issue: "400 Bad Request" from script.js
**Cause:** Website ID doesn't exist in Umami
**Fix:** This is the symptom, not the cause. Follow steps 1-5 above to create the website first.
## Next Steps
1. **Check backend logs** - This will tell you exactly what's failing
2. **Test PowerShell connection** - Verifies Umami credentials work
3. **Try manual creation** - Bypasses auto-creation issues
4. **Report back** - Share the error message from backend logs
## Expected Backend Log Output
When working correctly, you should see:
```
INFO: Successfully authenticated with Umami (new token issued)
INFO: Umami website ensured for dev domain localhost (ID: 12345678-abcd-1234-abcd-123456789012)
INFO: GET /api/v1/umami/config 200
```
When failing, you'll see:
```
ERROR: Auto-ensure Umami website (dev) failed: authentication failed with status 401
```
or
```
ERROR: Auto-ensure Umami website (dev) failed: failed to create website: <details>
```