Files
gitea/setup.sh
2025-12-03 14:11:03 +00:00

58 lines
1.7 KiB
Bash
Executable File

#!/bin/bash
# Ask the user if they want to start the initial setup or they want to migrate from an existing installation
read -r -p "Do you want to start the initial setup? (y/n): " INSTALL_GITEA
if [ -z "$INSTALL_GITEA" ] || [[ "$INSTALL_GITEA" != "y" && "$INSTALL_GITEA" != "n" ]]; then
echo "Skipping inital setup."
read -r -p "Do you want to migrate from an existing installation using scp? (y/n): " MIGRATE_GITEA
if [ "$MIGRATE_GITEA" == "y" ]; then
read -r -p "Enter the remote user@host:/destination/of/gitea/data: " REMOTE_PATH
sudo scp -r "$REMOTE_PATH" ./data
else
echo "Exiting setup."
exit 0
fi
else
touch .env
IPV4_ADDRESS=$(hostname -I | awk '{print $1}')
export IPV4_ADDRESS
echo "Current IPv4 Address: $IPV4_ADDRESS"
echo "Temporary enable port 3000 for initial setup ..."
sudo ufw allow 3000/tcp
sudo ufw reload
sudo ufw status
# Start the initial setup docker compose file
echo "Starting initial setup container ..."
docker compose -f config/docker-compose.init.yml up -d --force-recreate
docker logs gitea-init
echo "Container is running at http://$IPV4_ADDRESS:3000"
echo "Please complete the setup in the web interface."
read -r -p "Please add a runner key or press any key to continue after completing the setup..." RUNNER_KEY
if [ -n "$RUNNER_KEY" ]; then
echo "Runner key provided: $RUNNER_KEY"
echo "RUNNER_KEY=$RUNNER_KEY" >> .env
else
echo "No runner key provided. Continuing..."
fi
echo "ROOT_URL=http://$IPV4_ADDRESS:3000" >> .env
echo "Stopping initial setup container ..."
docker compose -f config/docker-compose.init.yml down
echo "Disabling temporary port 3000 ..."
sudo ufw delete allow 3000/tcp
sudo ufw reload
sudo ufw status
fi
# Get the current IPv4 address