diff --git a/roles/aurweb/tasks/main.yml b/roles/aurweb/tasks/main.yml
index 27cfa77851cb809802414300b369848cfc3bb2c2..219aae80b3614d8ab7b04cb969de3081e5685275 100644
--- a/roles/aurweb/tasks/main.yml
+++ b/roles/aurweb/tasks/main.yml
@@ -144,6 +144,12 @@
               priv="{{ aurweb_db }}.*:ALL"
   no_log: true
 
+- name: create directory for poetry configuration
+  file: path={{ aur_user.home }}/.config/pypoetry state=directory owner={{ aur_user.name }} group={{ aur_user.name }} mode=0755
+
+- name: install poetry configuration
+  copy: src=config.toml dest={{ aur_user.home }}/.config/pypoetry/ owner={{ aur_user.name }} group={{ aur_user.name }} mode=0644
+
 - name: initialize the database
   command: poetry run python -m aurweb.initdb
   args:
diff --git a/roles/aurweb/templates/aurweb-git-auth.sh.j2 b/roles/aurweb/templates/aurweb-git-auth.sh.j2
index b09939903689133e22f9ce386ef5cc5b1b75e30b..14feaa875380b6eb07055ac2251afda5077ef3bf 100644
--- a/roles/aurweb/templates/aurweb-git-auth.sh.j2
+++ b/roles/aurweb/templates/aurweb-git-auth.sh.j2
@@ -1,3 +1,2 @@
 #!/bin/bash
-cd "{{ aurweb_dir }}"
-exec poetry run aurweb-git-auth "$@"
+exec "{{ aurweb_dir }}/.venv/bin/aurweb-git-auth" "$@"
diff --git a/roles/aurweb/templates/aurweb-git-serve.sh.j2 b/roles/aurweb/templates/aurweb-git-serve.sh.j2
index fec501dfb6e44267b8fadcf9e042b460098e7c46..d04066935efc634cd725ab782f5bda635fdb7e2f 100644
--- a/roles/aurweb/templates/aurweb-git-serve.sh.j2
+++ b/roles/aurweb/templates/aurweb-git-serve.sh.j2
@@ -1,3 +1,3 @@
 #!/bin/bash
 cd "{{ aurweb_dir }}"
-exec poetry run aurweb-git-serve "$@"
+exec "{{ aurweb_dir }}/.venv/bin/aurweb-git-serve" "$@"