f4ea01e9de
Build & Push / Build & Push Docker Image (push) Failing after 3m35s
- pass `NEXT_PUBLIC_CARPLACE_URL` into the production Docker build - keep `NEXT_PUBLIC_STOREFRONT_URL` as a backward-compatible fallback - run the production deploy script from the Gitea workflow after building - include `homepage` in production deploy, pull, and health-check service lists - allow deploy to use a release image already built locally on the VPS
40 lines
1.0 KiB
Bash
40 lines
1.0 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
set -euo pipefail
|
|
|
|
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
source "${ROOT_DIR}/scripts/docker-prod-common.sh"
|
|
|
|
echo "Deploying production release ${APP_IMAGE:-rentaldrivego/carmanagement}:${IMAGE_TAG:-${APP_VERSION:-<missing>}}"
|
|
|
|
ensure_env_file
|
|
load_prod_env_exports
|
|
ensure_traefik_network
|
|
ensure_api_uploads_volume
|
|
require_release_image
|
|
login_registry_if_configured
|
|
|
|
echo "Pulling release images"
|
|
pull_prod_release_images
|
|
|
|
echo "Starting shared infrastructure"
|
|
start_traefik
|
|
prod_compose up -d postgres redis
|
|
wait_for_healthy postgres 120
|
|
|
|
echo "Running database migrations"
|
|
run_prod_migrations
|
|
|
|
echo "Starting application services"
|
|
prod_compose up -d api homepage carplace dashboard admin
|
|
wait_for_healthy api 180
|
|
wait_for_healthy homepage 180
|
|
wait_for_healthy carplace 180
|
|
wait_for_healthy dashboard 180
|
|
wait_for_healthy admin 180
|
|
|
|
echo "Pruning old images"
|
|
docker image prune -f >/dev/null
|
|
|
|
echo "Production release ${APP_IMAGE:-rentaldrivego/carmanagement}:${IMAGE_TAG} is up and healthy."
|