docker compose setup and .env generation in monorepo scripts
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
+76
-2
@@ -778,7 +778,81 @@ else
|
||||
warn "Skipping bun install (bun not found or not in project dir)"
|
||||
fi
|
||||
|
||||
# ─── 16. remote desktop (XFCE + VNC) ────────────────────────────────────────
|
||||
# ─── 16. environment (.env) ──────────────────────────────────────────────────
|
||||
echo ""
|
||||
echo "── Environment (.env) ──"
|
||||
|
||||
GENERATE_ENV=true
|
||||
|
||||
if [ -f "$PROJECT_DIR/.env" ]; then
|
||||
echo -n " .env already exists. Regenerate? (y/n) [n]: "
|
||||
read -r REGEN
|
||||
if [[ "$REGEN" != "y" && "$REGEN" != "Y" ]]; then
|
||||
GENERATE_ENV=false
|
||||
skip ".env (kept existing)"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "$GENERATE_ENV" = true ]; then
|
||||
# Run setup-dockers.sh and capture its stdout output
|
||||
echo " Setting up Docker Compose services..."
|
||||
DOCKER_OUTPUT=$(bash "$SCRIPT_DIR/setup-dockers.sh")
|
||||
|
||||
# Parse output from setup-dockers.sh
|
||||
COMPOSE_DIR=$(echo "$DOCKER_OUTPUT" | grep '^COMPOSE_DIR=' | cut -d= -f2-)
|
||||
POSTGRES_URL=$(echo "$DOCKER_OUTPUT" | grep '^POSTGRES_URL=' | cut -d= -f2-)
|
||||
DOCKER_MAIL_TRANSPORT=$(echo "$DOCKER_OUTPUT" | grep '^MAIL_TRANSPORT=' | cut -d= -f2-)
|
||||
|
||||
# Prompt for remaining values
|
||||
echo ""
|
||||
echo -n " PORT [9010]: "
|
||||
read -r ENV_PORT
|
||||
ENV_PORT="${ENV_PORT:-9010}"
|
||||
|
||||
echo -n " PUBLIC_URL (required): "
|
||||
read -r ENV_PUBLIC_URL
|
||||
while [ -z "$ENV_PUBLIC_URL" ]; do
|
||||
warn "PUBLIC_URL is required"
|
||||
echo -n " PUBLIC_URL: "
|
||||
read -r ENV_PUBLIC_URL
|
||||
done
|
||||
|
||||
echo -n " DATA_PATH [/mnt/data]: "
|
||||
read -r ENV_DATA_PATH
|
||||
ENV_DATA_PATH="${ENV_DATA_PATH:-/mnt/data}"
|
||||
|
||||
MAIL_DEFAULT="${DOCKER_MAIL_TRANSPORT:-smtp://127.0.0.1:1025}"
|
||||
echo -n " MAIL_TRANSPORT [$MAIL_DEFAULT]: "
|
||||
read -r ENV_MAIL_TRANSPORT
|
||||
ENV_MAIL_TRANSPORT="${ENV_MAIL_TRANSPORT:-$MAIL_DEFAULT}"
|
||||
|
||||
echo -n " DISCORD_BUG_REPORT_WEBHOOK []: "
|
||||
read -r ENV_DISCORD_WEBHOOK
|
||||
|
||||
if [ -z "$POSTGRES_URL" ]; then
|
||||
echo -n " POSTGRES_URL: "
|
||||
read -r POSTGRES_URL
|
||||
fi
|
||||
|
||||
# Auto-generate values
|
||||
JWT_SECRET=$(openssl rand -base64 48 | tr -d '/+=' | head -c 48)
|
||||
|
||||
# Write .env
|
||||
cat > "$PROJECT_DIR/.env" <<ENVFILE
|
||||
PORT=$ENV_PORT
|
||||
JWT_SECRET="$JWT_SECRET"
|
||||
MAIL_TRANSPORT="$ENV_MAIL_TRANSPORT"
|
||||
PUBLIC_URL=$ENV_PUBLIC_URL
|
||||
DATA_PATH=$ENV_DATA_PATH
|
||||
HOME_DIR=$HOME
|
||||
POSTGRES_URL="$POSTGRES_URL"
|
||||
DISCORD_BUG_REPORT_WEBHOOK="$ENV_DISCORD_WEBHOOK"
|
||||
ENVFILE
|
||||
|
||||
ok ".env written to $PROJECT_DIR/.env"
|
||||
fi
|
||||
|
||||
# ─── 17. remote desktop (XFCE + VNC) ────────────────────────────────────────
|
||||
echo ""
|
||||
echo "── Remote Desktop (XFCE + VNC) ──"
|
||||
|
||||
@@ -795,7 +869,7 @@ else
|
||||
esac
|
||||
fi
|
||||
|
||||
# ─── 17. PTY sidecar (systemd service) ──────────────────────────────────────
|
||||
# ─── 18. PTY sidecar (systemd service) ──────────────────────────────────────
|
||||
bash "$SCRIPT_DIR/setup-pty-sidecar.sh"
|
||||
|
||||
# ─── verification ─────────────────────────────────────────────────────────────
|
||||
|
||||
Reference in New Issue
Block a user