diff --git a/docker-compose.yml b/docker-compose.yml deleted file mode 100644 index a93bf75..0000000 --- a/docker-compose.yml +++ /dev/null @@ -1,22 +0,0 @@ -services: - msdt: - build: . - platform: ${PLATFORM:-linux/amd64} - container_name: msdt - environment: - - APP_ENV=${APP_ENV:-prod} - - MARKETING_DB_HOST=${MARKETING_DB_HOST} - - MARKETING_DB_PORT=${MARKETING_DB_PORT} - - MARKETING_DB_USER=${MARKETING_DB_USER} - - MARKETING_DB_PASSWORD=${MARKETING_DB_PASSWORD} - - MARKETING_DB_NAME=${MARKETING_DB_NAME} - - YMT_DB_HOST=${YMT_DB_HOST} - - YMT_DB_PORT=${YMT_DB_PORT} - - YMT_DB_USER=${YMT_DB_USER} - - YMT_DB_PASSWORD=${YMT_DB_PASSWORD} - - YMT_DB_NAME=${YMT_DB_NAME} - - YMT_KEY_DECRYPT_KEY_B64=${YMT_KEY_DECRYPT_KEY_B64} - ports: - - "8077:8077" - volumes: - - ./server/storage:/app/storage diff --git a/scripts/deploy.sh b/scripts/deploy.sh index d1fb5ba..3993deb 100644 --- a/scripts/deploy.sh +++ b/scripts/deploy.sh @@ -1,28 +1,22 @@ -#!/usr/bin/env sh -set -e -ENV=${1:-prod} -MODE=${2:-no-build} -ENVFILE="" -if [ -f ".env.$ENV" ]; then ENVFILE="--env-file .env.$ENV"; fi -PLATFORM=${PLATFORM:-} -if [ -z "$PLATFORM" ]; then - ARCH=$(uname -m) - case "$ARCH" in - x86_64) PLATFORM="linux/amd64" ;; - aarch64) PLATFORM="linux/arm64" ;; - *) PLATFORM="linux/amd64" ;; - esac +#!/usr/bin/env bash +set -euo pipefail +ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" +ENV_NAME="${1:-prod}" +export APP_ENV="$ENV_NAME" +cd "$ROOT_DIR" +if [ -f ".env.$ENV_NAME" ]; then + true +elif [ -f "server/.env.$ENV_NAME" ]; then + true +else + echo ".env.$ENV_NAME not found" >&2 + exit 1 fi -export PLATFORM -case "$MODE" in - no-build) - APP_ENV=$ENV docker compose $ENVFILE up -d ;; - rebuild) - APP_ENV=$ENV docker compose $ENVFILE build --no-cache - APP_ENV=$ENV docker compose $ENVFILE up -d ;; - pull) - APP_ENV=$ENV docker compose $ENVFILE build --pull - APP_ENV=$ENV docker compose $ENVFILE up -d ;; - build|*) - APP_ENV=$ENV docker compose $ENVFILE up -d --build ;; -esac +mkdir -p log +cd "$ROOT_DIR/server" +go build -o "bin/marketing-data-server" "./cmd/server" +cd "$ROOT_DIR" +TARGET="$ROOT_DIR/server/bin/marketing-data-server" +nohup env APP_ENV="$ENV_NAME" "$TARGET" > "$ROOT_DIR/log/server.out" 2>&1 & +echo $! > "$ROOT_DIR/server/bin/server.pid" +echo "started: $TARGET pid $(cat "$ROOT_DIR/server/bin/server.pid")" diff --git a/scripts/deploy_image.sh b/scripts/deploy_image.sh deleted file mode 100644 index a5b4388..0000000 --- a/scripts/deploy_image.sh +++ /dev/null @@ -1,69 +0,0 @@ -#!/usr/bin/env bash -set -euo pipefail - -ENV=${1:-test} -IMAGE=${2:-marketingsystemdatatool_msdt:latest} -CMD=${3:-up} -PLATFORM=${PLATFORM:-} -if [ -z "$PLATFORM" ]; then - ARCH=$(uname -m) - case "$ARCH" in - x86_64) PLATFORM="linux/amd64" ;; - aarch64) PLATFORM="linux/arm64" ;; - *) PLATFORM="linux/amd64" ;; - esac -fi - -ROOT_DIR=$(cd "$(dirname "$0")/.." && pwd) - -if [ -f "$ROOT_DIR/.env.$ENV" ]; then - set -a - . "$ROOT_DIR/.env.$ENV" - set +a -fi - -case "$CMD" in - up) - docker rm -f msdt >/dev/null 2>&1 || true - PLATFORM_FLAG="" - if [ -n "$PLATFORM" ]; then PLATFORM_FLAG="--platform $PLATFORM"; fi - IMG_ARCH="" - if docker image inspect "$IMAGE" >/dev/null 2>&1; then - IMG_ARCH=$(docker image inspect "$IMAGE" --format '{{.Architecture}}' 2>/dev/null || echo "") - fi - if [ -n "$IMG_ARCH" ]; then - HOST_ARCH=$(uname -m) - case "$HOST_ARCH" in x86_64) HOST_ARCH="amd64" ;; aarch64) HOST_ARCH="arm64" ;; *) HOST_ARCH="amd64" ;; esac - if [ "$IMG_ARCH" != "$HOST_ARCH" ]; then - docker pull --platform "$PLATFORM" "$IMAGE" >/dev/null 2>&1 || true - PLATFORM_FLAG="--platform $PLATFORM" - fi - else - docker pull --platform "$PLATFORM" "$IMAGE" >/dev/null 2>&1 || true - fi - docker run -d --name msdt $PLATFORM_FLAG \ - -p 8077:8077 \ - -e APP_ENV="$ENV" \ - -e MARKETING_DB_HOST="${MARKETING_DB_HOST:-}" \ - -e MARKETING_DB_PORT="${MARKETING_DB_PORT:-}" \ - -e MARKETING_DB_USER="${MARKETING_DB_USER:-}" \ - -e MARKETING_DB_PASSWORD="${MARKETING_DB_PASSWORD:-}" \ - -e MARKETING_DB_NAME="${MARKETING_DB_NAME:-}" \ - -e YMT_DB_HOST="${YMT_DB_HOST:-}" \ - -e YMT_DB_PORT="${YMT_DB_PORT:-}" \ - -e YMT_DB_USER="${YMT_DB_USER:-}" \ - -e YMT_DB_PASSWORD="${YMT_DB_PASSWORD:-}" \ - -e YMT_DB_NAME="${YMT_DB_NAME:-}" \ - -v "$ROOT_DIR/server/storage:/app/storage" \ - "$IMAGE" ;; - down) - docker rm -f msdt >/dev/null 2>&1 || true ;; - restart) - docker restart msdt ;; - logs) - docker logs -f msdt ;; - *) - echo "usage: deploy_image.sh [up|down|restart|logs]" >&2 - echo "env overrides: set PLATFORM=linux/amd64 or PLATFORM=linux/arm64 if needed" >&2 - exit 1 ;; -esac diff --git a/server/bin/marketing-data-server b/server/bin/marketing-data-server index 9597e13..215f071 100755 Binary files a/server/bin/marketing-data-server and b/server/bin/marketing-data-server differ