diff --git a/roles/aurweb/tasks/main.yml b/roles/aurweb/tasks/main.yml index 300cdb1f0d20962fbd84b2f739e00fcf8e7afca0..588c83d025f5f9ead5a871a180280a540053ca06 100644 --- a/roles/aurweb/tasks/main.yml +++ b/roles/aurweb/tasks/main.yml @@ -10,6 +10,7 @@ - python-poetry - gcc - pkg-config + - goaurrpc - name: Install the cgit package pacman: @@ -132,6 +133,9 @@ - name: Copy aurweb configuration file copy: src={{ aurweb_dir }}/conf/config.defaults dest={{ aurweb_conf_dir }}/config.defaults remote_src=yes owner=root group=root mode=0644 +- name: Install goaurrpc configuration + template: src=goaurrpc.conf.j2 dest=/etc/goaurrpc.conf owner=root group=root mode=0644 + # Note: initdb needs the config - name: Install custom aurweb configuration template: src=config.j2 dest={{ aurweb_conf_dir }}/config owner=root group=root mode=0644 @@ -321,5 +325,6 @@ - aurweb-tuvotereminder.timer - aurweb-usermaint.timer - aurweb.service + - goaurrpc.service - aurweb-github-mirror.timer when: release.changed diff --git a/roles/aurweb/templates/goaurrpc.conf.j2 b/roles/aurweb/templates/goaurrpc.conf.j2 new file mode 100644 index 0000000000000000000000000000000000000000..a36e5f9515fb02b585d28336ea6853bc1d7a5095 --- /dev/null +++ b/roles/aurweb/templates/goaurrpc.conf.j2 @@ -0,0 +1,20 @@ +{ + "Port": 10666, + "AurFileLocation": "{{ aurweb_dir }}/web/html/packages-meta-ext-v1.json.gz", + "MaxResults": 5000, + "RefreshInterval": 150, + "RateLimit": 4000, + "LoadFromFile": true, + "RateLimitCleanupInterval": 600, + "RateLimitTimeWindow": 86400, + "TrustedReverseProxies": [ + "127.0.0.1", + "::1" + ], + "EnableSSL": false, + "CertFile": "", + "KeyFile": "", + "EnableSearchCache": true, + "CacheCleanupInterval": 60, + "CacheExpirationTime": 180 +} diff --git a/roles/aurweb/templates/nginx.d.conf.j2 b/roles/aurweb/templates/nginx.d.conf.j2 index 6369d5db1bb805bf0f98e98ed2a709856e1ca522..0ddfdea2afc507e3628264dfa657bd27f491b511 100644 --- a/roles/aurweb/templates/nginx.d.conf.j2 +++ b/roles/aurweb/templates/nginx.d.conf.j2 @@ -112,6 +112,12 @@ server { add_header Cache-Control "public, must-revalidate, proxy-revalidate"; } + location /rpc { + rewrite ^/rpc.php /rpc last; + proxy_pass http://127.0.0.1:10666/rpc; + proxy_set_header X-Forwarded-For $remote_addr; + } + location / { # Proxy over to aurweb's ASGI application. proxy_pass http://{{ aurweb_asgi_bind }};