Deploy using Docker Compose
Implementeren met Docker Compose
Introductie
Momenteel ondersteunen we het gebruik van Docker Compose om de Syntho-toepassing te implementeren. We hebben een Docker Compose bestand dat alle containers zal deployen die nodig zijn voor de Syntho Applicatie. Op de volgende pagina worden de stappen beschreven die nodig zijn om onze applicatie te implementeren met Docker Compose.
Deployment stappen
Download de nieuwste Docker Compose bestanden van onze Github repository onder
Releases
. Het bestand dat gedownload moet worden van de release isdocker-compose.tar.gz
.Gebruik
docker login
om in te loggen in de Syntho Container Registry, ofdocker load
om images uit bestanden te laden. Zie Syntho Documentatie onderDeploy Syntho
->Introductie
->Toegang Docker images
Pak
docker-compose.tar.gz
uit mettar -xf docker-compose.tar.gz
en open de uitgepakte map.Kopieer
voorbeeld.env
naar.env
met bijvoorbeeld het Linux commandocp voorbeeld.env .env
.Pas de volgende variabelen aan in
.env
voor een minimale setup:LICENSE_KEY
: De licentiesleutel wordt geleverd door Syntho.ADMIN_USERNAME
,ADMIN_EMAIL
enADMIN_PASSWORD
: de gegevens voor het beheerdersaccount dat kan worden gebruikt zodra de applicatie is ingesteld. Het e-mailadres en wachtwoord zijn nodig om in te loggen.
Het .env
bestand bevat de laatste image tag voor alle afbeeldingen, wat een rolling tag is. Pas de volgende image tags aan met de tags van het Syntho Team om ze aan een bepaalde versie te koppelen:
RAY_IMAGE
CORE_IMAGE
BACKEND_IMAGE
FRONTEND_IMAGE
Om de Backend API correct te benaderen, moet het domein worden ingesteld. Als de applicatie wordt benaderd op dezelfde machine waarop het wordt geïnstalleerd, dan zou localhost
goed moeten zijn voor dit domein. Als je een andere machine op je netwerk gebruikt, moet het IP-adres of de hostnaam worden gebruikt voor de volgende variabelen:
FRONTEND_HOST
: dit moet ook de poort bevatten. Als poort 3000 wordt gebruikt voor het frontend en het is toegankelijk op dezelfde machine, dan zou de waardelocalhost:3000
zijn. Als een andere machine op hetzelfde netwerk toegang moet hebben tot de frontend, dan is de waarde<IP-van-deployed-machine>:3000
.FRONTEND_DOMAIN
: is ofwellocalhost
of het IP van de machine waarop de Syntho Applicatie draait.
Na het aanpassen van deze variabelen zou het docker compose
bestand klaar moeten zijn voor implementatie. De documentatie zal doorgaan met het beschrijven van bepaalde secties die in bepaalde gevallen aangepast moeten worden, maar op dit punt is de Docker Compose bestand zou klaar moeten zijn om te implementeren.
Extra informatie
Het opzetten van meerdere nodes vereist een meer gedetailleerde configuratie. Deze opstelling wordt aanbevolen voor schaalbare productieomgevingen. Stappen en configuraties kunnen variëren afhankelijk van de specifieke vereisten van het netwerk en het aantal betrokken nodes.
TLS
Als er een SSL-certificaat moet worden geleverd, moeten de volgende omgevingsvariabelen worden aangepast:
Standaard zijn deze waarden respectievelijk ingesteld op http
en False
.
Kern-API
Database
De referenties voor de database die de Core API & Worker (core
en core_worker
en in het docker-compose bestand) gebruiken om verbinding te maken, staan beschreven in de volgende omgevingsvariabelen:
Standaard zijn deze waarden ingesteld op de waarde voor de Postgres instantie die wordt ingezet als onderdeel van het docker-compose bestand. Als een andere database moet worden gebruikt, kunnen de referenties hier worden aangepast. Alleen Postgres databases worden hiervoor ondersteund.
Redis
De informatie die wordt gebruikt om verbinding te maken met de Redis-instantie wordt opgeslagen in de volgende omgevingsvariabelen:
Aanvullende omgevingsvariabelen
Belangrijke andere variabelen zijn CORE_SECRET_KEY
, die wordt gebruikt als encryptiesleutel. Deze sleutel kan worden gegenereerd met het volgende commando in python:
Als er problemen ontstaan met de poort van de toepassing, kan de standaardpoort worden gewijzigd met de CORE_PORT
variabele in het .env
bestand.
Backend
Database
Net als de Core API moet de backend verbinding maken met de Postgres database. Deze database wordt gebruikt voor het opslaan van applicatiegegevens. Standaard wordt er verbinding gemaakt met
Redis
Voor de Redis-instantie die voor het backend wordt gebruikt, kunnen we de volgende variabelen instellen. De Redis-instantie is opgenomen in het docker-compose
bestand, maar als een aparte Redis-instantie wordt gebruikt, moeten de referenties worden ingesteld in het .env
bestand.
Admin gebruiker
Zoals eerder in de documentatie beschreven, kunnen de gebruikersnaam, het e-mailadres en het wachtwoord van de admin-gebruiker worden aangepast. Daarvoor kunnen de volgende omgevingsvariabelen worden gebruikt:
Aanvullende omgevingsvariabelen
Voor het backend kunnen enkele extra omgevingsvariabelen worden ingesteld. We kunnen de poort die wordt weergegeven voor het backend wijzigen als er problemen optreden met poorttoewijzingen. Om de poort te wijzigen, kunnen we de waarde in BACKEND_PORT
veranderen:
Dan hebben we de geheime sleutel die het backend gebruikt voor encryptie. We kunnen deze sleutel op elke waarde instellen, zolang het maar een vrij lange string is. Voorbeeld:
Voorkant
De frontend is verantwoordelijk voor de gebruikersinterface. De frontend zal hiervoor verbinding moeten maken met de Backend. De belangrijkste variabele die overblijft voor de frontend is de volgende:
Deze variabele stelt de poort voor het frontend in, die zichtbaar moet zijn voor de gebruiker om toegang te krijgen tot de applicatie.
Last updated