Ugrás a fő tartalomhoz

Installation

⚡ Az alábbi telepítési útmutató saját VPS, vagy Dedikált Szerveren történő telepítés esetén iránymutató ⚡

Előfeltételek

  • VPS fiók (AWS, VULTR, Google Cloud stb.)
  • Hozzárendelt domain név
  • Hozzáférés a DNS konfigurációhoz

VPS telepítése

AWS Lightsail szerver esetén


Előkészületek (AWS)

  • Jelentkezzen be AWS fiókjába, és válasszon egy Lightsail szerver Instance-et.

  • Kattintson a "Create Instance" gombra, majd a "Linux / Unix" alatt válassza az "Operating System (OS only)" lehetőséget.

  • Ubuntu 22.04 LTS kiválasztása után válassza ki a megfelelő szerver méretet, pl.:

    • 4 GB memória
    • 2 vCPU
    • 80 GB SSD tárhely
    • 4 TB adatforgalom

A következő runtime komponenseket fogjuk telepíteni:

  • Docker szerver
  • Docker Compose
  • NGINX

Docker szerver telepítése

sudo apt update

sudo apt install ca-certificates curl gnupg lsb-release -y
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y

Ellenőrzés

Ha a "Hello from Docker!" üzenet megjelenik, a telepítés sikeres volt!

sudo docker run hello-world

Docker Compose telepítése

sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

Ellenőrzés

docker-compose --version

NGINX telepítése

sudo apt update
sudo apt install nginx -y

Ellenőrzés

nginx -v

Felhasználó létrehozása és konfigurálása a chatbot telepítéséhez

Egy új felhasználót fogunk létrehozni "chatuser" néven, de bármilyen más név használható. A rendszer kéri majd a jelszót a felhasználóhoz:

sudo adduser chatuser
sudo usermod -aG docker chatuser

Jelentkezzen be az új felhasználóként, és másolja a Git repót

su - chatuser
git clone https://github.com/promptchat/chatbot.git promptchat
cd /home/chatuser/promptchat

Másolja le a konfigurációs fájlt, majd írja be a megfelelő értékeket

Feltételezve, hogy a /home/chatuser/promptchat mappában van.

cp variables.env.example variables.env
nano variables.env

Az értékek megadása után mentse a fájlt: CTRL + O bezárás: CTRTL + X

  • DB_PASSWORD legyen összetett, egyszerű jelszó nem használható.

  • A PORT változó legyen bármely szabad port.

Szabad portok ellenőrzése:

lsof -i -n -P

Licencfájl másolása a projekt könyvtárába

Cserélje le a /local/directory/license.txt útvonalat a saját gépén található licenc fájl útvonalára:

cp /local/directory/license.txt /home/chatuser/promptchat/license.txt

Chatbot telepítése

cd /home/chatuser/promptchat
bash run.sh

Ellenőrzés (helyettesítse a PORT -ot a megadottal)

bash curl -IL http://localhost:PORT

Ha a válasz 200, folytassa tovább, ellenkezőleg, kövesse a hibajavítási szakaszt.

NGINX konfigurálása

Cserélje le a domain_name értéket a saját domain nevére:

sudo nano /etc/nginx/conf.d/domain_name.conf

Írja be a fájl tartalmát

A domain_name értéknek meg kell egyeznie az APP_URL-lal, a PORT változót cserélje le a variables.env-ben megadott értékre

server {
listen 80;
server_name domain_name;
location / {
proxy_pass http://localhost:PORT;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Connection "upgrade";
proxy_set_header X-Forwarded-Proto $scheme;
proxy_read_timeout 86400;
proxy_ssl_server_name on;
}
}

NGINX újraindítása

sudo systemctl restart nginx

Alkalmazás ellenőrzése

curl -IL http://domain_name

Ha a válasz 200, adjon hozzá SSL tanúsítványt (lásd az SSL szekció után), ha nem, nézze meg a hibajavítás szakaszt.

DNS beállítások konfigurálása (opcionális)

  • Jelentkezzen be a domain szolgáltatója vezérlőpaneljére és nyissa meg a DNS zóna szerkesztőt.

  • Adjon hozzá új rekordot::

  • Név: a domain, pl. example.com

  • TTL: 3600

  • Típus: A

  • Rekord: Your VPS IPv4 (IP) address

Tipp

Vegye figyelembe, hogy a DNS rekord változtatásainak érvénybe lépése akár 24 órát is igénybe vehet. A beállítások érvényesülése után, a kapcsolódó tartalom (chatbot) a megfelelő domain név alatt, meg fog jelenni.

SSL

Ingyenes SSL telepítése (ha még nincs)

sudo apt install snapd
sudo snap install core; sudo snap refresh core
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot
sudo certbot --nginx

Hibajavítások

⚡ Lehetséges problémák megoldása ⚡

  • Ha a docker-compose telepítve van az utasítások szerint, de az útvonal más, hozzon létre rámutató linket:
which docker-compose
  • Ha a válasz pl.: /usr/local/bin/docker-compose a futtatandó parancs:
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

  • Ha a run.sh futtatása után, a curl nem 200 válaszkódot ad:
    • Ellenőrizze a /home/user_name/promptchat/sources/storage/logs/laravel-DATE.log naplófájlok tartalmát.
    • Ellenőrizze a variables.env fájlban megadott változók értékeit. Ha bármely értéket a fájlban megváltoztatja, futtassa le a következő parancsot:
bash down-rmi.sh && bash run.sh

  • Ha az Access denied for user 'promptchat'@ hiba jelenik meg:
    • Állapítsa meg a mysql docker konténer azonsítóját:
docker ps -a |grep mysql
  • A CONTAINER_ID -et cserélje le a megfelelő azonosítóra

docker inspect CONTAINER_ID |grep IPAddress
telnet IP_ADDRESS 3306
mysql -hIP_ADDRESS -upromptchat -p

  • Ha a curl localhost 500-as választ ad, lehetséges megoldás:
down-rmi.sh
sudo -H -u chatuser bash run.sh