Skip to main content

Einleitung

Dieses Kapitel soll dir einen Einstieg bieten, um dein lokales Entwickler-Setup aufzusetzen damit du mit der SQUEEZE auf deinem Rechner starten kannst.

Dazu werden folgende Vorraussetzungen benötigt:

1. Docker Desktop installiert

2. Routing Einrichtung für *.localhost (macOS) (um squeeze.docker.localhost aufrufen zu können)

3. Task-Runner installiert

4. Git installieren

5. SSH-Key anlegen/in Azure DevOps hinterlegen

Repository lokal klonen

  1. Terminal/CMD öffnen und in einen Ordner deiner Wahl wechseln
  2. das SQUEEZE-Repo mit git clone git@ssh.dev.azure.com:v3/DEXPRO/DEXPRO%20Platform/SQUEEZE klonen

Danach kann das Projekt in der IDE z.B. PHPStorm geöffnet werden.

Initiales Setup

Lege zuerst eine docker-compose.override.yml mit folgendem Inhalt an:

services:
  squeeze:
    logging:
      driver: "local"
      options:
        max-size: "25m"
        max-file: "3"
    environment:
#      SQZ_WORKER_MANAGER_URL: "http://host.docker.internal:86"
#      SQZ_WORKER_MANAGER_ACTIVE: "false"
#      CLOCKWORK_ENABLED: "true"
      PHP_IDE_CONFIG: "serverName=Docker"
      XDEBUG_MODE: "debug" # use "off" to temporarily turn of the debugger
      XDEBUG_CONFIG: client_host=host.docker.internal
    external_links:
      - az-proxy-laravel.test-1:ocr-proxy
      - portal-laravel.test-1:portal
    volumes:
      - .:/var/www/html/squeeze
      - ./docker/volumes/repository:/var/www/html/repository:rw
      - ./docker/volumes/logs/backend:/var/www/html/logs:rw
  worker:
    environment:
#     SQZ_WORKER_MANAGER_URL: "http://host.docker.internal:86"
#      SQZ_WORKER_MANAGER_ACTIVE: "false"
#      SQZ_WORKER_MANAGER_FORCE: "false"
      SQZ_WORKER_DEBUG: "true"
      PHP_IDE_CONFIG: "serverName=Docker"
      SQZ_USE_TENANT_HOST_FOR_API_CALLS: "1"
      XDEBUG_MODE: "debug" # use "off" to temporarily turn of the debugger
      XDEBUG_CONFIG: client_host=host.docker.internal idekey=Docker
    external_links:
      - az-proxy-laravel.test-1:ocr-proxy
      - portal-laravel.test-1:portal
    volumes:
      - .:/var/www/html/squeeze
      - ./docker/volumes/repository:/var/www/html/repository:rw
      - ./docker/volumes/logs/worker:/var/www/html/logs:rw
  squeeze-system-api:
    environment:
      PHP_IDE_CONFIG: "serverName=Docker"
      XDEBUG_MODE: "debug" # use "off" to temporarily turn of the debugger
      XDEBUG_CONFIG: client_host=host.docker.internal
    volumes:
      - .:/var/www/html/squeeze
      - ./docker/volumes/repository:/var/www/html/repository:rw
      - ./docker/volumes/logs/backend:/var/www/html/logs:rw

  mariadb:
    ports:
      - 3306:3306

  elastic:
    ports:
      - 9200:9200

  rabbitmq:
    ports:
      - 5672:5672

  filebeat-squeeze:
    volumes:
      - ./docker/volumes/logs/backend:/mnt/logs/backend:ro
      - ./docker/volumes/logs/worker:/mnt/logs/worker:ro
      - ./docker/volumes/logs/systemapi:/mnt/logs/systemapi:ro

  frontend:
    platform: linux/amd64

#  traefik:
#    networks:
#      freeze:

#networks:
#  freeze:
#    external: true
#    name: freeze_default

Im SQUEEZE-Repository kannst du Squeeze mit den folgenden Commands aufsetzen

  1. task up (Startet den docker-compose stack)
  2. task setup-server (Richtet eine neue Squeeze Instanz ein)
  3. task setup-tenant (Setzt den Tenant squeeze.docker.localhost)
  4. docker compose restart worker
  5. task brt