63 lines
1.5 KiB
Bash
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"
|
|
|