11 KiB
🔧 Gitea + Coolify Setup - Kompletný návod
📋 Čo budete potrebovať:
- ✅ Gitea server s prístupom
- ✅ Coolify server
- ✅ Projekt pripravený v
/home/richardtekula/Documents/WORK/extension/Ebook_System
🌐 KROK 1: Príprava v Gitea
1.1 Vytvorte nový repozitár v Gitea
- Otvorte Gitea web rozhranie (napr.
https://gitea.vasa-domena.sk) - Prihláste sa
- Kliknite na "+" (New Repository)
- Nastavte:
Repository Name: ebook-system Visibility: Private (odporúčané) Initialize: NO (už máte lokálny Git) - Kliknite "Create Repository"
1.2 Získajte Git URL
Po vytvorení uvidíte URL:
# HTTPS (jednoduché, ale vyžaduje heslo pri každom push)
https://gitea.vasa-domena.sk/vase-meno/ebook-system.git
# SSH (odporúčané - nastavte SSH kľúč)
git@gitea.vasa-domena.sk:vase-meno/ebook-system.git
💻 KROK 2: Lokálna príprava (váš počítač)
2.1 Inicializácia Git
cd /home/richardtekula/Documents/WORK/extension/Ebook_System
# Skontrolujte či .gitignore existuje
ls -la | grep .gitignore
# Inicializuj Git (ak ešte nie je)
git init
# Nastavte užívateľa (ak ešte nie je)
git config user.name "Vaše Meno"
git config user.email "vas@email.sk"
# Skontrolujte čo bude commitnuté
git status
Dôležité: .env a ebook_extension/ by mali byť v červenom (untracked) - to je správne!
2.2 Prvý Commit
# Pridaj všetky súbory (okrem .gitignore výnimiek)
git add .
# Commit
git commit -m "Initial commit: Ebook Translation System
- Docker compose setup
- Backend API (FastAPI)
- Admin frontend (HTML/CSS/JS)
- PostgreSQL databáza
- Kompletná dokumentácia
- Produkčná konfigurácia"
# Skontrolujte commit
git log --oneline
2.3 Pripojenie na Gitea a Push
# Pridaj Gitea remote
git remote add origin https://gitea.vasa-domena.sk/vase-meno/ebook-system.git
# Alebo pre SSH (ak máte nastavený kľúč):
# git remote add origin git@gitea.vasa-domena.sk:vase-meno/ebook-system.git
# Skontrolujte remote
git remote -v
# Premenuj branch na main (ak je master)
git branch -M main
# Push na Gitea
git push -u origin main
Pri prvom push cez HTTPS:
- Zadajte Gitea username
- Zadajte Gitea password (alebo Personal Access Token)
Tip: Pre SSH setup pozrite návod nižšie.
🚀 KROK 3: Nastavenie v Coolify
3.1 Pridanie Git Source (jednorazovo)
Ak ešte nemáte Gitea pripojenú v Coolify:
- V Coolify prejdite na "Sources"
- Kliknite "+ Add"
- Vyberte "Gitea"
- Vyplňte:
Name: My Gitea API URL: https://gitea.vasa-domena.sk/api/v1 HTML URL: https://gitea.vasa-domena.sk - Personal Access Token:
- V Gitea: Settings → Applications → Generate New Token
- Permissions:
repo(read) - Skopírujte token
- Vložte do Coolify
- Kliknite "Save"
3.2 Vytvorenie nového Resource
-
V Coolify kliknite "+ New Resource"
-
Vyberte "Docker Compose"
-
Vyplňte:
Source Settings:
Git Source: My Gitea (vybraté vyššie) Repository: vase-meno/ebook-system Branch: main Auto Deploy: ON (automatický deployment pri push)Build Settings:
Build Pack: Docker Compose Docker Compose Location: docker-compose.yml Base Directory: /
3.3 Environment Variables
Kliknite na "Environment" a pridajte:
# Database
POSTGRES_DB=ebook_prod
POSTGRES_USER=ebook_user
POSTGRES_PASSWORD=VaseSilneHeslo123!@#$%
DATABASE_URL=postgresql://ebook_user:VaseSilneHeslo123!@#$%@postgres:5432/ebook_prod
# Security
SECRET_KEY=VYGENERUJTE-NOVY-32-ZNAKOVY-KLUC
DEBUG=false
ENVIRONMENT=production
# Admin
ADMIN_USERNAME=admin
ADMIN_PASSWORD=VaseAdminHeslo123!@#$%
# CORS (zmeňte na vašu doménu!)
CORS_ORIGINS=https://ebook.vasa-domena.sk
TRUSTED_HOSTS=ebook.vasa-domena.sk
# Application
APP_NAME=Ebook Translation System
APP_VERSION=1.0.0
LOG_LEVEL=WARNING
HOST=0.0.0.0
PORT=8000
WORKERS=4
TZ=Europe/Bratislava
DÔLEŽITÉ:
- Kliknite na 🔒 ikonu pri citlivých premenných (heslá!)
- Použite silné heslá - min 16 znakov
- Vygenerujte SECRET_KEY:
python3 -c "import secrets; print(secrets.token_urlsafe(32))"
3.4 Domain Configuration
- Kliknite na "Domains"
- + Add Domain
- Zadajte:
Domain: ebook.vasa-domena.sk - Zapnite "Enable SSL/TLS"
- Kliknite "Generate Certificate" (Let's Encrypt)
DNS Konfigurácia (u vášho DNS providera):
Type: A
Name: ebook
Value: IP_ADRESA_COOLIFY_SERVERA
TTL: 3600
3.5 Deploy!
- Skontrolujte všetky nastavenia
- Kliknite "Deploy" alebo "Start"
- Sledujte deployment logy v reálnom čase
- Počkajte 2-5 minút
Coolify vykoná:
- ✅ Clone repozitára z Gitea
- ✅ Build Docker image (podľa Dockerfile)
- ✅ Vytvorenie volumes (databáza, logy)
- ✅ Spustenie PostgreSQL kontajnera
- ✅ Inicializácia databázy (admin user)
- ✅ Spustenie Backend kontajnera
- ✅ Nastavenie reverse proxy (Traefik)
- ✅ Vygenerovanie SSL certifikátu
✅ KROK 4: Overenie Deploymentu
4.1 Health Check
curl https://ebook.vasa-domena.sk/health
Očakávaný výstup:
{
"status": "healthy",
"timestamp": 1736612345.67,
"version": "1.0.0",
"environment": "production",
"database_status": "connected"
}
4.2 Admin Panel Login
- Otvorte:
https://ebook.vasa-domena.sk/login - Prihláste sa:
- Username:
admin - Password: Vaše
ADMIN_PASSWORDz Environment Variables
- Username:
- Mali by ste vidieť dashboard
4.3 Test funkcionalita
-
Generovanie kupónu:
- Generate → Single → Generate
- Skontrolujte či sa vytvoril
-
Nahranie translation file:
- Translation Upload → Vyberte Excel
- Upload → Success
🔄 KROK 5: Workflow Pre Budúce Zmeny
Vývoj lokálne → Push → Auto-deploy
# 1. Urobte zmeny v kóde lokálne
cd /home/richardtekula/Documents/WORK/extension/Ebook_System
# ... editujte súbory ...
# 2. Commit zmeny
git add .
git commit -m "Feature: Pridaná nová funkcia XYZ"
# 3. Push na Gitea
git push origin main
# 4. Coolify automaticky detekuje push a spustí redeploy!
# Sledujte logy v Coolify dashboarde
Auto-deploy znamená že nemusíte robiť nič v Coolify - automaticky sa aktualizuje!
🔐 Bonus: SSH Setup pre Gitea (Odporúčané)
Prečo SSH?
- ✅ Bezpečnejšie ako HTTPS
- ✅ Nie je potrebné zadávať heslo pri push
- ✅ Rýchlejšie
Setup:
# 1. Vygenerujte SSH kľúč (ak ešte nemáte)
ssh-keygen -t ed25519 -C "vas@email.sk"
# Enter → Enter → Enter (bez passphrase pre jednoduchosť)
# 2. Zobrazte public key
cat ~/.ssh/id_ed25519.pub
# 3. Skopírujte celý výstup
# 4. V Gitea:
# Settings → SSH / GPG Keys → Add Key
# Vložte kľúč → Save
# 5. Test pripojenia
ssh -T git@gitea.vasa-domena.sk
# Očakávaný výstup: "Hi there, vase-meno! You've successfully authenticated..."
# 6. Zmeňte remote URL na SSH
git remote set-url origin git@gitea.vasa-domena.sk:vase-meno/ebook-system.git
# 7. Test push
git push origin main
# Teraz bez hesla!
📱 KROK 6: Chrome Extension Konfigurácia
Po úspešnom deployi backendu:
6.1 Aktualizujte config.js
# Lokálne na vašom počítači
cd /home/richardtekula/Documents/WORK/extension/Ebook_System/ebook_extension
nano config.js
Zmeňte:
export const CONFIG = {
API_BASE: "https://ebook.vasa-domena.sk", // ← VAŠA COOLIFY DOMÉNA!
VERIFY_ENDPOINT: "/verify",
TRANSLATIONS_ENDPOINT: "/translations/latest",
// ... zvyšok nechajte
};
6.2 Načítanie do Chrome
- Chrome:
chrome://extensions/ - Zapnite "Developer mode"
- "Load unpacked"
- Vyberte:
/home/richardtekula/Documents/WORK/extension/Ebook_System/ebook_extension/ - Hotovo! 🎉
6.3 Testovanie
- Kliknite na extension icon
- Zadajte kupón z admin panelu
- Verify → Malo by to fungovať!
🛠️ Troubleshooting
Problem: Git push zlyhá
# Skontrolujte remote
git remote -v
# Skontrolujte branch
git branch
# Skontrolujte či máte commity
git log
# Force push (POZOR: použite len ak viete čo robíte!)
git push -f origin main
Problem: Coolify nedokáže clonovať repo
- Skontrolujte že repozitár je Public ALEBO
- Coolify má správny Personal Access Token s
repopermissions
Problem: Deployment zlyhá
-
Skontrolujte logy v Coolify:
- Prejdite na váš resource
- Kliknite "Logs"
- Hľadajte červené chyby
-
Bežné problémy:
- Chýbajúce environment variables
- Zlá cesta k
docker-compose.yml - Port konflikty
- Nedostatok disk space
Problem: Health check failuje
# SSH do Coolify servera
ssh user@coolify-server.sk
# Nájdite kontajnery
docker ps | grep ebook
# Skontrolujte logy
docker logs <container-id>
# Skontrolujte databázové pripojenie
docker exec <backend-container> python -c "
from sqlalchemy import create_engine
import os
engine = create_engine(os.getenv('DATABASE_URL'))
conn = engine.connect()
print('DB OK')
"
📊 Monitoring a Údržba
Sledovanie Deploymentov
V Coolify:
- "Deployments" → História všetkých deploymentov
- Zelená = úspešné
- Červená = zlyhané
- Kliknite na deployment pre detail
Logy
# V Coolify dashboarde
Logs → Real-time view
# Alebo cez SSH
ssh user@coolify-server.sk
docker logs -f <container-name>
Backup Databázy
# SSH do servera
ssh user@coolify-server.sk
# Nájdite PostgreSQL kontajner
docker ps | grep postgres
# Vytvorte backup
docker exec <postgres-container> pg_dump -U ebook_user ebook_prod > backup_$(date +%Y%m%d).sql
# Stiahnite backup na váš počítač
scp user@coolify-server.sk:backup_*.sql ~/backups/
✅ Checklist
Pred deploymentom:
- Git inicializovaný v root priečinku
.gitignorevytvorený- Commit vytvorený
- Push na Gitea úspešný
- Gitea source pridaná v Coolify
- Resource vytvorený v Coolify
- Environment variables nastavené
- Doména nakonfigurovaná
- DNS A record vytvorený
Po deploymenti:
- Health check OK (200 response)
- Admin login funguje
- Kupón sa dá vygenerovať
- Translation file sa dá nahrať
- SSL certifikát aktívny (zelený zámok)
- Extension nakonfigurovaný (API_BASE)
- Extension test úspešný
🎉 Hotovo!
Váš systém je nasadený cez Gitea + Coolify s automatickým deploymentom!
Workflow:
Lokálne zmeny → Git commit → Push na Gitea → Auto-deploy v Coolify → Live! 🚀
Potrebujete pomoc?
- Logy v Coolify
- SSH do servera:
docker logs -f <container> - Health check:
curl https://ebook.vasa-domena.sk/health
Happy coding! 🎉