LogoLogo
Go to Syntho.AI
Dutch (AI Translated)
Dutch (AI Translated)
  • Welcome to Syntho
  • Overzicht
    • About Syntho
    • Get started
      • Introduction to data generation methods
      • Use Case: AI-generated synthetic data
      • Use Case: AI-generated synthetic time series data
      • Use Case: Database de-identification
    • Frequently asked questions
  • Werkruimten instellen
    • View workspaces
    • Create a workspace
      • Connect to a database
        • PostgreSQL
        • MySQL / MariaDB
        • Oracle
        • Microsoft SQL Server
        • DB2
        • Databricks
        • Hive
        • SAP Sybase
        • Azure Data Lake Storage (ADLS)
        • Amazon Simple Storage Service (S3)
    • Edit a workspace
    • Delete a workspace
    • Share a workspace
    • Transfer workspace ownership
  • Een gegevensgeneratietaak configureren
    • Configure table settings
    • Configure column settings
      • AI-powered generation
        • Sequence model
          • Prepare your sequence data
      • Mockers
        • Consistent mapping
        • Supported languages
      • Duplicate
      • Exclude
      • Hashing
      • Calculated columns
      • Primary Key / Foreign Key
    • Manage personally identifiable information (PII)
      • Discover and de-identify PII columns
        • Identify PII columns manually
        • Automatic PII discovery with PII scanner
      • Remove columns from PII list
      • Automatic PII discovery and de-identification in free text columns
      • Supported PII & PHI entities
    • Manage foreign keys
      • Foreign key inheritance
      • Add virtual foreign keys
        • Add virtual foreign keys
        • Use foreign key scanner
        • Import foreign keys via JSON
        • Export foreign keys via JSON
      • Delete foreign keys
      • Circular foreign key references
    • Validate and Synchronize workspace
    • View and adjust generation settings
    • Table relationships
      • Verify foreign keys
      • Synthesize individual tables with automatic key matching
      • De-identify PII columns
  • Syntho implementeren
    • Introduction
      • Syntho architecture
      • Requirements
        • Requirements for Docker deployments
        • Requirements for Kubernetes deployments
      • Access Docker images
        • Using internet
        • Without internet
    • Deploy Syntho using Docker
      • Preparations
      • Deploy using Docker Compose
      • Run the application
      • Manually saving logs
    • Deploy Syntho using Kubernetes
      • Preparations
      • Deploy Ray using Helm
        • Troubleshooting
      • Deploy Syntho using Helm
      • Validate the deployment
      • Troubleshooting
      • Upgrading the applications
    • Manage users and access
      • Single Sign-On (SSO) in Azure
      • Manage admin users
      • Manage non-admin users
    • Logs and monitoring
  • Subsetting
    • What is subsetting
    • Verify foreign keys
    • Configure subsetting
  • Syntho API
    • Syntho REST API
Powered by GitBook
On this page
  • Implementeren met Docker Compose
  • Introductie
  • Deployment stappen
  • Extra informatie

Was this helpful?

  1. Syntho implementeren
  2. Deploy Syntho using Docker

Deploy using Docker Compose

PreviousPreparationsNextRun the application

Last updated 10 months ago

Was this helpful?

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 . Het bestand dat gedownload moet worden van de release is docker-compose.tar.gz.

  • Gebruik docker login om in te loggen in de Syntho Container Registry, of docker load om images uit bestanden te laden. Zie Syntho Documentatie onder

  • Pak docker-compose.tar.gz uit met tar -xf docker-compose.tar.gz en open de uitgepakte map.

  • Kopieer voorbeeld.env naar .env met bijvoorbeeld het Linux commando cp 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 en ADMIN_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 waarde localhost: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 ofwel localhost 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:

# Als TLS wordt gebruikt, stel dan protocol in op https en secured_cookies op True
FRONTEND_PROTOCOL=https
SECURED_COOKIES="True".

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:

CORE_DATABASE_HOST=<database-host>
CORE_DATABASE_USER=<database-user>
CORE_DATABASE_PASSWORD=<database-paswoord>
CORE_DATABASE_NAME=<database-naam>

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:

CORE_CELERY_BROKER_URL=redis://<redis-host>:6379/0
CORE_CELERY_RESULT_BACKEND=redis://<redis-host>:6379/0
CORE_REDIS_HOST=redis
CORE_REDIS_PORT=6379

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 cryptografie niet is geïnstalleerd, installeer het dan met `pip install cryptography`.
python -c "from cryptography.fernet import Fernet; print(Fernet.generate_key().decode())"

Als er problemen ontstaan met de poort van de toepassing, kan de standaardpoort worden gewijzigd met de CORE_PORT variabele in het .env bestand.

CORE_PORT=8000

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

BACKEND_DB_HOST=<host>
BACKEND_DB_NAME=<database-naam>
BACKEND_DB_USER=<database-gebruiker>
BACKEND_DB_PASWOORD=<database-wachtwoord>
BACKEND_DB_PORT=<database-poort>

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.

BACKEND_REDIS_HOST=redis # Redis hostnaam om verbinding mee te maken
BACKEND_REDIS_PORT=6379 # Redis-poort om verbinding mee te maken
BACKEND_REDIS_DB_INDEX=1 # Redis database index om te gebruiken

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:

ADMIN_USERNAME=admin
ADMIN_PASSWORD=somepassword
ADMIN_EMAIL=admin@company.com

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:

BACKEND_POORT=8000

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:

BACKEND_SECRET_KEY="66n6ldql(b2g0jmop(gr)@x0tz!*^7(d1_$2#y&$t&3r$=cr%#"

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:

FRONTEND_PORT=3000

Deze variabele stelt de poort voor het frontend in, die zichtbaar moet zijn voor de gebruiker om toegang te krijgen tot de applicatie.

Releases
Deploy Syntho -> Introductie -> Toegang Docker images