#!/bin/bash # ファイルフルパス INITIAL_DIR=$(pwd) LOG_FILE="$INITIAL_DIR/logfile.log" ODMS_CLOUD_DIR="../" ENV_FILE_PATH="../.env" CLIENT_ENV_FILE="../dictation_client/.env.local" SERVER_ENV_FILE="../dictation_server/.env.local" # ログ関数 log_message() { echo "$(date '+%Y-%m-%d %H:%M:%S') - $1" | tee -a "$LOG_FILE" } # コマンド存在確認 check_command() { command -v "$1" >/dev/null 2>&1 } # Docker確認 check_docker_version() { DOCKER_VERSION=$(docker --version 2>/dev/null | grep -o '[0-9.]*' | head -1) if [[ -z "$DOCKER_VERSION" ]]; then log_message "ERROR: Docker is not installed or not available in PATH." return 1 else log_message "Docker version $DOCKER_VERSION is available." return 0 fi } # Dev Container CLI 確認 check_devcontainer_cli() { if check_command "devcontainer"; then log_message "Dev Container CLI is available." return 0 else log_message "ERROR: Dev Container CLI is not installed." return 1 fi } # logfile.log が存在しないとき作成 touch logfile.log # スクリプト実行に必要なパッケージ確認 log_message "Starting dependency check..." if ! check_docker_version; then log_message "Dependency check failed: Docker is required." exit 1 fi if ! check_devcontainer_cli; then log_message "Dependency check failed: Dev Container CLI is required." exit 1 fi log_message "All dependencies are met. Proceeding with the script..." # .envファイル確認 if [ -f "$ENV_FILE_PATH" ]; then log_message ".env file found at $ENV_FILE_PATH" else log_message "ERROR: .env file not found at $ENV_FILE_PATH" exit 1 fi # clientの.env.localファイル確認 if [ -f "$CLIENT_ENV_FILE" ]; then log_message ".env.local file found in dictation_client." else log_message "ERROR: .env.local file missing in dictation_client." exit 1 fi # serverの.env.localファイル確認 if [ -f "$SERVER_ENV_FILE" ]; then log_message ".env.local file found in dictation_server." else log_message "ERROR: .env.local file missing in dictation_server." exit 1 fi log_message "All required .env files are present." # 1: dictation_client に Dev Container 起動, ローカル用サイトビルドする sh ./buildclient.sh # 2: dictation_server に Dev Container 起動, ローカル用のサーバー起動する sh ./runserver.sh