mirror of
https://github.com/Dvorinka/MyClubServer.git
synced 2026-06-04 02:32:57 +00:00
upload
This commit is contained in:
@@ -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>
|
||||
```
|
||||
Reference in New Issue
Block a user