mirror of
https://github.com/timokz/flutter-vienna-hackathon-25.git
synced 2025-11-09 03:34:21 +01:00
47 lines
1.3 KiB
Bash
47 lines
1.3 KiB
Bash
#!/bin/bash
|
|
set -e # Exit on any error
|
|
|
|
# Variables for configuration
|
|
DART_VERSION=3.5.1
|
|
USERNAME=ec2-user
|
|
WORKDIR=/home/$USERNAME
|
|
DART_INSTALL_DIR="/usr/lib/dart$DART_VERSION"
|
|
|
|
# Uncomment the following lines if migrating from an older serverpod CLI version
|
|
# if [ -f "/etc/profile.d/script.sh" ]; then
|
|
# sudo rm /etc/profile.d/script.sh
|
|
# fi
|
|
|
|
# Install the specified Dart version if not already installed
|
|
if [ ! -d "$DART_INSTALL_DIR" ]; then
|
|
echo "Installing Dart $DART_VERSION..."
|
|
wget -q https://storage.googleapis.com/dart-archive/channels/stable/release/$DART_VERSION/sdk/dartsdk-linux-x64-release.zip -P /tmp
|
|
cd /tmp || exit
|
|
unzip -q dartsdk-linux-x64-release.zip
|
|
sudo mv dart-sdk/ "$DART_INSTALL_DIR"
|
|
sudo chmod -R 755 "$DART_INSTALL_DIR"
|
|
rm -rf dartsdk-linux-x64-release.zip
|
|
fi
|
|
|
|
# Make symlink for Dart binaries
|
|
sudo ln -sf "$DART_INSTALL_DIR/bin/dart" /usr/local/bin/dart
|
|
|
|
# Write the systemd unit file
|
|
cat > /lib/systemd/system/serverpod.service << EOF
|
|
[Unit]
|
|
Description=Serverpod server
|
|
After=network.target
|
|
Wants=network-online.target
|
|
|
|
[Service]
|
|
User=$USERNAME
|
|
WorkingDirectory=$WORKDIR
|
|
ExecStart=$WORKDIR/serverpod/active/wien_talks_server/deploy/aws/scripts/run_serverpod
|
|
Restart=always
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|
|
EOF
|
|
|
|
# Reload systemd configuration
|
|
systemctl daemon-reload
|