7.0 KiB
Docker Environment Status Report
Generated: October 21, 2025 @ 09:45 AM
Environment: Development (Docker)
🟢 Overall Status: OPERATIONAL
All critical services are running and accepting connections. Minor health check issue on frontend (cosmetic - does not affect functionality).
📊 Container Status
1. Backend (myclub-backend) ✅ HEALTHY
- Container ID:
2f6ca942fc79 - Image:
fotbal-club-backend - Status: Up 16 minutes
- Health: ✅ HEALTHY
- Port:
8080:8080(Host:Container) - CPU Usage: 0.00%
- Memory: 49.86 MiB / 2 GiB
- Network I/O: 1.51MB sent / 1.11MB received
- Health Check:
wget http://localhost:8080/api/v1/health→ ✅ PASSING
Backend API Response:
{
"status": "ok"
}
Recent Activity (Last 50 lines):
- ✅ API endpoints responding normally (200 OK)
- ✅ Database queries executing successfully
- ✅ Cache system operational
- ✅ CORS configured properly
- ✅ All routes accessible
Sample Requests:
GET /api/v1/settings → 200 (2.96ms)
GET /api/v1/players → 200 (2.99ms)
GET /api/v1/articles → 200 (1.91ms)
GET /api/v1/sponsors → 200 (2.97ms)
2. Frontend (myclub-frontend) ⚠️ UNHEALTHY (but functional)
- Container ID:
26adece8cbc1 - Image:
fotbal-club-frontend - Status: Up 16 minutes
- Health: ⚠️ UNHEALTHY (false positive)
- Port:
3000:80(Host:Container) - CPU Usage: 0.00%
- Memory: 15.95 MiB / 1 GiB
- Network I/O: 435kB sent / 21.2MB received
- HTTP Status: ✅ 200 OK (verified with curl)
Health Check Issue: The container health check is failing because:
Health Check: wget http://localhost:80/
Error: "wget: can't connect to remote host: Connection refused"
Root Cause: The health check is trying localhost:80 from inside the container, but Nginx might be binding differently. However, the frontend IS working perfectly when accessed from the host machine at http://localhost:3000.
Recent Activity:
- ✅ Serving React application successfully
- ✅ All static assets loading (main.js, main.css)
- ⚠️ Some missing image files (expected - need to be uploaded):
/images/club-logo.png→ 404/images/club-opponent.png→ 404/images/news/placeholder.jpg→ 404/dist/img/logo-club-empty.svg→ 404
User Access Logs:
GET /admin/hraci → 200
GET /admin/clanky → 200
GET /admin/o-klubu → 200
GET / → 200 (homepage working)
3. Database (myclub-db) ✅ HEALTHY
- Container ID:
7f5ef9341913 - Image:
postgres:15-alpine - Status: Up 16 minutes
- Health: ✅ HEALTHY
- Port:
5432:5432(Host:Container) - CPU Usage: 0.00%
- Memory: 100.8 MiB / 2 GiB
- Network I/O: 732kB sent / 1.13MB received
- Health Check:
pg_isready -U postgres→ ✅ PASSING
Database Configuration:
User: postgres
Database: fotbal_club
Encoding: UTF-8
Max Connections: 200
Shared Buffers: 256MB
Recent Activity:
- ✅ Accepting connections
- ✅ Query execution normal
- ✅ GORM queries optimized and using prepared statements
- ✅ No connection pool exhaustion
Sample Queries:
SELECT * FROM "sponsors" WHERE "deleted_at" IS NULL → 0.079ms
SELECT * FROM "articles" WHERE featured = 't' → 0.062ms
SELECT * FROM "players" → executing normally
🌐 Port Mappings & Accessibility
| Service | Internal Port | External Port | Accessible From Host | Status |
|---|---|---|---|---|
| Frontend | 80 | 3000 | http://localhost:3000 | ✅ Working |
| Backend API | 8080 | 8080 | http://localhost:8080 | ✅ Working |
| Database | 5432 | 5432 | localhost:5432 | ✅ Working |
Verification:
✅ curl http://localhost:3000/ → HTTP 200
✅ curl http://localhost:8080/api/v1/health → {"status": "ok"}
✅ Backend accessible from frontend (API calls working)
🔧 Important Notes
1. Rich Text Editor CSS Fix Status
⚠️ The CSS fix I applied is NOT yet active in the running container
The changes made to fix the rich text editor visibility are in the source code:
- ✅
frontend/src/index.tsx- CSS imports added - ✅
frontend/src/components/common/CustomRichEditor.tsx- Cleaned up
However: The Docker container is running a pre-built version of the frontend from before the fix.
To apply the fix, you need to rebuild:
# Option 1: Rebuild just the frontend
docker-compose build frontend
docker-compose up -d frontend
# Option 2: Rebuild everything
docker-compose down
docker-compose build
docker-compose up -d
2. Frontend Health Check False Positive
The frontend shows as "unhealthy" but is actually working perfectly. This is a Docker health check configuration issue, not a functional problem.
To fix permanently (optional):
Edit docker-compose.yml line 76:
# CURRENT (failing):
healthcheck:
test: ["CMD", "wget", "--spider", "-q", "http://localhost:80/"]
# BETTER:
healthcheck:
test: ["CMD", "wget", "--spider", "-q", "http://127.0.0.1:80/"]
# or
test: ["CMD", "curl", "-f", "http://127.0.0.1:80/"]
3. Missing Static Files
These are expected missing files that should be uploaded via the admin panel:
- Club logo
- Club opponent logo
- News placeholder images
These don't affect functionality - just placeholder images won't show.
📝 Action Items
Immediate (To Apply Rich Editor Fix):
-
⚠️ Rebuild frontend container to get the CSS fix:
docker-compose build frontend docker-compose restart frontend -
🔄 Clear browser cache after restart:
- Hard refresh:
Ctrl+Shift+R(Linux/Windows) orCmd+Shift+R(Mac)
- Hard refresh:
Optional Improvements:
- 🔧 Fix frontend health check in
docker-compose.yml - 📸 Upload club logos via admin panel to eliminate 404s
- 🗄️ Verify database migrations are complete
🎯 Performance Summary
| Metric | Status | Details |
|---|---|---|
| Backend Response Time | ✅ Excellent | 0.5-12ms average |
| Memory Usage | ✅ Normal | All containers < 50% of limits |
| CPU Usage | ✅ Idle | 0% (no active load) |
| Network I/O | ✅ Healthy | Minimal overhead |
| Database Queries | ✅ Optimized | Using prepared statements |
🚀 Quick Reference Commands
# View logs
docker logs myclub-backend --tail 50
docker logs myclub-frontend --tail 50
docker logs myclub-db --tail 50
# Check health
docker ps
docker inspect myclub-backend --format='{{.State.Health.Status}}'
# Restart services
docker-compose restart backend
docker-compose restart frontend
# Rebuild and restart
docker-compose build frontend
docker-compose up -d
# Access database
docker exec -it myclub-db psql -U postgres -d fotbal_club
✅ Conclusion
System is fully operational with one cosmetic health check warning that doesn't affect functionality.
Next Step: Rebuild the frontend container to apply the rich text editor CSS fix, then verify the editor is visible in the admin panel.