mirror of
https://github.com/khoj-ai/khoj.git
synced 2024-11-30 19:03:01 +01:00
5f3f6b7c61
- Add a productionized setup for the Khoj server using `gunicorn` with multiple workers for handling requests - Add a new Dockerfile meant for production config at `ghcr.io/khoj-ai/khoj:prod`; the existing Docker config should remain the same
48 lines
1.1 KiB
YAML
48 lines
1.1 KiB
YAML
name: dockerize-prod
|
|
|
|
on:
|
|
pull_request:
|
|
push:
|
|
tags:
|
|
- "*"
|
|
branches:
|
|
- master
|
|
paths:
|
|
- src/khoj/**
|
|
- config/**
|
|
- pyproject.toml
|
|
- prod.Dockerfile
|
|
- .github/workflows/dockerize_production.yml
|
|
workflow_dispatch:
|
|
|
|
env:
|
|
DOCKER_IMAGE_TAG: 'prod'
|
|
|
|
jobs:
|
|
build:
|
|
name: Build Production Docker Image, Push to Container Registry
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout Code
|
|
uses: actions/checkout@v3
|
|
|
|
- name: Set up Docker Buildx
|
|
uses: docker/setup-buildx-action@v2
|
|
|
|
- name: Login to GitHub Container Registry
|
|
uses: docker/login-action@v2
|
|
with:
|
|
registry: ghcr.io
|
|
username: ${{ github.repository_owner }}
|
|
password: ${{ secrets.PAT }}
|
|
|
|
- name: 📦 Build and Push Docker Image
|
|
uses: docker/build-push-action@v2
|
|
with:
|
|
context: .
|
|
file: prod.Dockerfile
|
|
platforms: linux/amd64
|
|
push: true
|
|
tags: ghcr.io/${{ github.repository }}:${{ env.DOCKER_IMAGE_TAG }}
|
|
build-args: |
|
|
PORT=42110
|