feat: single container image (nginx + backend), fix fresh DB init

- deploy/Dockerfile: unified image with supervisord (nginx + uvicorn)
- distribution/docker-compose.single.yml: single container option
- distribution/README.md: 3 deployment options (single, compose, docker run)
- Fix: add status column to chat_messages CREATE TABLE (was only in migration, broke fresh DB)
- push-images.sh: builds 3 images (unified, backend, frontend)
This commit is contained in:
nogueiraguh
2026-04-02 15:07:45 -03:00
parent db983935b1
commit 1f92f4a9b9
5 changed files with 133 additions and 9 deletions

View File

@@ -9,12 +9,14 @@ OCIR_NAMESPACE="${OCIR_NAMESPACE:?Set OCIR_NAMESPACE}"
OCIR_REPO_PREFIX="${OCIR_REPO_PREFIX:-oci-cis-agent}"
IMAGE_TAG="${IMAGE_TAG:-latest}"
UNIFIED="${OCIR_REGION}.ocir.io/${OCIR_NAMESPACE}/${OCIR_REPO_PREFIX}:${IMAGE_TAG}"
BACKEND="${OCIR_REGION}.ocir.io/${OCIR_NAMESPACE}/${OCIR_REPO_PREFIX}-backend:${IMAGE_TAG}"
FRONTEND="${OCIR_REGION}.ocir.io/${OCIR_NAMESPACE}/${OCIR_REPO_PREFIX}-frontend:${IMAGE_TAG}"
echo "========================================"
echo "OCI CIS Agent — Build & Push to OCIR"
echo "========================================"
echo "Unified: $UNIFIED"
echo "Backend: $BACKEND"
echo "Frontend: $FRONTEND"
echo ""
@@ -29,33 +31,44 @@ echo "Frontend build OK."
# 2. Ensure buildx builder exists
docker buildx inspect multiarch >/dev/null 2>&1 || \
docker buildx create --name multiarch --use
docker buildx use multiarch
# 3. Login to OCIR
echo ">>> Logging in to OCIR..."
docker login "${OCIR_REGION}.ocir.io"
# 4. Build + push backend (multi-arch)
echo ">>> Building & pushing backend (amd64 + arm64)..."
# 4. Build + push UNIFIED image (single container — nginx + backend)
echo ">>> Building & pushing unified image (amd64 + arm64)..."
cd "$PROJECT_ROOT"
docker buildx build \
--platform linux/amd64,linux/arm64 \
-t "$UNIFIED" \
--push \
-f deploy/Dockerfile .
echo "Unified image pushed."
# 5. Build + push backend (multi-arch) — for docker-compose deployments
echo ">>> Building & pushing backend (amd64 + arm64)..."
docker buildx build \
--platform linux/amd64,linux/arm64 \
-t "$BACKEND" \
--push \
-f backend/Dockerfile backend/
echo "Backend image pushed."
# 5. Build + push frontend (multi-arch)
# 6. Build + push frontend (multi-arch) — for docker-compose deployments
echo ">>> Building & pushing frontend (amd64 + arm64)..."
docker buildx build \
--platform linux/amd64,linux/arm64 \
-t "$FRONTEND" \
--push \
-f deploy/Dockerfile.frontend .
echo "Frontend image pushed."
echo ""
echo "========================================"
echo "Done! Both images pushed."
echo "Backend: $BACKEND"
echo "Frontend: $FRONTEND"
echo "All 3 images pushed!"
echo "Unified: $UNIFIED (single container)"
echo "Backend: $BACKEND (docker-compose)"
echo "Frontend: $FRONTEND (docker-compose)"
echo "========================================"