$ 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.
I often need to check for inconsistent capitalization in my tex files. So listing all the consecutive capitalized words and characters helps me to decide which one is intentional capitalization and which one is not. The following bash script has two functions can lists all terms (Capitalized Phrase) and acronyms used throughout the input file.
1 2 3 4 5 6 7 8 9 10
$ terms filename.tex 19 Cloud Station 9 Sensor Gateway 7 Sensor Cloud Infrastructure ... $ acronyms filename.tex 34 VM 13 IaaS 13 CPU ...
Rumal is a C++ library that can generate HTML/CSS/Javascript code from significantly identical C++ syntax. Currently it uses std::string which is supposed to be replaced with compile time strings. Injecting placeholders, is also planned but not yet implemented. This will make it usable as a template engine.
I am working on Tash which is an Open Source C++ library for ArangoDB Database which includes APIs for HTTP based document access and a query builder for AQL (Arango Query Language). These are a few example usages.