456 lines
13 KiB
Markdown
Executable File
456 lines
13 KiB
Markdown
Executable File
<img src="https://r2cdn.perplexity.ai/pplx-full-logo-primary-dark%402x.png" style="height:64px;margin-right:32px"/>
|
|
|
|
# Dokploy Teljes Útmutató - Webfejlesztési Projekttér
|
|
|
|
A **Dokploy** egy kiváló, nyílt forráskódú alternatíva a Heroku, Vercel és Netlify platformokhoz, amely lehetővé teszi teljes kontrollt a deployment folyamat felett, miközben jelentős költségmegtakarítást biztosít.[^1][^2][^3]
|
|
|
|
## Mi a Dokploy és Miért Válaszd?
|
|
|
|
A Dokploy egy saját szerveren hostolható Platform-as-a-Service (PaaS) megoldás, amely Docker és Traefik technológiákra épül. Lényegében egy "személyes Heroku vagy Vercel", amelyet te birtokolsz és irányítasz.[^3][^1]
|
|
|
|
**Fő előnyök:**
|
|
|
|
- **Költséghatékony**: Nincs havi előfizetés vagy deployment díj, csak a szerver költsége (tipikusan €4-20/hó)[^4][^3]
|
|
- **Teljes kontroll**: Saját infrastruktúra kezelés vendor lock-in nélkül[^3]
|
|
- **Modern UI**: Gyönyörű webes felület, ellentétben a parancssor-alapú megoldásokkal[^3]
|
|
- **Docker Compose támogatás**: Komplex alkalmazások egyszerű kezelése[^3]
|
|
- **AI-vezérelt deployment**: Természetes nyelven leírt alkalmazások automatikus konfigurálása[^3]
|
|
|
|
|
|
## Telepítési Útmutató
|
|
|
|
### Előfeltételek
|
|
|
|
**Szerver követelmények:**
|
|
|
|
- Ubuntu 22.04/24.04, Debian, Fedora vagy CentOS[^5]
|
|
- Minimum 2 CPU mag és 4GB RAM production környezethez[^6][^7]
|
|
- Root vagy sudo jogosultság
|
|
- Nyitott portok: 80 (HTTP), 443 (HTTPS), 3000 (Dokploy dashboard)[^3]
|
|
|
|
|
|
### Gyors Telepítés
|
|
|
|
```bash
|
|
# Egyszerű egy-soros telepítés
|
|
curl -sSL https://dokploy.com/install.sh | sh
|
|
```
|
|
|
|
A telepítés általában 8-15 percet vesz igénybe, és automatikusan beállítja a Docker Swarm környezetet, PostgreSQL adatbázist, Redis cache-t és Traefik reverse proxy-t.[^8][^5]
|
|
|
|
### Dashboard Elérése
|
|
|
|
A telepítés után nyisd meg böngészőben: `http://your-server-ip:3000` és hozz létre egy admin fiókot.[^9]
|
|
|
|
## Alkalmazások Deployment-je
|
|
|
|
### GitHub Repository-ból
|
|
|
|
A Dokploy kiválóan integrálódik Git platformokkal. Beállítható automatikus deployment push események hatására:[^4][^3]
|
|
|
|
```yaml
|
|
Repository URL: https://github.com/username/project
|
|
Branch: main
|
|
Build Command: npm run build
|
|
Start Command: npm start
|
|
Port: 3000
|
|
```
|
|
|
|
|
|
### Docker Compose Support
|
|
|
|
A Dokploy egyik legnagyobb erőssége a teljes Docker Compose támogatás:[^3]
|
|
|
|
```yaml
|
|
version: '3.8'
|
|
services:
|
|
app:
|
|
build: .
|
|
ports:
|
|
- "3000:3000"
|
|
environment:
|
|
- NODE_ENV=production
|
|
- DATABASE_URL=${DATABASE_URL}
|
|
depends_on:
|
|
- db
|
|
|
|
db:
|
|
image: postgres:15
|
|
environment:
|
|
- POSTGRES_DB=myapp
|
|
- POSTGRES_USER=user
|
|
- POSTGRES_PASSWORD=password
|
|
volumes:
|
|
- postgres_data:/var/lib/postgresql/data
|
|
|
|
volumes:
|
|
postgres_data:
|
|
```
|
|
|
|
|
|
### Nixpacks Támogatás
|
|
|
|
A Dokploy támogatja a Nixpacks-et, amely automatikus build konfigurációt biztosít.[^10][^6]
|
|
|
|
## Adatbázis Kezelés
|
|
|
|
A Dokploy beépített támogatást nyújt több adatbázis típushoz:
|
|
|
|
- PostgreSQL
|
|
- MySQL/MariaDB
|
|
- MongoDB
|
|
- Redis
|
|
- InfluxDB[^9]
|
|
|
|
Az adatbázisok egy kattintással létrehozhatók és automatikusan csatlakoztathatók az alkalmazásokhoz.[^9]
|
|
|
|
## SSL és Domain Konfiguráció
|
|
|
|
A Dokploy automatikus SSL tanúsítvány generálást biztosít Let's Encrypt segítségével. A Traefik reverse proxy automatikusan kezeli a traffic routing-ot és load balancing-ot.[^11][^12][^3]
|
|
|
|
## DevOps Legjobb Gyakorlatok
|
|
|
|
### 1. Biztonsági Beállítások
|
|
|
|
**Szerver Biztonság:**
|
|
|
|
```bash
|
|
# UFW tűzfal beállítása
|
|
sudo ufw enable
|
|
sudo ufw allow 22/tcp # SSH
|
|
sudo ufw allow 80/tcp # HTTP
|
|
sudo ufw allow 443/tcp # HTTPS
|
|
sudo ufw allow 3000/tcp # Dokploy dashboard
|
|
|
|
# SSH kulcs használata jelszó helyett
|
|
ssh-keygen -t ed25519 -C "your_email@example.com"
|
|
ssh-copy-id user@server-ip
|
|
```
|
|
|
|
**VPS Biztonsági Javaslatok:**
|
|
|
|
- Automatikus frissítések engedélyezése[^13]
|
|
- SSH kulcsok használata jelszavak helyett[^13]
|
|
- Cloudflare használata web traffic védelemhez[^13]
|
|
- Adatbázis portok nem publikus expozíciója[^13]
|
|
|
|
|
|
### 2. CI/CD Pipeline
|
|
|
|
A Dokploy támogatja a GitHub Actions integrációt automatikus deployment-hez:[^6][^10]
|
|
|
|
```yaml
|
|
name: Deploy to Dokploy
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
jobs:
|
|
deploy:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- name: Deploy to Dokploy
|
|
uses: dokploy/github-action@v1
|
|
with:
|
|
server-url: ${{ secrets.DOKPLOY_SERVER_URL }}
|
|
api-key: ${{ secrets.DOKPLOY_API_KEY }}
|
|
application-id: ${{ secrets.APPLICATION_ID }}
|
|
```
|
|
|
|
|
|
### 3. Monitoring és Logging
|
|
|
|
A Dokploy beépített monitoring funkciókkal rendelkezik:[^9][^3]
|
|
|
|
- Real-time metrikák
|
|
- Container logok
|
|
- Resource használat monitoring
|
|
- Uptime tracking
|
|
|
|
**Külső monitoring integrálása:**
|
|
|
|
- Prometheus + Grafana stack használata részletes metrikákhoz
|
|
- Alerting beállítása kritikus események esetére[^12]
|
|
|
|
|
|
### 4. Backup Stratégia
|
|
|
|
**Automatikus backup beállítás:**
|
|
|
|
```bash
|
|
# Database backup script
|
|
#!/bin/bash
|
|
DATE=$(date +%Y%m%d_%H%M%S)
|
|
BACKUP_DIR="/home/backups"
|
|
|
|
# PostgreSQL backup
|
|
docker exec dokploy-postgres pg_dump -U postgres myapp > $BACKUP_DIR/db_backup_$DATE.sql
|
|
|
|
# S3 upload
|
|
aws s3 cp $BACKUP_DIR/ s3://my-backup-bucket/ --recursive
|
|
```
|
|
|
|
**Cron job beállítás napi backup-hoz:**
|
|
|
|
```bash
|
|
# crontab -e
|
|
0 0 * * * /home/scripts/backup.sh
|
|
```
|
|
|
|
|
|
### 5. Performance Optimalizálás
|
|
|
|
**Resource limitek beállítása:**
|
|
|
|
```yaml
|
|
services:
|
|
app:
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
memory: 512M
|
|
cpus: '0.5'
|
|
reservations:
|
|
memory: 256M
|
|
cpus: '0.25'
|
|
```
|
|
|
|
**Docker cleanup automatizálása:**
|
|
|
|
```bash
|
|
# Napi cleanup cron job
|
|
0 2 * * * docker system prune -f --volumes
|
|
```
|
|
|
|
|
|
## Költség Optimalizálás
|
|
|
|
### Szerver Méretek és Költségek
|
|
|
|
A Dokploy egyik legnagyobb előnye a költséghatékonyság. Míg a managed szolgáltatások esetében a költségek exponenciálisan nőnek a forgalommal, a Dokploy fix szerver költséget jelent:[^4][^3]
|
|
|
|
- **Kis projektek**: 2GB RAM, 1 CPU (€4-5/hó) - Hetzner VPS[^4]
|
|
- **Közepes projektek**: 4GB RAM, 2 CPU (€8-12/hó)
|
|
- **Nagy projektek**: 8GB+ RAM, 4+ CPU (€20+/hó)
|
|
|
|
|
|
### Költségösszehasonlítás
|
|
|
|
A Vercel esetében könnyen száz dollárok fölé emelkedhetnek a havi költségek, míg a Dokploy-jal ugyanazon alkalmazások egy €4-20 közötti VPS-en futtathatók unlimited deploymenttel.[^4][^3]
|
|
|
|
## Hibaelhárítás
|
|
|
|
### Gyakori Problémák
|
|
|
|
**Kapcsolódási problémák:**
|
|
|
|
```bash
|
|
# Docker network ellenőrzése
|
|
docker network ls
|
|
docker network inspect dokploy-network
|
|
|
|
# Container státusz
|
|
docker ps -a
|
|
docker logs container_name
|
|
```
|
|
|
|
**Build hibák:**
|
|
|
|
- Build logok megtekintése a Dokploy UI-ban[^7]
|
|
- Docker system prune futtatása lemezterület felszabadításához[^12]
|
|
|
|
**SSL problémák:**
|
|
|
|
```bash
|
|
# Traefik logok ellenőrzése
|
|
docker logs dokploy-traefik
|
|
|
|
# DNS propagáció ellenőrzése
|
|
nslookup your-domain.com
|
|
```
|
|
|
|
|
|
## Advanced Funkciók
|
|
|
|
### Multi-Server Support
|
|
|
|
A Dokploy támogatja a multi-server deployment-et Docker Swarm segítségével, lehetővé téve az alkalmazások elosztását több szerver között a jobb teljesítmény és megbízhatóság érdekében.[^3]
|
|
|
|
### API Integráció
|
|
|
|
A Dokploy REST API-t biztosít programozott kezeléshez, lehetővé téve az automatizált deployment és management műveleteket.[^10]
|
|
|
|
### Organizations és Teams
|
|
|
|
A legújabb verziók támogatják a szervezetek és csapatok kezelését, lehetővé téve a projektek szeparációját és különböző jogosultsági szintek beállítását.[^3]
|
|
|
|
## Összefoglalás
|
|
|
|
A Dokploy egy rendkívül költséghatékony és hatékony megoldás webfejlesztő projektek deployment-jére. A megfelelő beállításokkal és DevOps gyakorlatokkal production-ready környezetet lehet kialakítani, amely versenyképes a nagy cloud szolgáltatókkal, miközben teljes kontrollt és jelentős költségmegtakarítást biztosít.
|
|
|
|
**Kulcs sikertényezők:**
|
|
|
|
1. **Alapos tervezés**: Környezetek és workflow-k megfelelő megtervezése
|
|
2. **Biztonság**: Proper authentication, SSL, tűzfal beállítása
|
|
3. **Monitoring**: Folyamatos figyelés és alerting
|
|
4. **Backup**: Rendszeres és tesztelt backup stratégia
|
|
5. **Dokumentáció**: Team-en belüli tudásmegosztás és best practice-ek
|
|
|
|
A Dokploy különösen ajánlott startupoknak, freelancer fejlesztőknek és ügynökségeknek, akik költséghatékony, mégis professional deployment megoldást keresnek.[^4][^3]
|
|
<span style="display:none">[^14][^15][^16][^17][^18][^19][^20][^21][^22][^23][^24][^25][^26][^27][^28][^29][^30][^31][^32][^33][^34][^35][^36][^37][^38][^39][^40][^41][^42][^43][^44][^45][^46][^47][^48][^49][^50][^51][^52][^53][^54][^55][^56][^57][^58][^59][^60][^61][^62][^63][^64][^65][^66][^67][^68][^69][^70][^71][^72][^73][^74][^75][^76]</span>
|
|
|
|
<div style="text-align: center">⁂</div>
|
|
|
|
[^1]: https://docs.dokploy.com
|
|
|
|
[^2]: https://arxiv.org/pdf/2303.07876.pdf
|
|
|
|
[^3]: https://f1000research.com/articles/5-1442/v1/pdf
|
|
|
|
[^4]: http://arxiv.org/pdf/2408.09869.pdf
|
|
|
|
[^5]: https://arxiv.org/pdf/2206.00699.pdf
|
|
|
|
[^6]: https://f1000research.com/articles/4-1443/v1/pdf
|
|
|
|
[^7]: https://joss.theoj.org/papers/10.21105/joss.01603.pdf
|
|
|
|
[^8]: http://arxiv.org/pdf/2309.06611.pdf
|
|
|
|
[^9]: https://f1000research.com/articles/6-52/v1/pdf
|
|
|
|
[^10]: https://peerj.com/articles/3948
|
|
|
|
[^11]: https://gsconlinepress.com/journals/gscaet/sites/default/files/GSCAET-2021-0023.pdf
|
|
|
|
[^12]: https://pmc.ncbi.nlm.nih.gov/articles/PMC6042832/
|
|
|
|
[^13]: https://edit.elte.hu/xmlui/bitstream/10831/75682/1/DH_2020_Evf3_Sz1_horvath.pdf
|
|
|
|
[^14]: https://arxiv.org/pdf/2002.03064.pdf
|
|
|
|
[^15]: https://ojs.mtak.hu/index.php/fogorv-szemle/article/download/11959/9738
|
|
|
|
[^16]: https://arxiv.org/pdf/2208.09097.pdf
|
|
|
|
[^17]: https://dx.plos.org/10.1371/journal.pone.0306100
|
|
|
|
[^18]: https://arxiv.org/pdf/2504.02431.pdf
|
|
|
|
[^19]: http://www.mdpi.com/1420-3049/20/6/9977/pdf
|
|
|
|
[^20]: https://lobehub.com/mcp/your-username-dokploy-mcp
|
|
|
|
[^21]: https://github.com/Dokploy/dokploy/issues/2413
|
|
|
|
[^22]: https://www.youtube.com/watch?v=pL_rNDEFxD8
|
|
|
|
[^23]: https://news.ycombinator.com/item?id=44884077
|
|
|
|
[^24]: https://www.youtube.com/watch?v=fCZqnKxl33w
|
|
|
|
[^25]: https://www.reddit.com/r/nextjs/comments/1mxwaaf/is_dockploy_an_option/
|
|
|
|
[^26]: https://www.youtube.com/watch?v=zIl_1oyOF0Y
|
|
|
|
[^27]: https://github.com/Dokploy/dokploy/releases
|
|
|
|
[^28]: https://talentasipil.unbari.ac.id/index.php/talenta/article/view/667
|
|
|
|
[^29]: https://www.sciltp.com/journals/ijamm/2025/2/1011
|
|
|
|
[^30]: https://ijaem.net/issue_dcp/Design%20and%20Development%20of%20an%20Online%20Recruitment%20Systems%20for%20Small%20And%20Medium%20Sized%20Enterprises%20In%20Zambia.pdf
|
|
|
|
[^31]: https://esajournals.onlinelibrary.wiley.com/doi/10.1002/fee.1472
|
|
|
|
[^32]: https://www.semanticscholar.org/paper/a67dc2084d045555f037cb307de1936e4674bf27
|
|
|
|
[^33]: https://www.spiedigitallibrary.org/conference-proceedings-of-spie/13097/3019127/Adaptive-optics-at-Gemini-observatories-past-present-and-future/10.1117/12.3019127.full
|
|
|
|
[^34]: https://iopscience.iop.org/article/10.1149/MA2023-01141350mtgabs
|
|
|
|
[^35]: https://ieeexplore.ieee.org/document/9721706/
|
|
|
|
[^36]: https://www.semanticscholar.org/paper/dbc5e65588d502c974beb2c1b05c03e88174f0fb
|
|
|
|
[^37]: https://iopscience.iop.org/article/10.1088/1755-1315/506/1/012010
|
|
|
|
[^38]: https://arxiv.org/pdf/2210.01073.pdf
|
|
|
|
[^39]: http://thesai.org/Downloads/Volume13No4/Paper_60-Framework_to_Deploy_Containers_using_Kubernetes_and_CICD_Pipeline.pdf
|
|
|
|
[^40]: https://arxiv.org/pdf/2312.03250.pdf
|
|
|
|
[^41]: https://arxiv.org/pdf/2309.00166.pdf
|
|
|
|
[^42]: http://arxiv.org/pdf/2407.19928.pdf
|
|
|
|
[^43]: https://hamidullah.me/blog
|
|
|
|
[^44]: https://www.reddit.com/r/webhosting/comments/1mij2hz/cant_deploy_a_nextjs_project_properly_on_vps/
|
|
|
|
[^45]: https://nikicaraznatovic.me/blog/using-vps
|
|
|
|
[^46]: https://www.youtube.com/watch?v=_tiuMTaPtCo
|
|
|
|
[^47]: https://forum.ghost.org/t/dokploy-ghost-6-0/59641
|
|
|
|
[^48]: https://www.youtube.com/watch?v=jYRdSfeGUus
|
|
|
|
[^49]: https://github.com/Dokploy/dokploy/issues/2331
|
|
|
|
[^50]: http://link.springer.com/10.1007/3-540-45150-1_3
|
|
|
|
[^51]: https://www.epj-conferences.org/10.1051/epjconf/202429504011
|
|
|
|
[^52]: https://onepetro.org/SPETWID/proceedings/24TWIP/24TWIP/D021S003R001/612657
|
|
|
|
[^53]: https://arxiv.org/abs/2207.12779
|
|
|
|
[^54]: https://ieeexplore.ieee.org/document/10004463/
|
|
|
|
[^55]: https://ieeexplore.ieee.org/document/10407325/
|
|
|
|
[^56]: https://wseas.com/journals/dcm/2023/a46dcm-015(2023).pdf
|
|
|
|
[^57]: https://www.frontiersin.org/articles/10.3389/fenvs.2024.1375193/full
|
|
|
|
[^58]: https://ac.inf.elte.hu/Vol_055_2023/doi/019_55.html
|
|
|
|
[^59]: https://dl.acm.org/doi/10.1145/3605098.3635981
|
|
|
|
[^60]: http://arxiv.org/pdf/2104.07899.pdf
|
|
|
|
[^61]: http://arxiv.org/pdf/2405.11316.pdf
|
|
|
|
[^62]: https://arxiv.org/pdf/1804.05039.pdf
|
|
|
|
[^63]: https://arxiv.org/pdf/2409.03405.pdf
|
|
|
|
[^64]: https://www.mdpi.com/1424-8220/25/3/914
|
|
|
|
[^65]: http://arxiv.org/pdf/2201.12879.pdf
|
|
|
|
[^66]: https://arxiv.org/html/2504.07707v1
|
|
|
|
[^67]: https://arxiv.org/pdf/1501.02967.pdf
|
|
|
|
[^68]: https://arxiv.org/pdf/2112.12595.pdf
|
|
|
|
[^69]: https://arxiv.org/pdf/2205.14498.pdf
|
|
|
|
[^70]: https://github.com/Dokploy/dokploy/issues/2341
|
|
|
|
[^71]: https://github.com/Dokploy/dokploy/actions
|
|
|
|
[^72]: https://www.reddit.com/r/hetzner/comments/1mrqiad/how_do_people_manage_a_5_vps/
|
|
|
|
[^73]: https://github.com/Dokploy/dokploy/activity
|
|
|
|
[^74]: https://tom-doerr.github.io/repo_posts/
|
|
|
|
[^75]: https://www.hostinger.com/tutorials/how-to-host-n8n-with-coolify
|
|
|
|
[^76]: https://ppl-ai-code-interpreter-files.s3.amazonaws.com/web/direct-files/d38b8c1e31ab15bfa3adaa9713847e61/db3553a8-1145-461e-8dbe-3e1ecaa61bc7/cd6eb76c.md
|
|
|