mirror of
https://github.com/danny-avila/LibreChat.git
synced 2025-12-30 15:18:50 +01:00
wip: testing container workflows and deployment images (#715)
* feat: add Dockerfile.multi for building API, Client, and Data Provider feat: add nginx.conf for client-side routing in Nginx feat: add deploy-compose.yml for deploying the application with Docker Compose chore: update version in deploy-compose.yml to 3.8 chore: remove unused configuration in docs/dev/deploy-compose.yml * chore(Dockerfile.multi): Remove data-provider build stage chore(deploy-compose.yml): Add NODE_ENV=production environment variable * chore(Dockerfile.multi): add environment variable NODE_OPTIONS with value "--max-old-space-size=776" feat(Dockerfile.multi): copy client build output to api build stage * chore(Dockerfile.multi): update NODE_OPTIONS to increase max-old-space-size to 2048 chore(deploy-compose.yml): remove NODE_ENV=production environment variable * feat(dev-images.yml): add GitHub Actions workflow for Docker multi-stage build on push to main branch
This commit is contained in:
parent
369b1f4eba
commit
32281d1b8d
5 changed files with 155 additions and 43 deletions
46
.github/workflows/dev-images.yml
vendored
Normal file
46
.github/workflows/dev-images.yml
vendored
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
name: Docker Multi-Stage Build on Push to Main
|
||||
|
||||
# The workflow is triggered when a push is made to the main branch
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
# Check out the repository
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
|
||||
# Set up Docker
|
||||
- name: Set up Docker
|
||||
uses: docker/setup-buildx-action@v1
|
||||
|
||||
# Log in to GitHub Container Registry
|
||||
- name: Log in to GitHub Container Registry
|
||||
uses: docker/login-action@v2
|
||||
with:
|
||||
registry: ghcr.io
|
||||
username: ${{ github.actor }}
|
||||
password: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
# Build Docker images
|
||||
- name: Build Docker images
|
||||
run: |
|
||||
cp .env.example .env
|
||||
docker build -f Dockerfile.multi --target api-build -t librechat-dev-api .
|
||||
docker build -f Dockerfile.multi --target prod-stage -t librechat-dev-client .
|
||||
docker build -f Dockerfile -t librechat-dev .
|
||||
|
||||
# Tag and push the images to GitHub Container Registry
|
||||
- name: Tag and push images
|
||||
run: |
|
||||
docker tag librechat-dev-api:latest ghcr.io/${{ github.repository_owner }}/librechat-dev-api:${{ github.sha }}
|
||||
docker push ghcr.io/${{ github.repository_owner }}/librechat-dev-api:${{ github.sha }}
|
||||
docker tag librechat-dev-client:latest ghcr.io/${{ github.repository_owner }}/librechat-dev-client:${{ github.sha }}
|
||||
docker push ghcr.io/${{ github.repository_owner }}/librechat-dev-client:${{ github.sha }}
|
||||
docker tag librechat-dev:latest ghcr.io/${{ github.repository_owner }}/librechat-dev:${{ github.sha }}
|
||||
docker push ghcr.io/${{ github.repository_owner }}/librechat-dev:${{ github.sha }}
|
||||
Loading…
Add table
Add a link
Reference in a new issue