Sari la conținut
PortDock

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.

Shell
$ 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 domeniu

Dacă 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.

Shell
$ 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:latest

Pă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

  1. 01

    Creezi contul de owner

    Deschizi dashboard-ul; primul cont devine proprietarul organizației.

  2. 02

    Pornești proxy-ul

    Servere → localhost → Rulează configurarea instalează rețeaua și proxy-ul Traefik.

  3. 03

    Conectezi codul

    Setări → Surse Git: conectezi GitHub sau Azure DevOps ori folosești orice URL Git.

  4. 04

    Lansezi

    Resursă nouă → repozitoriu Git, imagine Docker, Compose, bază de date sau serviciu.

Adăugarea serverelor la distanță

  1. 1.Servere → Conectează server și generezi o cheie SSH.
  2. 2.Adaugi cheia publică în ~/.ssh/authorized_keys pe server (recomandat utilizatorul root).
  3. 3.Apeși Rulează configurarea: instalează Docker, rețeaua portdock și proxy-ul Traefik.
  4. 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ăImplicitDescriere
PORTDOCK_ADDR:8000Adresa HTTP pe care ascultă
PORTDOCK_PORT8000Portul de pe host folosit de install.sh și docker-compose.yml
PORTDOCK_DATA_DIR/data/portdockBaza de date, cheia de criptare, build-urile și backup-urile
PORTDOCK_PUBLIC_URLhttp://localhost:8000URL-ul extern, folosit pentru webhook-uri; https:// activează cookie-urile securizate
PORTDOCK_SECRET_KEYgeneratăCheia AES pentru secrete — fă-i backup
PORTDOCK_MAX_BUILDS4Deploy-uri în paralel
PORTDOCK_NETWORKportdockRețeaua Docker comună cu Traefik
PORTDOCK_OPENROUTER_URLhttps://openrouter.ai/api/v1API-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.

Shell
$ docker exec portdock portdock -reset-password admin@example.com$ docker exec portdock portdock -disable-2fa user@example.com

Dezvoltare

Backend în Go și frontend în React; contribuțiile sunt binevenite.

Shell
$ 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ă