Align Dokploy compose with Traefik: expose port 80 only, no host mapping.
Remove FRONTEND_PORT from deployment compose; document Container Port 80 in Dokploy UI and clarify Gitea OAuth vs runtime git clone auth. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -2,13 +2,10 @@
|
|||||||
# Copy to .env before deploy if needed.
|
# Copy to .env before deploy if needed.
|
||||||
# Never commit .env with real credentials to version control.
|
# Never commit .env with real credentials to version control.
|
||||||
|
|
||||||
# --- Frontend Server ---
|
|
||||||
# Uwaga: 8080 może być zajęty (np. agencja-ai). Użyj wolnego portu, np. 8082.
|
|
||||||
FRONTEND_PORT=8082
|
|
||||||
|
|
||||||
# --- Gitea (opcjonalnie — tylko gdy repo jest prywatne) ---
|
# --- Gitea (opcjonalnie — tylko gdy repo jest prywatne) ---
|
||||||
# Domyślnie clone używa publicznego URL bez auth.
|
# Domyślnie clone używa publicznego URL bez auth.
|
||||||
# Dla prywatnego repo ustaw URL z tokenem (Deploy Token lub PAT w Gitea):
|
# Dokploy Gitea Provider (OAuth) NIE autoryzuje git clone wewnątrz kontenera —
|
||||||
|
# nadal potrzebujesz publicznego repo LUB tokena poniżej.
|
||||||
# GITEA_REPO_URL=https://oauth2:TWÓJ_TOKEN@gitea.expert-it.agency-ai.dev/tomasz-syn-grzegorza/site-slavic-pulse-com.git
|
# GITEA_REPO_URL=https://oauth2:TWÓJ_TOKEN@gitea.expert-it.agency-ai.dev/tomasz-syn-grzegorza/site-slavic-pulse-com.git
|
||||||
|
|
||||||
# --- Strona (meta, SEO, PWA) ---
|
# --- Strona (meta, SEO, PWA) ---
|
||||||
|
|||||||
@@ -22,12 +22,18 @@ site-slavic-pulse-com/
|
|||||||
## Dokploy deployment
|
## Dokploy deployment
|
||||||
|
|
||||||
**Kroki w Dokploy UI:**
|
**Kroki w Dokploy UI:**
|
||||||
1. Nowa aplikacja → wklej `docker-compose-example/docker-compose.yml`
|
1. Nowa aplikacja (Compose) → wklej `docker-compose-example/docker-compose.yml`
|
||||||
2. Wklej `.env` (na podstawie `.env.example`) — ustaw `VIDEO_ID_*`, opisy SEO, port
|
2. Wklej `.env` (na podstawie `.env.example`) — ustaw `VIDEO_ID_*`, opisy SEO
|
||||||
3. Ustaw FQDN (np. `slavic-pulse.com`)
|
3. **Domains** → dodaj FQDN (np. `slavic-pulse.com`), **Container Port = `80`**
|
||||||
4. Deploy
|
4. Traefik routuje ruch HTTPS → port 80 kontenera (bez mapowania portu na hosta)
|
||||||
|
5. Deploy
|
||||||
|
|
||||||
**Porty:** `${FRONTEND_PORT}:80` (domyślnie `8082:80`). Traefik routuje po FQDN do portu 80 kontenera.
|
**Porty:** nie używaj `ports:` w compose — Traefik/Dokploy łączy się z wewnętrznym `:80`.
|
||||||
|
W `docker ps` kolumna PORTS może być pusta — to normalne przy routingu przez Traefik.
|
||||||
|
|
||||||
|
**Gitea Provider w Dokploy** (OAuth) — autoryzuje Dokploy do listowania repo i deployu z UI,
|
||||||
|
ale **nie** zastępuje credentials dla `git clone` wewnątrz kontenera przy starcie.
|
||||||
|
Dla prywatnego repo: ustaw repo jako Public **lub** dodaj `GITEA_REPO_URL` z Deploy Token w `.env`.
|
||||||
|
|
||||||
## Jak to działa
|
## Jak to działa
|
||||||
|
|
||||||
@@ -41,7 +47,6 @@ site-slavic-pulse-com/
|
|||||||
|
|
||||||
| Zmienna | Opis |
|
| Zmienna | Opis |
|
||||||
|---------|------|
|
|---------|------|
|
||||||
| `FRONTEND_PORT` | Port hosta (np. `8082`; unikaj konfliktu z `8080`) |
|
|
||||||
| `GITEA_REPO_URL` | Opcjonalnie — URL clone z tokenem dla prywatnego repo |
|
| `GITEA_REPO_URL` | Opcjonalnie — URL clone z tokenem dla prywatnego repo |
|
||||||
| `VIDEO_ID_FHD` / `VIDEO_ID_VERTICAL` | ID shortów YouTube |
|
| `VIDEO_ID_FHD` / `VIDEO_ID_VERTICAL` | ID shortów YouTube |
|
||||||
| `POST_VIDEO_REDIRECT_URL_*` | URL po zakończeniu filmu |
|
| `POST_VIDEO_REDIRECT_URL_*` | URL po zakończeniu filmu |
|
||||||
@@ -70,12 +75,10 @@ fatal: could not read Username for 'https://gitea.expert-it.agency-ai.dev': No s
|
|||||||
GITEA_REPO_URL=https://oauth2:TWÓJ_TOKEN@gitea.expert-it.agency-ai.dev/tomasz-syn-grzegorza/site-slavic-pulse-com.git
|
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
|
### Brak portów w `docker ps` (kolumna PORTS pusta)
|
||||||
|
|
||||||
Na serwerze `8080` może być zajęty (np. `agencja-ai-frontend`). Ustaw w `.env`:
|
Przy Traefik/Dokploy bez `ports:` w compose — **to oczekiwane**.
|
||||||
```env
|
Sprawdź w Dokploy UI: domena → Container Port = **80**, kontener `Up (healthy)`.
|
||||||
FRONTEND_PORT=8082
|
|
||||||
```
|
|
||||||
|
|
||||||
### Zmiana konfiguracji po deployu
|
### Zmiana konfiguracji po deployu
|
||||||
|
|
||||||
|
|||||||
@@ -1,15 +1,12 @@
|
|||||||
# ============================================================
|
# ============================================================
|
||||||
# Slavic Pulse - Docker Compose (Dokploy / manual)
|
# Slavic Pulse - Docker Compose (Dokploy / manual)
|
||||||
# ============================================================
|
# ============================================================
|
||||||
# Dokploy-compatible pattern: uses pre-built image + runtime git clone.
|
# Dokploy + Traefik: NIE mapuj portu na hosta (ports:).
|
||||||
# Dokploy only copies docker-compose.yml + .env to the server, so local
|
# W UI Dokploy ustaw domenę i Container Port = 80 — Traefik routuje po FQDN.
|
||||||
# build context with a Dockerfile does not work.
|
# Wewnętrznie nginx nasłuchuje na :80 (expose poniżej).
|
||||||
#
|
#
|
||||||
# Port hosta: FRONTEND_PORT z .env (domyślnie 8082) → nginx w kontenerze na porcie 80.
|
# Runtime git clone — repozytorium musi być publiczne LUB ustaw GITEA_REPO_URL w .env
|
||||||
# Dokploy/Traefik routuje po FQDN do wewnętrznego portu 80 kontenera.
|
# (patrz README — prywatne repo bez tokenu = exit 128, restart loop).
|
||||||
#
|
|
||||||
# WAŻNE: repozytorium Gitea musi być publiczne LUB ustaw GITEA_REPO_URL z tokenem w .env
|
|
||||||
# (patrz README — bez tego git clone kończy się exit 128 i kontener restartuje w pętli).
|
|
||||||
# ============================================================
|
# ============================================================
|
||||||
|
|
||||||
services:
|
services:
|
||||||
@@ -17,8 +14,9 @@ services:
|
|||||||
image: nginx:1.27-alpine
|
image: nginx:1.27-alpine
|
||||||
container_name: slavic-pulse-com-frontend
|
container_name: slavic-pulse-com-frontend
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
ports:
|
|
||||||
- "${FRONTEND_PORT:-8082}:80"
|
expose:
|
||||||
|
- "80"
|
||||||
|
|
||||||
env_file:
|
env_file:
|
||||||
- .env
|
- .env
|
||||||
|
|||||||
Reference in New Issue
Block a user