gitea/1.sh
2025-03-05 23:57:34 +08:00

63 lines
1.5 KiB
Bash

#!/bin/bash
set -euo pipefail
sudo apt update -y
sudo apt install -y postgresql
#MAX_UPLOAD_SIZE = 300
# 创建用户(带存在判断)
sudo -u postgres psql <<EOF
DO \$\$
BEGIN
IF NOT EXISTS (SELECT FROM pg_catalog.pg_roles WHERE rolname = 'gitea') THEN
CREATE USER gitea WITH PASSWORD 'admin' SUPERUSER;
END IF;
END
\$\$;
EOF
# 创建数据库(带存在判断)
sudo -u postgres psql <<EOF
CREATE DATABASE gitea WITH
OWNER = gitea
ENCODING = 'UTF8'
LC_COLLATE = 'en_US.UTF-8'
LC_CTYPE = 'en_US.UTF-8'
TEMPLATE = template0
CONNECTION LIMIT = -1;
EOF
# 验证创建结果
sudo -u postgres psql -c "\du" | grep gitea
sudo -u postgres psql -c "\l" | grep gitea
sudo cp gitea-1.23.4-linux-amd64 gitea
chmod +x gitea
sudo mv gitea /usr/local/bin/
sudo adduser --system --shell /bin/bash --group --disabled-password --home /home/gitea gitea
sudo mkdir -p /var/lib/gitea/{custom,data,log}
sudo chown -R gitea:gitea /var/lib/gitea
sudo bash -c 'cat > /etc/systemd/system/gitea.service << EOF
[Unit]
Description=Gitea (Git with a cup of tea)
After=syslog.target
After=network.target
[Service]
User=gitea
Group=gitea
WorkingDirectory=/var/lib/gitea/
ExecStart=/usr/local/bin/gitea web --config /var/lib/gitea/custom/conf/app.ini
Restart=always
Environment=USER=gitea HOME=/home/gitea
[Install]
WantedBy=multi-user.target
EOF'
sudo systemctl daemon-reload
sudo systemctl start gitea
sudo systemctl enable gitea
sudo systemctl status gitea
echo "ok"