diff --git a/playbooks/orion.yml b/playbooks/orion.yml
index 0d1e381bc2cf373c49851c51d4a41ed4f7e1c1b0..f61f8abb91947c74d1f3210a5b0d2f09f2f0a265 100644
--- a/playbooks/orion.yml
+++ b/playbooks/orion.yml
@@ -16,4 +16,4 @@
     - { role: dbscripts, repos_domain: "repos.archlinux.org", svntogit_repos: "/srv/svntogit/repos", tags: ['dbscripts', 'archusers'] }
     - { role: sudo, tags: ['sudo', 'archusers'] }
     - { role: archweb, archweb_home: "/srv/http/archweb", tags: ['archweb'] }
-    - { role: sources, sources_domain: "sources.archlinux.org", tags: ['sources'] }
+    - { role: sources, sources_domain: "sources.archlinux.org", sources_dir: "/srv/sources", tags: ['sources'] }
diff --git a/roles/sources/tasks/main.yml b/roles/sources/tasks/main.yml
index 6bb046372adbb3ec7e3e9b4f6a6a918e56c9630d..b26661a534fa522fbcb4e5456bb8ea663686a1c3 100644
--- a/roles/sources/tasks/main.yml
+++ b/roles/sources/tasks/main.yml
@@ -7,3 +7,12 @@
 
 - name: make nginx log dir
   file: path=/var/log/nginx/{{ sources_domain }} state=directory owner=http group=log mode=755
+
+- name: make sources dir
+  file: path={{ sources_dir }} state=directory owner=root group=root mode=755
+
+- name: make symlink to repo sources
+  file: path={{ sources_dir }}/sources src=/srv/ftp/sources state=link owner=root group=root mode=755
+
+- name: make symlink to other sources
+  file: path={{ sources_dir }}/other src=/srv/ftp/other state=link owner=root group=root mode=755
diff --git a/roles/sources/templates/nginx.d.conf.j2 b/roles/sources/templates/nginx.d.conf.j2
index c885d61ddd179f9cd5fa16090dc1754b83f222da..3738d694adf37738600f72c516b2dccfc94b09c2 100644
--- a/roles/sources/templates/nginx.d.conf.j2
+++ b/roles/sources/templates/nginx.d.conf.j2
@@ -26,7 +26,7 @@ server {
     ssl_trusted_certificate /etc/letsencrypt/live/{{ sources_domain }}/chain.pem;
     include snippets/sslsettings.conf;
 
-    root         /srv/ftp/sources;
+    root         {{ sources_dir }};
 
     autoindex on;
 }