#!/usr/bin/env bash set -euo pipefail version="${1:-}" if [[ -z "$version" ]]; then echo "Usage: $0 " exit 1 fi script_dir="$(cd "$(dirname "$0")" && pwd)" project_dir="$(cd "$script_dir/.." && pwd)" release_dir="$project_dir/release" bundle_dir="$release_dir/screen-share-$version" archive="$release_dir/screen-share-$version.tar.gz" if [[ -e "$bundle_dir" || -e "$archive" ]]; then echo "Release already exists: $bundle_dir or $archive" exit 1 fi mkdir -p "$bundle_dir/infra/livekit" "$bundle_dir/infra/nginx" "$bundle_dir/docs" docker build -t "screenshare-api:$version" "$project_dir/apps/ScreenShareApi" docker build -t "screenshare-web:$version" "$project_dir/apps/ScreenShareWeb" docker pull postgres:16-alpine docker pull livekit/livekit-server:v1.9.10 docker save + -o "$bundle_dir/images.tar" + "screenshare-api:$version" + "screenshare-web:$version" + postgres:16-alpine + livekit/livekit-server:v1.9.10 cp "$project_dir/docker-compose.yml" "$bundle_dir/" cp "$project_dir/.env.example" "$bundle_dir/" cp "$project_dir/infra/livekit/livekit.yaml" "$bundle_dir/infra/livekit/" cp "$project_dir/infra/nginx/screenshare.conf.example" "$bundle_dir/infra/nginx/" cp "$project_dir/docs/SERVER_DEPLOYMENT.md" "$bundle_dir/docs/" cat > "$bundle_dir/RELEASE_VERSION" <