Uzstādīšana un uzturēšana
GoProject uzstādīšana
Piegādes faili, servera prasības, piekļuve konteineru reģistram, konfigurēšana un pirmā palaišana.
GoProject var uzstādīt savā Linux serverī, izmantojot Docker Compose. Sistēmu veido divi konteineri: app (GoProject lietotne) un db (PostgreSQL 18 datubāze). Šajā pamācībā soli pa solim aprakstīta uzstādīšana: no nepieciešamo failu sagatavošanas līdz pirmajai pieteikšanās reizei.
Ņemiet vērā: skriptu izvade un lietotnes žurnāla ieraksti ir angļu valodā.
Piegādes komplekts
Uzstādīšanai nepieciešami trīs faili:
compose.yml- Docker Compose konfigurācija abiem konteineriem;.env.example- konfigurācijas paraugs ar katra iestatījuma skaidrojumu;verify-install.sh- skripts uzstādītās sistēmas pārbaudei, kas neveic izmaiņas.
Glabājiet visus trīs failus vienā mapē. Šajā pamācībā izmantots ceļš /data/goproject, taču varat izvēlēties arī citu atrašanās vietu.
Servera prasības
- Operētājsistēma: Linux ar instalētu Docker Engine un Docker Compose v2 spraudni. Izmantojiet komandu
docker compose, nevisdocker-compose. - Procesora arhitektūra: GoProject konteinera attēls tiek publicēts tikai tai arhitektūrai, kuru izmanto GoProject būvēšanas serveris. Pirms uzstādīšanas pārbaudiet attēla arhitektūru reģistrā, kā aprakstīts nākamajā sadaļā.
- Procesors un atmiņa: konteineram
appnoteikts 2 CPU un 2 GB RAM ierobežojums, betdb1,5 CPU un 1 GB RAM. Serverim kopumā nepieciešami vismaz 4 GB RAM, ieskaitot operētājsistēmas vajadzības. - Sistēmas laiks: servera pulkstenim jābūt sinhronizētam ar NTP. Precīzs laiks ir nepieciešams pieteikšanās kodiem un SLA laika uzskaitei.
- Diska vieta: nepieciešama vieta datubāzei Docker sējumā
goproject_pg_dataun mapeistorage, kur glabājas pielikumi, dokumentu faili un lietotāju avatāri. Nepieciešamā vieta pieaugs līdz ar datu apjomu. - Tīkla piekļuve: serverim jāspēj izveidot izejošu HTTPS savienojumu ar
registry.brivs.lv, lai lejupielādētu konteinera attēlu. Savienojums argoproject.lvir vajadzīgs tikai tad, ja ieslēdzat sasaisti ar portālu vai izmantojat funkciju Pārbaudīt saiti. Ārēja piekļuve pašiem konteineriem nav nepieciešama: publisko piekļuvi nodrošina jūsu reversais starpniekserveris.
Pieteikšanās konteineru reģistrā
GoProject konteinera attēls ir pieejams privātā reģistrā. Serverī piesakieties ar lietotājvārdu un piekļuves tokenu, ko varat iegūt GoProject klientu portāla sadaļā Versijas, blokā Konteineru attēli:
docker login registry.brivs.lvDocker saglabā reģistra pieteikšanās datus konkrētā servera lietotāja kontā. Tāpēc arī turpmākās docker compose komandas izpildiet ar to pašu lietotāja kontu.
Pirms turpināt, pārbaudiet izvēlētās versijas procesora arhitektūru. Aizstājiet X.Y.Z ar attiecīgās GoProject versijas numuru:
docker buildx imagetools inspect registry.brivs.lv/brivs/goproject:X.Y.ZIzvadē norādītajai Platform vērtībai jāatbilst servera arhitektūrai. To varat pārbaudīt ar komandu uname -m:
x86_64atbilstlinux/amd64;aarch64atbilstlinux/arm64.
Instalācijas mape un konfigurācija
Izveidojiet instalācijas mapi, ievietojiet tajā piegādes failus un sagatavojiet .env konfigurācijas failu no parauga:
mkdir -p /data/goproject
cd /data/goproject
cp .env.example .env
chmod 640 .envFails .env satur arī datubāzes paroli, tāpēc lasīšanas tiesības tam piešķirtas tikai īpašniekam un grupai.
Atveriet .env un norādiet nepieciešamās vērtības. Docker Compose nevarēs palaist sistēmu, ja kāds no šiem iestatījumiem būs tukšs: TAG, APP_PORT, DB_DATABASE, DB_USERNAME vai DB_PASSWORD.
TAG: uzstādāmās GoProject versijas numurs formātāX.Y.Z, piemēram,1.4.2. Mainīgais tags, piemēram,latest, netiek izmantots. Lai atjauninātu sistēmu, šeit jānorāda jaunās versijas numurs.APP_PORT: servera ports, uz kuru pieprasījumus pārsūta reversais starpniekserveris.DB_DATABASEunDB_USERNAME: datubāzes nosaukums un lietotājvārds. Abiem var izmantot vērtībugoproject.DB_PASSWORD: droša, nejauši ģenerēta datubāzes parole. PostgreSQL to izmanto datubāzes sākotnējās izveides laikā. Ja pēc tam mainīsiet šo vērtību tikai.envfailā, lietotne vairs nevarēs pieslēgties datubāzei.SITE_URL: sistēmas publiskā adrese, ko izmanto arī saitēs e-pasta paziņojumos, piemēram,https://goproject.example.com. Adreses beigās nelieciet slīpsvītru.INITIAL_ADMIN_EMAIL: pirmā administratora e-pasta adrese. Administratora konts tiek izveidots sistēmas pirmajā palaišanas reizē.INITIAL_ADMIN_PASSWORD: pirmā administratora parole. Ja šo lauku atstājat tukšu, sistēma paroli ģenerē automātiski (skatiet sadaļu Pirmā palaišana).TZ: laika josla plānoto uzdevumu izpildei, piemēram,Europe/Riga.
Drošu datubāzes paroli varat ģenerēt ar komandu:
openssl rand -base64 24GoProject lietotne darbojas ar lietotāja un grupas identifikatoru 10001 un failus raksta tikai mapē storage. Izveidojiet šo mapi ar atbilstošām īpašumtiesībām:
install -d -o 10001 -g 10001 -m 750 storageMapē storage atrodas arī fails secret.key, ko izmanto divu faktoru autentifikācijas noslēpumu šifrēšanai. Veidojot rezerves kopijas vai pārceļot instalāciju, saglabājiet gan datubāzi, gan visu mapi storage.
Pirmā palaišana
Lejupielādējiet nepieciešamos konteinera attēlus un palaidiet sistēmu:
cd /data/goproject
docker compose pull
docker compose up -dPirmajā palaišanas reizē sistēma izveido datubāzes tabulas. Tas var aizņemt līdz divām minūtēm.
Pēc tam pārbaudiet, vai abi konteineri darbojas un GoProject atbild uz veselības pārbaudes pieprasījumu. Komandā aizstājiet 9400 ar .env failā norādīto APP_PORT vērtību:
docker compose ps
curl -fsS http://localhost:9400/healthzJa INITIAL_ADMIN_PASSWORD atstājāt tukšu, automātiski ģenerētā administratora parole vienu reizi tiek ierakstīta lietotnes žurnālā. Lai to atrastu, izpildiet:
docker compose logs app | grep -i "initial administrator"Piesakieties GoProject ar INITIAL_ADMIN_EMAIL norādīto e-pasta adresi un administratora paroli. Pēc pirmās pieteikšanās nekavējoties nomainiet paroli.
Ja administratora paroli norādījāt pats, pēc pirmās veiksmīgās pieteikšanās izdzēsiet INITIAL_ADMIN_PASSWORD vērtību no .env faila.
Nākamie soļi
Pēc pirmās palaišanas turpiniet ar pārējām uzstādīšanas un uzturēšanas pamācībām:
- Reversais starpniekserveris un HTTPS: konfigurējiet drošu publisko piekļuvi GoProject.
- Licence un sasaiste ar portālu: aktivizējiet licenci un, ja nepieciešams, savienojiet instalāciju ar klientu portālu.
- Instalācijas pārbaude un žurnāli: pārbaudiet sistēmas darbību un uzziniet, kur meklēt diagnostikas informāciju.