Show pageBacklinksBack to top This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. ====== Gitea ====== ===== Installation ===== $ apt install software-properties-common apache2 wget git $ apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8 $ add-apt-repository 'deb [arch=amd64,i386,ppc64el] http://nyc2.mirrors.digitalocean.com/mariadb/repo/10.1/ubuntu xenial main' $ apt update $ apt install -y mariadb-server $ systemctl enable mariadb $ systemctl start mariadb $ mysql_secure_installation ===== Configuration ===== $ mysql -u root -p MariaDB [(none)]> create database gitea; MariaDB [(none)]> grant all privileges on gitea.* to 'gitea'@localhost identified by 'your_password'; $ adduser \ --system \ --shell /bin/bash \ --gecos 'Git Version Control' \ --group \ --disabled-password \ --home /home/git \ git $ mkdir /usr/local/bin/gitea $ mkdir /var/local/www/git $ vim /etc/systemd/system/gitea.service < /etc/systemd/system/gitea.service > [Unit] Description=Gitea (Git with a cup of tea) After=syslog.target After=network.target ### # Don't forget to add the database service requirements ### # #Requires=mysql.service #Requires=mariadb.service #Requires=postgresql.service #Requires=memcached.service #Requires=redis.service # ### # If using socket activation for main http/s ### # #After=gitea.main.socket #Requires=gitea.main.socket # ### # (You can also provide gitea an http fallback and/or ssh socket too) # # An example of /etc/systemd/system/gitea.main.socket ### ## ## [Unit] ## Description=Gitea Web Socket ## PartOf=gitea.service ## ## [Socket] ## Service=gitea.service ## ListenStream=<some_port> ## NoDelay=true ## ## [Install] ## WantedBy=sockets.target ## ### [Service] # Modify these two values and uncomment them if you have # repos with lots of files and get an HTTP error 500 because # of that ### #LimitMEMLOCK=infinity #LimitNOFILE=65535 RestartSec=2s Type=simple User=git Group=git # WorkingDirectory=/var/lib/gitea/ WorkingDirectory=/usr/local/bin/gitea # If using Unix socket: tells systemd to create the /run/gitea folder, which will contain the gitea.sock file # (manually creating /run/gitea doesn't work, because it would not persist across reboots) #RuntimeDirectory=gitea # ExecStart=/usr/local/bin/gitea web --config /etc/gitea/app.ini ExecStart=/usr/local/bin/gitea/gitea web Restart=always # Environment=USER=git HOME=/home/git GITEA_WORK_DIR=/var/lib/gitea Environment=USER=git HOME=/home/git # If you want to bind Gitea to a port below 1024, uncomment # the two values below, or use socket activation to pass Gitea its ports as above ### #CapabilityBoundingSet=CAP_NET_BIND_SERVICE #AmbientCapabilities=CAP_NET_BIND_SERVICE ### [Install] WantedBy=multi-user.target $ cd /usr/local/bin/gitea $ wget -O gitea https://dl.gitea.io/gitea/1.4.2/gitea-1.4.2-linux-amd64 $ chmod +x /usr/local/bin/gitea/gitea $ chown -R root:git /usr/local/bin/gitea $ chmod 0775 /usr/local/bin/gitea $ chmod g+s /usr/local/bin/gitea $ chown -R root:git /var/local/www/git $ mkdir /var/local/www/git/repos $ chmod 0775 /var/local/www/git/repos $ systemctl start gitea.service $ systemctl enable gitea.service $ systemctl status gitea.service selfhosted/gitea.txt Last modified: 2023/07/03 00:58by hli