mirror of
https://github.com/Mintplex-Labs/anything-llm.git
synced 2025-03-13 21:52:22 +00:00
Docker image updates (#1896)
* bump base image * Bump mysql * attestations * attestations perms * attestations perms * fix permissions for attestetions for master push * test cleanup * repin base image * revert base * patch frontend-clean * force resolve braces to fixed version * rebump
This commit is contained in:
parent
75b6710052
commit
b275008b19
6 changed files with 1257 additions and 1149 deletions
.github/workflows
docker
frontend
server
93
.github/workflows/build-and-push-image-updates.yaml
vendored
Normal file
93
.github/workflows/build-and-push-image-updates.yaml
vendored
Normal file
|
@ -0,0 +1,93 @@
|
|||
# This Github action is for publishing of the primary image for AnythingLLM
|
||||
# It will publish a linux/amd64 and linux/arm64 image at the same time
|
||||
# This file should ONLY BY USED FOR `master` BRANCH.
|
||||
# TODO: Update `runs-on` for arm64 when GitHub finally supports
|
||||
# native arm environments as QEMU takes around 1 hour to build
|
||||
# ref: https://github.com/actions/runner-images/issues/5631 :(
|
||||
name: Docker image updates
|
||||
|
||||
concurrency:
|
||||
group: build-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: ['docker-updates'] # master branch only. Do not modify.
|
||||
paths-ignore:
|
||||
- '**.md'
|
||||
- 'cloud-deployments/*'
|
||||
- 'images/**/*'
|
||||
- '.vscode/**/*'
|
||||
- '**/.env.example'
|
||||
- '.github/ISSUE_TEMPLATE/**/*'
|
||||
- 'embed/**/*' # Embed should be published to frontend (yarn build:publish) if any changes are introduced
|
||||
- 'server/utils/agents/aibitat/example/**/*' # Do not push new image for local dev testing of new aibitat images.
|
||||
|
||||
jobs:
|
||||
push_multi_platform_to_registries:
|
||||
name: Push updated Docker image for scout
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
packages: write
|
||||
contents: read
|
||||
steps:
|
||||
- name: Check out the repo
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Check if DockerHub build needed
|
||||
shell: bash
|
||||
run: |
|
||||
# Check if the secret for USERNAME is set (don't even check for the password)
|
||||
if [[ -z "${{ secrets.DOCKER_USERNAME }}" ]]; then
|
||||
echo "DockerHub build not needed"
|
||||
echo "enabled=false" >> $GITHUB_OUTPUT
|
||||
else
|
||||
echo "DockerHub build needed"
|
||||
echo "enabled=true" >> $GITHUB_OUTPUT
|
||||
fi
|
||||
id: dockerhub
|
||||
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v3
|
||||
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
|
||||
- name: Log in to Docker Hub
|
||||
uses: docker/login-action@f4ef78c080cd8ba55a85445d5b36e214a81df20a
|
||||
# Only login to the Docker Hub if the repo is mintplex/anythingllm, to allow for forks to build on GHCR
|
||||
if: steps.dockerhub.outputs.enabled == 'true'
|
||||
with:
|
||||
username: ${{ secrets.DOCKER_USERNAME }}
|
||||
password: ${{ secrets.DOCKER_PASSWORD }}
|
||||
|
||||
- name: Log in to the Container registry
|
||||
uses: docker/login-action@65b78e6e13532edd9afa3aa52ac7964289d1a9c1
|
||||
with:
|
||||
registry: ghcr.io
|
||||
username: ${{ github.actor }}
|
||||
password: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Extract metadata (tags, labels) for Docker
|
||||
id: meta
|
||||
uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7
|
||||
with:
|
||||
images: |
|
||||
${{ steps.dockerhub.outputs.enabled == 'true' && 'mintplexlabs/anythingllm' || '' }}
|
||||
tags: |
|
||||
type=ref,event=branch
|
||||
|
||||
- name: Build and push multi-platform Docker image
|
||||
id: docker_build
|
||||
uses: docker/build-push-action@v6
|
||||
with:
|
||||
context: .
|
||||
file: ./docker/Dockerfile
|
||||
sbom: true
|
||||
provenance: mode=max
|
||||
push: true
|
||||
platforms: linux/amd64
|
||||
tags: ${{ steps.meta.outputs.tags }}
|
||||
labels: ${{ steps.meta.outputs.labels }}
|
||||
cache-from: type=gha
|
||||
cache-to: type=gha,mode=max
|
5
.github/workflows/build-and-push-image.yaml
vendored
5
.github/workflows/build-and-push-image.yaml
vendored
|
@ -81,13 +81,14 @@ jobs:
|
|||
type=ref,event=tag
|
||||
type=ref,event=pr
|
||||
|
||||
|
||||
- name: Build and push multi-platform Docker image
|
||||
uses: docker/build-push-action@v5
|
||||
uses: docker/build-push-action@v6
|
||||
with:
|
||||
context: .
|
||||
file: ./docker/Dockerfile
|
||||
push: true
|
||||
sbom: true
|
||||
provenance: mode=max
|
||||
platforms: linux/amd64,linux/arm64
|
||||
tags: ${{ steps.meta.outputs.tags }}
|
||||
labels: ${{ steps.meta.outputs.labels }}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# Setup base image
|
||||
FROM ubuntu:jammy-20230916 AS base
|
||||
FROM ubuntu:jammy-20240627.1 AS base
|
||||
|
||||
# Build arguments
|
||||
ARG ARG_UID=1000
|
||||
|
@ -138,7 +138,7 @@ USER anythingllm
|
|||
FROM frontend-deps AS build-stage
|
||||
COPY ./frontend/ ./frontend/
|
||||
WORKDIR /app/frontend
|
||||
RUN yarn build && yarn cache clean
|
||||
RUN yarn build && yarn cache clean && rm -rf node_modules
|
||||
WORKDIR /app
|
||||
|
||||
# Setup the server
|
||||
|
|
2286
frontend/yarn.lock
2286
frontend/yarn.lock
File diff suppressed because it is too large
Load diff
|
@ -63,7 +63,7 @@
|
|||
"moment": "^2.29.4",
|
||||
"mssql": "^10.0.2",
|
||||
"multer": "^1.4.5-lts.1",
|
||||
"mysql2": "^3.9.7",
|
||||
"mysql2": "^3.9.8",
|
||||
"node-html-markdown": "^1.3.0",
|
||||
"node-llama-cpp": "^2.8.0",
|
||||
"ollama": "^0.5.0",
|
||||
|
@ -101,4 +101,4 @@
|
|||
"nodemon": "^2.0.22",
|
||||
"prettier": "^3.0.3"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1598,6 +1598,11 @@ available-typed-arrays@^1.0.7:
|
|||
dependencies:
|
||||
possible-typed-array-names "^1.0.0"
|
||||
|
||||
aws-ssl-profiles@^1.1.1:
|
||||
version "1.1.1"
|
||||
resolved "https://registry.yarnpkg.com/aws-ssl-profiles/-/aws-ssl-profiles-1.1.1.tgz#21ef8ad77d753927f6c01b144c5ef4cc4f150cdc"
|
||||
integrity sha512-+H+kuK34PfMaI9PNU/NSjBKL5hh/KDM9J72kwYeYEm0A8B1AC4fuCy3qsjnA7lxklgyXsB68yn8Z2xoZEjgwCQ==
|
||||
|
||||
axios@^1.4.0, axios@^1.6.2, axios@^1.6.5:
|
||||
version "1.6.8"
|
||||
resolved "https://registry.yarnpkg.com/axios/-/axios-1.6.8.tgz#66d294951f5d988a00e87a0ffb955316a619ea66"
|
||||
|
@ -4749,11 +4754,12 @@ mute-stream@^1.0.0:
|
|||
resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-1.0.0.tgz#e31bd9fe62f0aed23520aa4324ea6671531e013e"
|
||||
integrity sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==
|
||||
|
||||
mysql2@^3.9.7:
|
||||
version "3.9.7"
|
||||
resolved "https://registry.yarnpkg.com/mysql2/-/mysql2-3.9.7.tgz#843755daf65b5ef08afe545fe14b8fb62824741a"
|
||||
integrity sha512-KnJT8vYRcNAZv73uf9zpXqNbvBG7DJrs+1nACsjZP1HMJ1TgXEy8wnNilXAn/5i57JizXKtrUtwDB7HxT9DDpw==
|
||||
mysql2@^3.9.8:
|
||||
version "3.10.3"
|
||||
resolved "https://registry.yarnpkg.com/mysql2/-/mysql2-3.10.3.tgz#82646a2b9018370769ae1bb590e015af190e070d"
|
||||
integrity sha512-k43gmH9i79rZD4hGPdj7pDuT0UBiFjs4UzXEy1cJrV0QqcSABomoLwvejqdbcXN+Vd7gi999CVM6o9vCPKq29g==
|
||||
dependencies:
|
||||
aws-ssl-profiles "^1.1.1"
|
||||
denque "^2.1.0"
|
||||
generate-function "^2.3.1"
|
||||
iconv-lite "^0.6.3"
|
||||
|
|
Loading…
Add table
Reference in a new issue