Files
websitedev/DOCKER.md
T

147 lines
3.2 KiB
Markdown
Executable File

# 🐳 Docker Fejlesztői Környezet
## Gyors Indítás
### Előfeltételek
- Docker és Docker Compose telepítve
- Git repository klónozva
### Teljes Stack Indítása
```bash
# Projekt gyökerében
docker-compose -f docker-compose.dev.yml up --build
# Vagy a proto könyvtárból
cd proto && npm run docker:dev
```
## 🚀 Szolgáltatások
A Docker stack a következő szolgáltatásokat indítja:
| Szolgáltatás | Port | URL | Leírás |
|--------------|------|-----|--------|
| **Next.js App** | 3000 | http://localhost:3000 | Fő alkalmazás |
| **MongoDB** | 27017 | mongodb://localhost:27017 | Adatbázis |
| **Mongo Express** | 8081 | http://localhost:8081 | MongoDB Web UI |
| **Loki** | 3100 | http://localhost:3100 | Log aggregátor |
| **Grafana** | 3001 | http://localhost:3001 | Monitoring dashboard |
### 🔐 Alapértelmezett Bejelentkezési Adatok
**MongoDB:**
- Username: `admin`
- Password: `password123`
**Grafana:**
- Username: `admin`
- Password: `admin123`
## 📊 MongoDB Hozzáférés
### 1. Mongo Express Web UI
- URL: http://localhost:8081
- Böngészőben egyszerűen elérhető
- Adatbázis: `mozdit`
### 2. MongoDB Shell (ha telepítve van)
```bash
# Kapcsolódás a containerhez
docker exec -it mozdit-mongodb-dev mongosh
# Vagy közvetlenül
mongosh "mongodb://admin:password123@localhost:27017/mozdit"
```
### 3. Alkalmazásból
Az alkalmazás automatikusan csatlakozik:
```
MONGODB_URI=mongodb://mongodb:27017/mozdit
```
## 🛠️ Fejlesztési Parancsok
```bash
# Stack indítása (build-del)
npm run docker:dev
# Stack leállítása
npm run docker:dev:down
# Alkalmazás logok követése
npm run docker:dev:logs
# Egyedi Docker build
npm run docker:build
# Standalone container futtatása
npm run docker:run
```
## 📁 Adatok Perzisztencia
A következő Docker volume-ok tárolják az adatokat:
- `mongodb_data` - MongoDB adatok
- `loki_data` - Log adatok
- `grafana_data` - Grafana beállítások
Adatok törlése:
```bash
docker-compose -f docker-compose.dev.yml down -v
```
## 🔄 Hot Reload
A fejlesztői környezet támogatja a hot reload-ot:
- Kód változások automatikusan frissülnek
- MongoDB adatok megmaradnak restart után
- Volume mounting biztosítja a gyors fejlesztést
## 🚨 Hibaelhárítás
### Port foglaltság
Ha a 3000-es port foglalt:
```bash
# Meglévő process keresése
lsof -i :3000
# Vagy másik port használata
docker-compose -f docker-compose.dev.yml up --build -p 3002:3000
```
### MongoDB kapcsolat hiba
```bash
# Container logok ellenőrzése
docker logs mozdit-mongodb-dev
# Újraindítás
docker-compose -f docker-compose.dev.yml restart mongodb
```
### Teljes tisztítás
```bash
# Minden container és volume törlése
docker-compose -f docker-compose.dev.yml down -v --remove-orphans
docker system prune -a
```
## 🏗️ Production Build
```bash
# Production image build
docker build -t mozdit-app:latest ./proto
# Production futtatás
docker run -p 3000:3000 \
-e NODE_ENV=production \
-e MONGODB_URI=mongodb://your-prod-db:27017/mozdit \
mozdit-app:latest
```
## 📝 Megjegyzések
- A fejlesztői környezet **nem production-ready**
- Alapértelmezett jelszavak csak fejlesztésre
- SSL/TLS nincs konfigurálva
- Biztonsági headers minimálisak