02d7f09824
Add GITEA_REPO_URL for authenticated clone, improve startup logging, default FRONTEND_PORT to 8082, and update deployment README. Co-authored-by: Cursor <cursoragent@cursor.com>
3.0 KiB
3.0 KiB
Slavic Pulse - Frontend (Dokploy Deployment)
Statyczna strona z intro YouTube (short FHD 16:9 lub vertical 9:16 — wybór po formacie viewportu). Tło przed filmem to miniaturka z YouTube. Konfiguracja w .env, HTML generowany przy starcie kontenera.
Struktura projektu
site-slavic-pulse-com/
├── docker-compose.yml # Lokalny dev (build z Dockerfile)
├── Dockerfile
├── default.conf
├── index.html.template # Szablon strony
├── generate-from-env.sh # Generator HTML z .env
├── assets/imgs/favico/ # Favicony
├── site.webmanifest.template
└── docker-compose-example/ # Pliki deploymentowe Dokploy
├── docker-compose.yml
├── .env.example
└── README.md
Dokploy deployment
Kroki w Dokploy UI:
- Nowa aplikacja → wklej
docker-compose-example/docker-compose.yml - Wklej
.env(na podstawie.env.example) — ustawVIDEO_ID_*, opisy SEO, port - Ustaw FQDN (np.
slavic-pulse.com) - Deploy
Porty: ${FRONTEND_PORT}:80 (domyślnie 8082:80). Traefik routuje po FQDN do portu 80 kontenera.
Jak to działa
- Start kontenera —
git clonerepozytorium z Gitea generate-from-env.sh— budujeindex.htmlisite.webmanifestze zmiennych.env- Tło — miniaturka YouTube (
img.youtube.com) dopasowana do FHD/vertical - Intro wideo — YouTube IFrame API, autoplay
- Po filmie — przekierowanie (jeśli
POST_VIDEO_REDIRECT_ENABLED=true) lub tło z miniaturki
Konfiguracja (.env)
| Zmienna | Opis |
|---|---|
FRONTEND_PORT |
Port hosta (np. 8082; unikaj konfliktu z 8080) |
GITEA_REPO_URL |
Opcjonalnie — URL clone z tokenem dla prywatnego repo |
VIDEO_ID_FHD / VIDEO_ID_VERTICAL |
ID shortów YouTube |
POST_VIDEO_REDIRECT_URL_* |
URL po zakończeniu filmu |
POST_VIDEO_REDIRECT_ENABLED |
true = redirect, false = zostaje tło |
Rozwiązywanie problemów
Kontener Restarting (128), brak portów w docker ps
Przyczyna: git clone nie może pobrać repozytorium (najczęściej prywatne repo bez credentials).
Diagnostyka na serwerze:
docker logs slavic-pulse-com-frontend --tail 50
Typowy błąd:
fatal: could not read Username for 'https://gitea.expert-it.agency-ai.dev': No such device or address
Rozwiązanie A (najprostsze): ustaw repozytorium jako Public w Gitea → Settings → Repository → Make Repository Public → redeploy.
Rozwiązanie B (repo prywatne): w Gitea utwórz Deploy Token / PAT i dodaj do .env w Dokploy:
GITEA_REPO_URL=https://oauth2:TWÓJ_TOKEN@gitea.expert-it.agency-ai.dev/tomasz-syn-grzegorza/site-slavic-pulse-com.git
Konflikt portu 8080
Na serwerze 8080 może być zajęty (np. agencja-ai-frontend). Ustaw w .env:
FRONTEND_PORT=8082
Zmiana konfiguracji po deployu
- Edytuj
.envw Dokploy - Redeploy / restart kontenera (przy starcie ponownie klonuje repo i generuje HTML)