diff --git a/.github/workflows/dev-ci-cd.yaml b/.github/workflows/dev-ci-cd.yaml index eb814641..730e52a5 100644 --- a/.github/workflows/dev-ci-cd.yaml +++ b/.github/workflows/dev-ci-cd.yaml @@ -76,6 +76,14 @@ jobs: echo "${{ secrets.HF_TOKEN }}" >> ${{ github.workspace }}/deploy/dev/secrets/hf_token.txt chmod 400 ${{ github.workspace }}/deploy/dev/secrets/hf_token.txt + # create env file to set tag(s) for docker-compose + - name: Create Env File + run: | + touch ${{ github.workspace }}/deploy/dev/.env + export tag="${GITHUB_REF#refs/heads/}" + export tag="${tag//\//-}.${GITHUB_SHA}" + echo "TAG=${tag}" >> ${{ github.workspace }}/deploy/dev/.env + # stop any existing docker compose that's running - name: Stop Docker Compose run: | diff --git a/.github/workflows/prod-801-ci-cd.yaml b/.github/workflows/prod-801-ci-cd.yaml index 9545044f..9ce19d93 100644 --- a/.github/workflows/prod-801-ci-cd.yaml +++ b/.github/workflows/prod-801-ci-cd.yaml @@ -43,6 +43,14 @@ jobs: echo "${{ secrets.HF_TOKEN }}" >> ${{ github.workspace }}/deploy/prod-801/secrets/hf_token.txt chmod 400 ${{ github.workspace }}/deploy/prod-801/secrets/hf_token.txt + # create env file to set tag(s) for docker-compose + - name: Create Env File + run: | + touch ${{ github.workspace }}/deploy/prod-801/.env + export tag="${GITHUB_REF#refs/heads/}" + export tag="${tag//\//-}.${GITHUB_SHA}" + echo "TAG=${tag}" >> ${{ github.workspace }}/deploy/prod-801/.env + # stop any existing docker compose that's running - name: Stop Docker Compose run: | diff --git a/.github/workflows/prod-ci-cd.yaml b/.github/workflows/prod-ci-cd.yaml index ff66085a..827cbdc7 100644 --- a/.github/workflows/prod-ci-cd.yaml +++ b/.github/workflows/prod-ci-cd.yaml @@ -76,6 +76,14 @@ jobs: echo "${{ secrets.HF_TOKEN }}" >> ${{ github.workspace }}/deploy/prod/secrets/hf_token.txt chmod 400 ${{ github.workspace }}/deploy/prod/secrets/hf_token.txt + # create env file to set tag(s) for docker-compose + - name: Create Env File + run: | + touch ${{ github.workspace }}/deploy/prod/.env + export tag="${GITHUB_REF#refs/heads/}" + export tag="${tag//\//-}.${GITHUB_SHA}" + echo "TAG=${tag}" >> ${{ github.workspace }}/deploy/prod/.env + # stop any existing docker compose that's running - name: Stop Docker Compose run: | diff --git a/.github/workflows/prod-meta-ci-cd.yaml b/.github/workflows/prod-meta-ci-cd.yaml index eca19a19..72c3e672 100644 --- a/.github/workflows/prod-meta-ci-cd.yaml +++ b/.github/workflows/prod-meta-ci-cd.yaml @@ -71,10 +71,18 @@ jobs: echo "${{ secrets.HF_TOKEN }}" >> ${{ github.workspace }}/deploy/prod-meta/secrets/hf_token.txt chmod 400 ${{ github.workspace }}/deploy/prod-meta/secrets/hf_token.txt - # # stop any existing docker compose that's running - # - name: Stop Docker Compose - # run: | - # ssh submit06 'bash -s' < ${{ github.workspace }}/deploy/prod-meta/prod-meta-stop.sh + # create env file to set tag(s) for docker-compose + - name: Create Env File + run: | + touch ${{ github.workspace }}/deploy/prod-meta/.env + export tag="${GITHUB_REF#refs/heads/}" + export tag="${tag//\//-}.${GITHUB_SHA}" + echo "TAG=${tag}" >> ${{ github.workspace }}/deploy/prod-meta/.env + + # stop any existing docker compose that's running + - name: Stop Docker Compose + run: | + ssh submit06 'bash -s' < ${{ github.workspace }}/deploy/prod-meta/prod-meta-stop.sh # copy repository to machine - name: Copy Repository diff --git a/.github/workflows/prod-root-ci-cd.yaml b/.github/workflows/prod-root-ci-cd.yaml index e9c0799a..9b6e8dfe 100644 --- a/.github/workflows/prod-root-ci-cd.yaml +++ b/.github/workflows/prod-root-ci-cd.yaml @@ -43,6 +43,14 @@ jobs: echo "${{ secrets.HF_TOKEN }}" >> ${{ github.workspace }}/deploy/prod-root/secrets/hf_token.txt chmod 400 ${{ github.workspace }}/deploy/prod-root/secrets/hf_token.txt + # create env file to set tag(s) for docker-compose + - name: Create Env File + run: | + touch ${{ github.workspace }}/deploy/prod-root/.env + export tag="${GITHUB_REF#refs/heads/}" + export tag="${tag//\//-}.${GITHUB_SHA}" + echo "TAG=${tag}" >> ${{ github.workspace }}/deploy/prod-root/.env + # stop any existing docker compose that's running - name: Stop Docker Compose run: | diff --git a/deploy/dev/dev-compose.yaml b/deploy/dev/dev-compose.yaml index a6776e5d..cf4028dc 100644 --- a/deploy/dev/dev-compose.yaml +++ b/deploy/dev/dev-compose.yaml @@ -1,5 +1,6 @@ services: cleo-dev: + image: cleo-dev:${TAG} build: context: ../.. dockerfile: deploy/dockerfiles/Dockerfile-cleo @@ -33,9 +34,13 @@ services: - hf_token volumes: - a2rchi-dev-data:/root/data/ + logging: + options: + max-size: 10m restart: always chat-dev: + image: chat-dev:${TAG} build: context: ../.. dockerfile: deploy/dockerfiles/Dockerfile-chat @@ -51,11 +56,15 @@ services: - hf_token volumes: - a2rchi-dev-data:/root/data/ + logging: + options: + max-size: 10m ports: - 7682:7861 # host:container restart: always mailbox-dev: + image: mailbox-dev:${TAG} build: context: ../.. dockerfile: deploy/dockerfiles/Dockerfile-mailbox @@ -91,9 +100,13 @@ services: - sender_pw - openai_api_key - hf_token + logging: + options: + max-size: 10m restart: always data-manager-dev: + image: data-manager-dev:${TAG} build: context: ../.. dockerfile: deploy/dockerfiles/Dockerfile-data-manager @@ -115,9 +128,13 @@ services: - 5003:5001 # host:container volumes: - a2rchi-dev-data:/root/data/ + logging: + options: + max-size: 10m restart: always chromadb-dev: + image: chromadb-dev:${TAG} build: context: ../.. dockerfile: deploy/dockerfiles/Dockerfile-chroma @@ -127,6 +144,9 @@ services: - 8002:8000 # host:container volumes: - a2rchi-dev-data:/chroma/chroma/ + logging: + options: + max-size: 10m restart: always # healthcheck originates from inside container; so use container port healthcheck: diff --git a/deploy/prod-801/prod-801-compose.yaml b/deploy/prod-801/prod-801-compose.yaml index c6b41d62..221d5048 100644 --- a/deploy/prod-801/prod-801-compose.yaml +++ b/deploy/prod-801/prod-801-compose.yaml @@ -1,5 +1,6 @@ services: chat-prod-801: + image: chat-prod-801:${TAG} build: context: ../.. dockerfile: deploy/dockerfiles/Dockerfile-chat @@ -15,11 +16,15 @@ services: - hf_token volumes: - a2rchi-prod-801-data:/root/data/ + logging: + options: + max-size: 10m ports: - 7683:7861 # host:container restart: always data-manager-prod-801: + image: data-manager-prod-801:${TAG} build: context: ../.. dockerfile: deploy/dockerfiles/Dockerfile-data-manager @@ -44,9 +49,13 @@ services: volumes: - a2rchi-prod-801-data:/root/data/ - /home/tier3/a2rchi/801-content/:/root/data/801-content/ + logging: + options: + max-size: 10m restart: always chromadb-prod-801: + image: chromadb-prod-801:${TAG} build: context: ../.. dockerfile: deploy/dockerfiles/Dockerfile-chroma @@ -56,6 +65,9 @@ services: - 8003:8000 # host:container volumes: - a2rchi-prod-801-data:/chroma/chroma/ + logging: + options: + max-size: 10m restart: always # healthcheck originates from inside container; so use container port healthcheck: diff --git a/deploy/prod-meta/prod-meta-compose.yaml b/deploy/prod-meta/prod-meta-compose.yaml index 0e99580c..1c89d292 100644 --- a/deploy/prod-meta/prod-meta-compose.yaml +++ b/deploy/prod-meta/prod-meta-compose.yaml @@ -1,5 +1,6 @@ services: cleo-prod-meta: + image: cleo-prod-meta:${TAG} build: context: ../.. dockerfile: deploy/dockerfiles/Dockerfile-cleo @@ -30,9 +31,13 @@ services: - hf_token volumes: - a2rchi-prod-meta-data:/root/data/ + logging: + options: + max-size: 10m restart: always mailbox-prod: + image: mailbox-prod-meta:${TAG} build: context: ../.. dockerfile: deploy/dockerfiles/Dockerfile-mailbox @@ -65,6 +70,9 @@ services: - sender_pw - openai_api_key - hf_token + logging: + options: + max-size: 10m restart: always volumes: diff --git a/deploy/prod-root/prod-root-compose.yaml b/deploy/prod-root/prod-root-compose.yaml index 6e209da8..d574b8a3 100644 --- a/deploy/prod-root/prod-root-compose.yaml +++ b/deploy/prod-root/prod-root-compose.yaml @@ -1,5 +1,6 @@ services: chat-prod-root: + image: chat-prod-root:${TAG} build: context: ../.. dockerfile: deploy/dockerfiles/Dockerfile-chat @@ -17,9 +18,13 @@ services: - a2rchi-prod-root-data:/root/data/ ports: - 7684:7861 # host:container + logging: + options: + max-size: 10m restart: always data-manager-prod-root: + image: data-manager-prod-root:${TAG} build: context: ../.. dockerfile: deploy/dockerfiles/Dockerfile-data-manager @@ -44,9 +49,13 @@ services: volumes: - a2rchi-prod-root-data:/root/data/ - /home/tier3/a2rchi/root-content/:/root/data/root-content/ + logging: + options: + max-size: 10m restart: always chromadb-prod-root: + image: chromadb-prod-root:${TAG} build: context: ../.. dockerfile: deploy/dockerfiles/Dockerfile-chroma @@ -56,6 +65,9 @@ services: - 8004:8000 # host:container volumes: - a2rchi-prod-root-data:/chroma/chroma/ + logging: + options: + max-size: 10m restart: always # healthcheck originates from inside container; so use container port healthcheck: diff --git a/deploy/prod/prod-compose.yaml b/deploy/prod/prod-compose.yaml index a7d52d79..e634882a 100644 --- a/deploy/prod/prod-compose.yaml +++ b/deploy/prod/prod-compose.yaml @@ -1,5 +1,6 @@ services: cleo-prod: + image: cleo-prod:${TAG} build: context: ../.. dockerfile: deploy/dockerfiles/Dockerfile-cleo @@ -33,9 +34,13 @@ services: - hf_token volumes: - a2rchi-prod-data:/root/data/ + logging: + options: + max-size: 10m restart: always chat-prod: + image: chat-prod:${TAG} build: context: ../.. dockerfile: deploy/dockerfiles/Dockerfile-chat @@ -51,11 +56,15 @@ services: - hf_token volumes: - a2rchi-prod-data:/root/data/ + logging: + options: + max-size: 10m ports: - 7681:7861 # host:container restart: always mailbox-prod: + image: mailbox-prod:${TAG} build: context: ../.. dockerfile: deploy/dockerfiles/Dockerfile-mailbox @@ -91,9 +100,13 @@ services: - sender_pw - openai_api_key - hf_token + logging: + options: + max-size: 10m restart: always data-manager-prod: + image: data-manager-prod:${TAG} build: context: ../.. dockerfile: deploy/dockerfiles/Dockerfile-data-manager @@ -115,9 +128,13 @@ services: - 5001:5001 # host:container volumes: - a2rchi-prod-data:/root/data/ + logging: + options: + max-size: 10m restart: always chromadb-prod: + image: chromadb-prod:${TAG} build: context: ../.. dockerfile: deploy/dockerfiles/Dockerfile-chroma @@ -127,6 +144,9 @@ services: - 8000:8000 # host:container volumes: - a2rchi-prod-data:/chroma/chroma/ + logging: + options: + max-size: 10m restart: always # healthcheck originates from inside container; so use container port healthcheck: