From 0dc2d9118f23be418f52e419ea2bc9892cf54235 Mon Sep 17 00:00:00 2001 From: Mateusz Kolodziejczyk Date: Fri, 28 Mar 2025 12:17:02 +0100 Subject: [PATCH 1/3] Revert "Removed native ARM support" This reverts commit 1568b20604b427d6f3a85c402f223db7c0f2268c. --- .github/workflows/beta-image.yml | 1 + .github/workflows/build-and-push.yml | 1 + docker-compose-dev-macos.yml | 92 ---------------------------- docker-compose-dev.yml | 4 ++ docker/PythonDockerfile | 11 +++- docker/PythonDockerfileDev | 11 +++- 6 files changed, 26 insertions(+), 94 deletions(-) delete mode 100644 docker-compose-dev-macos.yml diff --git a/.github/workflows/beta-image.yml b/.github/workflows/beta-image.yml index a87f3357..3e1ed5bc 100644 --- a/.github/workflows/beta-image.yml +++ b/.github/workflows/beta-image.yml @@ -81,6 +81,7 @@ jobs: file: "./docker/PythonDockerfile" platforms: | linux/amd64 + linux/arm64 # Note: tags have to be all lower-case tags: ${{ steps.meta_python.outputs.tags }} labels: ${{ steps.meta_python.outputs.labels }} diff --git a/.github/workflows/build-and-push.yml b/.github/workflows/build-and-push.yml index 24f5d96d..370fa657 100644 --- a/.github/workflows/build-and-push.yml +++ b/.github/workflows/build-and-push.yml @@ -98,6 +98,7 @@ jobs: file: "./docker/PythonDockerfile" platforms: | linux/amd64 + linux/arm64 # Note: tags have to be all lower-case tags: ${{ steps.meta_python.outputs.tags }} labels: ${{ steps.meta_python.outputs.labels }} diff --git a/docker-compose-dev-macos.yml b/docker-compose-dev-macos.yml deleted file mode 100644 index c35aeb5f..00000000 --- a/docker-compose-dev-macos.yml +++ /dev/null @@ -1,92 +0,0 @@ -name: linguacafedev - -networks: - linguacafedev: - driver: bridge - -services: - webserver: - container_name: linguacafe-webserver-dev - restart: unless-stopped - build: - context: . - dockerfile: ./docker/PhpDockerfileDev - depends_on: - mysql: - condition: service_healthy - volumes: - - ./:/var/www/html - - ./docker/vhost.conf:/etc/apache2/sites-available/000-default.conf - - ./docker/supervisor-horizon.conf:/etc/supervisor/conf.d/horizon.conf - - ./docker/supervisor-websockets.conf:/etc/supervisor/conf.d/websockets.conf - environment: - PYTHON_CONTAINER_NAME: linguacafe-python-service-dev - DB_DATABASE: linguacafe-dev - DB_USERNAME: linguacafe-dev - DB_PASSWORD: linguacafe-dev - DB_HOST: linguacafe-database-dev - DB_PORT: 3306 - REDIS_HOST: linguacafe-redis-dev - BACKUP_INTERVAL: "0,15,30,45 * * * *" - MAX_SAVED_BACKUPS: 8 - ports: - - "6001:6001" - - "3000:3000" - - "81:80" - networks: - - linguacafedev - extra_hosts: - - "host.docker.internal:host-gateway" - mysql: - image: mysql:8.0 - container_name: linguacafe-database-dev - restart: unless-stopped - tty: true - healthcheck: - test: ["CMD", 'mysqladmin', 'ping', '-h', 'localhost', '-u', 'root', '-p$MYSQL_ROOT_PASSWORD'] - interval: 5s - timeout: 5s - retries: 10 - ports: - - "3308:3306" - volumes: - - ./docker/mysql:/var/lib/mysql - environment: - MYSQL_DATABASE: linguacafe-dev - MYSQL_USER: linguacafe-dev - MYSQL_PASSWORD: linguacafe-dev - MYSQL_ROOT_PASSWORD: linguacafe-dev - SERVICE_NAME: linguacafe-dev - networks: - - linguacafedev - redis: - image: redis:7.2-alpine - container_name: linguacafe-redis-dev - restart: unless-stopped - volumes: - - ./cache:/data - ports: - - "6379:6379" - environment: - REDIS_PASSWORD: linguacafe-dev - REDIS_PORT: 6379 - REDIS_DATABASES: 16 - networks: - - linguacafedev - python: - container_name: linguacafe-python-service-dev - command: "python3 /app/tokenizer.py" - restart: unless-stopped - tty: true - ports: - - "8678:8678" - build: - dockerfile: ./docker/PythonDockerfileDev - volumes: - - ./tools:/app - - ./storage/app:/var/www/html/storage/app - networks: - - linguacafedev - environment: - PYTHONPATH: "/var/www/html/storage/app/model" - platform: linux/amd64 \ No newline at end of file diff --git a/docker-compose-dev.yml b/docker-compose-dev.yml index 43dc1a41..c334cd98 100644 --- a/docker-compose-dev.yml +++ b/docker-compose-dev.yml @@ -82,6 +82,10 @@ services: - "8678:8678" build: dockerfile: ./docker/PythonDockerfileDev +# for testing arm build +# platforms: +# - linux/arm64 +# - linux/amd64 volumes: - ./tools:/app - ./storage/app:/var/www/html/storage/app diff --git a/docker/PythonDockerfile b/docker/PythonDockerfile index ec29c33b..a415514f 100644 --- a/docker/PythonDockerfile +++ b/docker/PythonDockerfile @@ -2,7 +2,12 @@ FROM ubuntu:22.04 WORKDIR /app RUN apt-get update -y \ - && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ + && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ + build-essential \ + curl \ + gfortran \ + liblapack-dev \ + libopenblas-dev \ python3 \ python3-dev \ pip \ @@ -14,7 +19,11 @@ RUN addgroup --gid 1000 laravel \ && adduser --ingroup laravel --disabled-password --gecos "" --shell /bin/sh laravel USER laravel +SHELL ["/bin/bash", "-o", "pipefail", "-c"] +RUN curl https://sh.rustup.rs -sSf | sh -s -- -y + RUN pip install -U --no-cache-dir \ + pip \ setuptools \ wheel \ lxml \ diff --git a/docker/PythonDockerfileDev b/docker/PythonDockerfileDev index 57923070..977a3d3d 100644 --- a/docker/PythonDockerfileDev +++ b/docker/PythonDockerfileDev @@ -2,7 +2,12 @@ FROM ubuntu:22.04 WORKDIR /app RUN apt-get update -y \ - && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ + && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ + build-essential \ + curl \ + gfortran \ + liblapack-dev \ + libopenblas-dev \ python3 \ python3-dev \ pip \ @@ -14,7 +19,11 @@ RUN addgroup --gid 1000 laravel \ && adduser --ingroup laravel --disabled-password --gecos "" --shell /bin/sh laravel USER laravel +SHELL ["/bin/bash", "-o", "pipefail", "-c"] +RUN curl https://sh.rustup.rs -sSf | sh -s -- -y + RUN pip install -U --no-cache-dir \ + pip \ setuptools \ wheel \ lxml \ From c50884e528a375dfd65f5796b1114ac40a8fef3e Mon Sep 17 00:00:00 2001 From: Mateusz Kolodziejczyk Date: Fri, 28 Mar 2025 13:05:29 +0100 Subject: [PATCH 2/3] feat: add generic arch for BLISS --- docker-compose-dev.yml | 4 ++-- docker-compose.yml | 6 +++--- docker/PythonDockerfile | 2 +- docker/PythonDockerfileDev | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/docker-compose-dev.yml b/docker-compose-dev.yml index c334cd98..981a0646 100644 --- a/docker-compose-dev.yml +++ b/docker-compose-dev.yml @@ -43,7 +43,7 @@ services: restart: unless-stopped tty: true healthcheck: - test: ["CMD", 'mysqladmin', 'ping', '-h', 'localhost', '-u', 'root', '-p$MYSQL_ROOT_PASSWORD'] + test: ["CMD", 'mysqladmin', 'ping', '-h', 'localhost', '-u', 'root', '-plinguacafe-dev'] interval: 5s timeout: 5s retries: 10 @@ -63,7 +63,7 @@ services: image: redis:7.2-alpine container_name: linguacafe-redis-dev restart: unless-stopped - volumes: + volumes: - ./cache:/data ports: - "6379:6379" diff --git a/docker-compose.yml b/docker-compose.yml index d43d80b9..26c3e3b7 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -37,7 +37,7 @@ services: restart: unless-stopped tty: true healthcheck: - test: ["CMD", 'mysqladmin', 'ping', '-h', 'localhost', '-u', 'root', '-p$MYSQL_ROOT_PASSWORD'] + test: ["CMD", 'mysqladmin', 'ping', '-h', 'localhost', '-u', 'root', '-p${DB_ROOT_PASSWORD:-linguacafe}'] interval: 10s timeout: 5s retries: 10 @@ -56,7 +56,7 @@ services: image: redis:7.2-alpine container_name: linguacafe-redis restart: unless-stopped - volumes: + volumes: - ./cache:/data ports: - "6379:6379" @@ -78,4 +78,4 @@ services: - ./storage:/var/www/html/storage networks: - linguacafe - platform: ${PLATFORM:-} \ No newline at end of file + platform: ${PLATFORM:-} diff --git a/docker/PythonDockerfile b/docker/PythonDockerfile index a415514f..3b3b144e 100644 --- a/docker/PythonDockerfile +++ b/docker/PythonDockerfile @@ -21,7 +21,7 @@ USER laravel SHELL ["/bin/bash", "-o", "pipefail", "-c"] RUN curl https://sh.rustup.rs -sSf | sh -s -- -y - +ENV BLIS_ARCH="generic" RUN pip install -U --no-cache-dir \ pip \ setuptools \ diff --git a/docker/PythonDockerfileDev b/docker/PythonDockerfileDev index 977a3d3d..eba0e39c 100644 --- a/docker/PythonDockerfileDev +++ b/docker/PythonDockerfileDev @@ -21,7 +21,7 @@ USER laravel SHELL ["/bin/bash", "-o", "pipefail", "-c"] RUN curl https://sh.rustup.rs -sSf | sh -s -- -y - +ENV BLIS_ARCH="generic" RUN pip install -U --no-cache-dir \ pip \ setuptools \ From 6a035ac3e1a841b23d80164feb40b42f9538878b Mon Sep 17 00:00:00 2001 From: Mateusz Kolodziejczyk Date: Fri, 28 Mar 2025 13:29:59 +0100 Subject: [PATCH 3/3] feat: remove rust dependency --- docker/PythonDockerfile | 1 - docker/PythonDockerfileDev | 1 - 2 files changed, 2 deletions(-) diff --git a/docker/PythonDockerfile b/docker/PythonDockerfile index 3b3b144e..c72e0319 100644 --- a/docker/PythonDockerfile +++ b/docker/PythonDockerfile @@ -20,7 +20,6 @@ RUN addgroup --gid 1000 laravel \ USER laravel SHELL ["/bin/bash", "-o", "pipefail", "-c"] -RUN curl https://sh.rustup.rs -sSf | sh -s -- -y ENV BLIS_ARCH="generic" RUN pip install -U --no-cache-dir \ pip \ diff --git a/docker/PythonDockerfileDev b/docker/PythonDockerfileDev index eba0e39c..e7e02448 100644 --- a/docker/PythonDockerfileDev +++ b/docker/PythonDockerfileDev @@ -20,7 +20,6 @@ RUN addgroup --gid 1000 laravel \ USER laravel SHELL ["/bin/bash", "-o", "pipefail", "-c"] -RUN curl https://sh.rustup.rs -sSf | sh -s -- -y ENV BLIS_ARCH="generic" RUN pip install -U --no-cache-dir \ pip \