#!/bin/bash set -euo pipefail source /opt/gitea/env.sh # Gitea user if ! id -u $GITEA_USER >/dev/null 2>&1; then adduser \ --system \ --shell /bin/bash \ --gecos 'Git Version Control' \ --group \ --disabled-password \ --home /home/git \ $GITEA_USER fi echo "---- Gitea user created ----" # Gitea folder structure mkdir -p $GITEA_HOME/{custom,data,log} chown -R $GITEA_USER:$GITEA_USER $GITEA_HOME chmod -R 750 $GITEA_HOME if [ ! -f $GITEA_BINARY ]; then wget -O /tmp/gitea "https://dl.gitea.com/gitea/$GITEA_VERSION/gitea-$GITEA_VERSION-linux-amd64" chmod +x /tmp/gitea mv /tmp/gitea $GITEA_BINARY fi echo "---- Gitea folder structure created ----" # Postgres initial config DB_PASS=$(openssl rand -base64 12) sudo -u postgres psql </dev/null 2>&1; then echo "---- Backup found, restoring Gitea ----" /usr/local/bin/restore-backup.sh else echo "---- No backup found in $GITEA_BACKUPS_DIR, skipping restore ----" fi sudo chown -R $GITEA_USER:$GITEA_USER $GITEA_BACKUPS_DIR sudo chmod -R 770 $GITEA_BACKUPS_DIR GITEA_SECRET_KEY=$("$GITEA_BINARY" generate secret SECRET_KEY) GITEA_JWT_SECRET=$("$GITEA_BINARY" generate secret JWT_SECRET) GITEA_INTERNAL_TOKEN=$("$GITEA_BINARY" generate secret INTERNAL_TOKEN) mkdir -p $(dirname "$GITEA_CONF") cat > "$GITEA_CONF" <