Ghid de instalare
PortDock rulează pe orice server Linux pe care îl controlezi — un VPS, o mașină din data center sau o mașină virtuală on-premises.
Cerințe
- Un server Linux — recomandat Ubuntu sau Debian — cu acces root
- Porturile 80 și 443 libere pentru proxy-ul HTTPS
- Memorie suficientă pentru aplicațiile și bazele tale de date (SQL Server are nevoie de circa 2 GB)
- Docker — installer-ul îl adaugă dacă lipsește
01
Varianta 1 — installer
Instalează Docker dacă lipsește și pornește PortDock. Adaugă un domeniu care indică spre server ca să ai HTTPS pentru dashboard.
$ git clone https://github.com/gavrilencu/PortDock.git portdock && cd portdock$ sudo bash install.sh # dashboard pe http://<ip-server>:8000$ sudo bash install.sh https://portdock.example.com # sau cu un domeniuDacă portul 8000 e ocupat, installer-ul alege următorul port liber și afișează adresa (sau setează PORTDOCK_PORT=9000).
02
Varianta 2 — imaginea Docker
Când Docker este deja instalat.
$ docker run -d --name portdock --restart unless-stopped \ -p 8000:8000 \ -v /var/run/docker.sock:/var/run/docker.sock \ -v /data/portdock:/data/portdock \ -e PORTDOCK_PUBLIC_URL=http://<ip-server>:8000 \ ghcr.io/gavrilencu/portdock:latestPăstrează directorul de date montat la aceeași cale ca pe host (/data/portdock): build-urile și backup-urile sunt montate în containere auxiliare după calea absolută.
Apoi
- 01
Creezi contul de owner
Deschizi dashboard-ul; primul cont devine proprietarul organizației.
- 02
Pornești proxy-ul
Servere → localhost → Rulează configurarea instalează rețeaua și proxy-ul Traefik.
- 03
Conectezi codul
Setări → Surse Git: conectezi GitHub sau Azure DevOps ori folosești orice URL Git.
- 04
Lansezi
Resursă nouă → repozitoriu Git, imagine Docker, Compose, bază de date sau serviciu.
Adăugarea serverelor la distanță
- 1.Servere → Conectează server și generezi o cheie SSH.
- 2.Adaugi cheia publică în ~/.ssh/authorized_keys pe server (recomandat utilizatorul root).
- 3.Apeși Rulează configurarea: instalează Docker, rețeaua portdock și proxy-ul Traefik.
- 4.Opțional: setezi un domeniu wildcard (*.apps.example.com → IP-ul serverului) pentru domenii automate și preview-uri.
Configurare
Variabilele de mediu ale containerului PortDock.
| Variabilă | Implicit | Descriere |
|---|---|---|
| PORTDOCK_ADDR | :8000 | Adresa HTTP pe care ascultă |
| PORTDOCK_PORT | 8000 | Portul de pe host folosit de install.sh și docker-compose.yml |
| PORTDOCK_DATA_DIR | /data/portdock | Baza de date, cheia de criptare, build-urile și backup-urile |
| PORTDOCK_PUBLIC_URL | http://localhost:8000 | URL-ul extern, folosit pentru webhook-uri; https:// activează cookie-urile securizate |
| PORTDOCK_SECRET_KEY | generată | Cheia AES pentru secrete — fă-i backup |
| PORTDOCK_MAX_BUILDS | 4 | Deploy-uri în paralel |
| PORTDOCK_NETWORK | portdock | Rețeaua Docker comună cu Traefik |
| PORTDOCK_OPENROUTER_URL | https://openrouter.ai/api/v1 | API-ul folosit de asistentul AI |
Actualizări
PortDock verifică dacă există o versiune nouă ori de câte ori îl deschizi și afișează Actualizare disponibilă în bara laterală. Un click face backup la baza de date și la cheie, recreează PortDock cu versiunea nouă și revine automat dacă aceasta nu pornește. Aplicațiile rulează în tot acest timp; poți activa și actualizările automate pe timp de noapte.
Recuperare din linia de comandă
Ai rămas fără acces? Resetezi o parolă sau dezactivezi autentificarea în doi pași direct de pe server.
$ docker exec portdock portdock -reset-password admin@example.com$ docker exec portdock portdock -disable-2fa user@example.comDezvoltare
Backend în Go și frontend în React; contribuțiile sunt binevenite.
$ make dev-api # backend pe :8000$ make dev-ui # Vite pe :5173$ make test # go vet, go test și verificarea TypeScript$ make build # bin/portdock cu interfața inclusă