$ sudo apt-get install postgresql postgresql-contrib $ sudo -u postgres psql postgres=# create database git; postgres=# create user git with encrypted password 'pass'; postgres=# grant all privileges on database git to git; postgres=# create database woodpecker; postgres=# create user woodpecker with encrypted password 'pass'; postgres=# grant all privileges on database woodpecker to woodpecker; postgres=# exit
nginx
Save the following as sudo vim /etc/nginx/sites-available/gitea.conf
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
server { listen80; server_name git.YOUR_DOMAIN.com;
Open /etc/systemd/system/gitea.service and uncoment postgresql lines.
Start the service
1
$ sudo systemctl start gitea
open http://IP_ADDRESS:3000 and configure the database settings.
Open /etc/gitea/app.ini and and change ROOT_URL to git.YOUR_DOMAIN.com.
1
$ sudo systemctl restart gitea
Now visit http://git.YOUR_DOMAIN.com/admin/applications.
Add Woodpecker application with Redirect URI http://woodpecker.YOUR_DOMAIN.com/authorize and copy the client id and the secret somewhere as we will need then in next steps.
Create file /etc/systemd/system/woodpecker.service and paste the following
The last environment variable is added because there is a bug and that seting that seems to be an workaround. Start woodpecker service.
1
$ sudo systemctl start woodpecker
Now visit http://woodpecker.YOUR_DOMAIN.com. it should redirect you to http://git.YOUR_DOMAIN.com for authentication. Ideally it should be done by now. But the problem is it will crash due to this issue. The workaround is to change WOODPECKER_GITEA_URL to http://woodpecker.YOUR_DOMAIN.com:3000. For some reason, woodpecker server crashes when gitea is behind nginx proxy.
If woodpecker crashes then do the following to get the backtrace
Now if the woodpecker server is working then we can proceed further. We need to change the gitea port because woodpecker-agent listens to 3000 which will already be in use by gitea. So, open /etc/gitea/app.ini and change the HTTP_PORT to 4000. Open the nginx configuration file /etc/nginx/sites-enabled/gitea.conf and change 3000 to 4000. Now restart both services and check whether everything is working by opening git.YOUR_DOMAIN.com.
Open /etc/gitea/app.ini and update ROOT_URL=https://git.YOUR_DOMAIN.com/ then restart gitea service. Open /etc/woodpecker.conf and update WOODPECKER_HOST and WOODPECKER_GITEA_URL with https urls. Restart woodpecker service. Visit http://git.YOUR_DOMAIN.com/admin/applications again and update the Redirect URL with https.
Installing gitea and woodpecker using binary packages