Also support --homedir option on gpg invocation
diff --git a/aptly/map.jinja b/aptly/map.jinja
index 93d52a7..22882c4 100644
--- a/aptly/map.jinja
+++ b/aptly/map.jinja
@@ -12,7 +12,8 @@
     'gpg': {
       'keypair_id': pillar.aptly.server.gpg_keypair_id|default(''),
       'passphrase': pillar.aptly.server.gpg_passphrase|default(''),
-      'keyring': 'trustedkeys.gpg',
+      'keyring': '.gnupg/trustedkeys.gpg',
+      'homedir': '.gnupg',
       'keyserver': 'keys.gnupg.net',
     },
     'user': {
diff --git a/aptly/meta/sphinx.yml b/aptly/meta/sphinx.yml
index 74f3a12..167efdf 100644
--- a/aptly/meta/sphinx.yml
+++ b/aptly/meta/sphinx.yml
@@ -17,7 +17,12 @@
         gpg:
           value:
             keypair_id: {{ server.gpg.keypair_id }}
+            {%- if server.gpg.get('keyring', None) %}
             keyring: {{ server.gpg.keyring }}
+            {%- endif %}
+            {%- if server.gpg.get('homedir', None) %}
+            homedir: {{ server.gpg.get('homedir', None) }}
+            {%- endif %}
         {%- endif %}
         directories:
           value:
diff --git a/aptly/server/init.sls b/aptly/server/init.sls
index 15225c5..a8bdc27 100644
--- a/aptly/server/init.sls
+++ b/aptly/server/init.sls
@@ -162,15 +162,15 @@
   cmd.run:
   - name: gpg --no-tty --import {{ gpgpubfile }}
   - user: aptly
-  - unless: gpg --no-tty --list-keys | grep '{{ server.gpg.keypair_id }}'
+  - unless: gpg --no-tty{% if server.gpg.get('homedir', None) %} --homedir {{ server.gpg.homedir }}{% endif %} --list-keys | grep '{{ server.gpg.keypair_id }}'
   - require:
     - file: aptly_gpg_key_dir
 
 import_gpg_priv_key:
   cmd.run:
-  - name: gpg --no-tty --allow-secret-key-import --import {{ gpgprivfile }}
+  - name: gpg --no-tty --allow-secret-key-import{% if server.gpg.get('homedir', None) %} --homedir {{ server.gpg.homedir }}{% endif %} --import {{ gpgprivfile }}
   - user: aptly
-  - unless: gpg --no-tty --list-secret-keys | grep '{{ server.gpg.keypair_id }}'
+  - unless: gpg --no-tty{% if server.gpg.get('homedir', None) %} --homedir {{ server.gpg.homedir }}{% endif %} --list-secret-keys | grep '{{ server.gpg.keypair_id }}'
   - require:
     - file: aptly_gpg_key_dir
   - require_in:
diff --git a/aptly/server/mirrors.sls b/aptly/server/mirrors.sls
index ef958ac..7f7fa33 100644
--- a/aptly/server/mirrors.sls
+++ b/aptly/server/mirrors.sls
@@ -36,11 +36,12 @@
 
 gpg_add_keys_{{ mirror_name }}_{{ gpgkey }}:
   cmd.run:
-  - name: gpg --no-tty --no-default-keyring --keyring {{ server.gpg.keyring }} --keyserver {{ mirror.keyserver|default(server.gpg.keyserver) }} --recv-keys {{ gpgkey }}
+  - name: gpg --no-tty --no-default-keyring{% if server.gpg.get('keyring', None) %} --keyring {{ server.gpg.keyring }} {% endif %}{% if server.gpg.get('homedir', None) %} --homedir {{ server.gpg.homedir }} {% endif %}--keyserver {{ mirror.keyserver|default(server.gpg.keyserver) }} --recv-keys {{ gpgkey }}
   {%- if server.source.engine != "docker" %}
   - user: aptly
+  - cwd: {{ server.home_dir }}
   {%- endif %}
-  - unless: gpg --no-tty --no-default-keyring --keyring {{ server.gpg.keyring }} --list-public-keys {{gpgkey}}
+  - unless: gpg --no-tty --no-default-keyring{% if server.gpg.get('keyring', None) %} --keyring {{ server.gpg.keyring }} {% endif %}{% if server.gpg.get('homedir', None) %} --homedir {{ server.gpg.homedir }} {% endif %}--list-public-keys {{gpgkey}}
 
 {%- endfor %}