Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
 
 
 

70 строки
1.6 KiB

  1. #!/usr/bin/env bash
  2. set -Eeuo pipefail
  3. # Target server runtime installer. It only loads packaged Docker images and
  4. # starts docker compose; it does not build source code.
  5. SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
  6. cd "$SCRIPT_DIR"
  7. DEPLOY_ENV="${DEPLOY_ENV:-emp-test}"
  8. PROJECT_NAME="${PROJECT_NAME:-$DEPLOY_ENV}"
  9. ENV_FILE="${ENV_FILE:-.env}"
  10. COMPOSE_FILE="${COMPOSE_FILE:-docker-compose.yml}"
  11. IMAGE_TAR="${IMAGE_TAR:-images.tar}"
  12. log() {
  13. echo "[$(date '+%Y-%m-%d %H:%M:%S')] $*"
  14. }
  15. die() {
  16. echo "ERROR: $*" >&2
  17. exit 1
  18. }
  19. need_cmd() {
  20. command -v "$1" >/dev/null 2>&1 || die "Missing command: $1"
  21. }
  22. need_cmd docker
  23. if docker compose version >/dev/null 2>&1; then
  24. DC=(docker compose)
  25. elif command -v docker-compose >/dev/null 2>&1; then
  26. DC=(docker-compose)
  27. else
  28. die "Missing docker compose"
  29. fi
  30. if [[ ! -f "$ENV_FILE" ]]; then
  31. cp .env.example "$ENV_FILE"
  32. die "Generated $ENV_FILE. Update passwords, PUBLIC_HOST and ports, then rerun: bash install.sh"
  33. fi
  34. if [[ ! -f "$COMPOSE_FILE" ]]; then
  35. die "Missing compose file: $COMPOSE_FILE"
  36. fi
  37. if [[ -f "$IMAGE_TAR" ]]; then
  38. log "Load images: $IMAGE_TAR"
  39. docker load -i "$IMAGE_TAR"
  40. else
  41. log "Image tar not found: $IMAGE_TAR. Compose will use local or remote images."
  42. fi
  43. log "Start deploy env: $DEPLOY_ENV, project: $PROJECT_NAME"
  44. "${DC[@]}" \
  45. --env-file "$ENV_FILE" \
  46. -f "$COMPOSE_FILE" \
  47. -p "$PROJECT_NAME" \
  48. up -d
  49. log "Current service status"
  50. "${DC[@]}" \
  51. --env-file "$ENV_FILE" \
  52. -f "$COMPOSE_FILE" \
  53. -p "$PROJECT_NAME" \
  54. ps
  55. log "Done. Visit http://PUBLIC_HOST:ADMIN_HOST_PORT from the configured .env values."