diff --git a/.travis.yml b/.travis.yml
index e58885b..2e5d4b1 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,3 +1,6 @@
+language: python
+python:
+- "2.7.13"
 sudo: required
 services:
   - docker
diff --git a/aptly/files/aptly_publish_update.sh b/aptly/files/aptly_publish_update.sh
index 4441d82..4ff2dd3 100644
--- a/aptly/files/aptly_publish_update.sh
+++ b/aptly/files/aptly_publish_update.sh
@@ -1,39 +1,92 @@
 #!/bin/bash
+############################################
+# Aptly publish update helper
+#
+############################################
+
+## Variables ## ============================
+############### ============================
 CLEANUP=0
 VERBOSE=0
 START_API=0
 RECREATE=0
 FORCE_OVERWRITE=0
 PUBLISHER_OPTIONS=""
+COMMAND=`basename $0`
 
+## Functions ## ============================
+############### ============================
 log_info() {
-    logger -p user.info -t ${SCRIPT} "$*"
-    [ $VERBOSE -eq 1 ] && echo "[INFO] $*"
+    logger -p user.info -t ${COMMAND} "$*"
+    [ $VERBOSE -gt 0 ] && echo "[INFO] $*"
 }
 
 log_error() {
-    logger -p user.error -t ${SCRIPT} "$*"
+    logger -p user.error -t ${COMMAND} "$*"
     echo "[ERROR] $*" >&2
 }
 
 at_exit() {
     pgrep -f "aptly api serve" | xargs kill -15
 }
-trap at_exit EXIT
 
-while getopts "a?c?f?r?v?:u:"  option;do
- case "${option}"
- in
- a|\?) START_API=1;;
- c|\?) CLEANUP=1;;
- f|\?) FORCE_OVERWRITE=1;;
- r|\?) RECREATE=1;;
- v|\?) VERBOSE=1;;
- u|\?) URL=$OPTARG;;
- esac
+
+## Usage ## --------------------------------
+Usage() {
+    cat <<EOF
+
+Usage:
+    $COMMAND [-h] [-qv] [-acrf]
+
+Updates aptly publishes.
+
+Parameters:
+    -h ... this help
+    -v ... more verbosity
+    -q ... less verbosity
+    -a ... start aptly api server
+    -c ... cleanup unused snapshots
+    -r ... drop publish and create it again, the only way to add new components
+    -f ... overwrite files in pool directory without notice
+
+EOF
+    exit
+}
+## Usage end ## ----------------------------
+
+## Main ## =================================
+########## =================================
+
+## Getparam ## -----------------------------
+while [[ -n "$1" ]]; do
+    i=$(expr substr $1 1 1)
+    if [[ $i == '-' ]]; then
+        r=$(expr substr $1 2 255)
+        while [[ -n "$r" ]]; do
+            i=$(expr substr $r 1 1)
+            case "$i" in
+                h) Usage ;;
+                q) let "VERBOSE -= 1" ;;
+                v) let "VERBOSE += 1" ;;
+                a) START_API=1 ;;
+                c) CLEANUP=1 ;;
+                r) RECREATE=1 ;;
+                f) FORCE_OVERWRITE=1 ;;
+                u) URL=$2; shift ;;
+            esac
+            r=$(expr substr $r 2 255)
+        done
+    else
+        parms="$parms $1"
+    fi
+    shift
 done
+## Getparam end ## -------------------------
+
+: ${URL:="http://127.0.0.1:8080"}
 
 if [[ $START_API -eq 1 ]]; then
+    trap at_exit EXIT
     nohup aptly api serve --no-lock > /dev/null 2>&1 </dev/null &
 fi
 if [[ $RECREATE -eq 1 ]]; then
@@ -43,21 +96,20 @@
      PUBLISHER_OPTIONS+=" --force-overwrite"
 fi
 
-URL=${URL:-"http://127.0.0.1:8080"}
 aptly-publisher --timeout=1200 publish -v -c /etc/aptly/publisher.yaml --url ${URL} --architectures amd64 $PUBLISHER_OPTIONS
 
 if [[ $? -ne 0 ]]; then
-    echo "Aptly Publisher failed."
+    log_error "Aptly publisher failed."
     exit 1
 fi
 
 if [[ $CLEANUP -eq 1 ]]; then
     SNAPSHOT_LIST="$(aptly snapshot list --raw)"
     if [[ "$SNAPSHOT_LIST" != "" ]]; then
-        log_info "Deleting unpublished snapshots"
+        log_info "Deleting unpublished snapshots."
         echo $SNAPSHOT_LIST | grep -E '*' | xargs -n 1 aptly snapshot drop
     fi
-    log_info "Cleaning Aptly DB"
+    log_info "Cleaning Aptly DB."
     aptly db cleanup
 fi
 exit 0
diff --git a/aptly/files/gpg.conf b/aptly/files/gpg.conf
new file mode 100644
index 0000000..8ca3ebb
--- /dev/null
+++ b/aptly/files/gpg.conf
@@ -0,0 +1,2 @@
+cert-digest-algo SHA256
+digest-algo SHA256
diff --git a/aptly/server/init.sls b/aptly/server/init.sls
index d4ca164..5083035 100644
--- a/aptly/server/init.sls
+++ b/aptly/server/init.sls
@@ -1,6 +1,7 @@
 {%- from "aptly/map.jinja" import server with context %}
 {%- if server.enabled %}
 
+{% set gpgconffile = '{}/.gnupg/gpg.conf'.format(server.home_dir) %}
 {% set gpgprivfile = '{}/.gnupg/secret.gpg'.format(server.home_dir) %}
 {% set gpgpubfile = '{}/public/public.gpg'.format(server.root_dir) %}
 
@@ -138,6 +139,16 @@
   - require:
     - file: aptly_home_dir
 
+gpg_conf_file:
+  file.managed:
+  - name: {{ gpgconffile }}
+  - source: salt://aptly/files/gpg.conf
+  - user: {{ server.user.name }}
+  - group: {{ server.user.group }}
+  - mode: 644
+  - makedirs: true
+  - require:
+    - file: aptly_gpg_key_dir
 
 gpg_priv_key:
   file.managed:
@@ -163,7 +174,7 @@
 import_gpg_pub_key:
   cmd.run:
   - name: gpg --no-tty{% if server.gpg.get('homedir', None) %} --homedir {{ server.gpg.homedir }}{% endif %} --import {{ gpgpubfile }}
-  - user: {{ server.user.name }}
+  - runas: {{ server.user.name }}
   - unless: gpg --no-tty{% if server.gpg.get('homedir', None) %} --homedir {{ server.gpg.homedir }}{% endif %} --list-keys | grep '{{ server.gpg.keypair_id }}'
   - require:
     - file: gpg_pub_key
@@ -172,7 +183,7 @@
 import_gpg_priv_key:
   cmd.run:
   - name: gpg --no-tty --allow-secret-key-import{% if server.gpg.get('homedir', None) %} --homedir {{ server.gpg.homedir }}{% endif %} --import {{ gpgprivfile }}
-  - user: {{ server.user.name }}
+  - runas: {{ server.user.name }}
   - 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
diff --git a/aptly/server/mirrors.sls b/aptly/server/mirrors.sls
index 24be665..8944522 100644
--- a/aptly/server/mirrors.sls
+++ b/aptly/server/mirrors.sls
@@ -45,7 +45,7 @@
 gpg_add_keys_{{ mirror_name }}_{{ gpgkey }}:
   cmd.run:
   - name: gpg --no-tty {% if server.gpg.get('keyring', None) %} --no-default-keyring --keyring {{ server.gpg.keyring }} {% endif %}{% if server.gpg.get('homedir', None) %} --homedir {{ server.gpg.homedir }}{% endif %} --keyserver {{ mirror.keyserver|default(server.gpg.keyserver) }} {% if server.gpg.get('http_proxy', None) %} --keyserver-options http-proxy={{ server.gpg.get('http_proxy') }} {% endif %} --recv-keys {{ gpgkey }}
-  - user: {{ server.user.name }}
+  - runas: {{ server.user.name }}
   - cwd: {{ server.home_dir }}
   - unless: gpg --no-tty {% if server.gpg.get('keyring', None) %} --no-default-keyring --keyring {{ server.gpg.keyring }} {% endif %}{% if server.gpg.get('homedir', None) %} --homedir {{ server.gpg.homedir }} {% endif %} {% if server.gpg.get('http_proxy', None) %} --keyserver-options http-proxy={{ server.gpg.get('http_proxy') }} {% endif %} --list-public-keys {{gpgkey}}
   {%- if server.secure %}
@@ -64,7 +64,7 @@
   cmd.run:
   - name: aptly snapshot create {{ snapshot }} from mirror {{ mirror_name }}
   {%- if server.source.engine != "docker" %}
-  - user: {{ server.user.name }}
+  - runas: {{ server.user.name }}
   {%- endif %}
   - unless: aptly snapshot show {{ snapshot }}
   - require:
@@ -79,7 +79,7 @@
   cmd.run:
   - name: aptly mirror create {% if mirror.get('udebs', False) %}-with-udebs=true {% endif %}{% if mirror.get('sources', False) %}-with-sources=true {% endif %}{% if mirror.get('filter') %}-filter="{{ mirror.filter }}" {% endif %}{% if mirror.get('filter_with_deps') %}-filter-with-deps {% endif %}-architectures={{ mirror.architectures }} {{ mirror_name }} {{ mirror.source }} {{ mirror.distribution }} {{ mirror.components }}
   {%- if server.source.engine != "docker" %}
-  - user: {{ server.user.name }}
+  - runas: {{ server.user.name }}
   {%- endif %}
   - unless: aptly mirror show {{ mirror_name }}
   {%- if server.source.engine == "docker" %}
@@ -91,7 +91,7 @@
   cmd.run:
   - name: aptly mirror edit {% if mirror.get('udebs', False) %}-with-udebs=true {% endif %}{% if mirror.get('sources', False) %}-with-sources=true {% endif %}{% if mirror.get('filter') %}-filter="{{ mirror.filter }}" {% endif %}{% if mirror.get('filter_with_deps') %}-filter-with-deps {% endif %}-architectures={{ mirror.architectures }} {{ mirror_name }}
   {%- if server.source.engine != "docker" %}
-  - user: {{ server.user.name }}
+  - runas: {{ server.user.name }}
   {%- endif %}
   - onlyif: 'aptly mirror show {{ mirror_name }} | grep -v "^Filter: {{ mirror.get('filter', '') }}$" | grep -q "^Filter: "'
   {%- if server.source.engine == "docker" %}
@@ -105,7 +105,7 @@
   cmd.run:
   - name: aptly mirror update {{ mirror_name }}
   {%- if server.source.engine != "docker" %}
-  - user: {{ server.user.name }}
+  - runas: {{ server.user.name }}
   {%- endif %}
   - require:
     - cmd: aptly_{{ mirror_name }}_mirror
@@ -120,7 +120,7 @@
   cmd.run:
   - name: aptly publish snapshot -batch=true -gpg-key='{{ server.gpg.keypair_id }}' -passphrase='{{ server.gpg.passphrase }}' {{ server.mirror[mirror_name].publish }}
   {%- if server.source.engine != "docker" %}
-  - user: {{ server.user.name }}
+  - runas: {{ server.user.name }}
   {%- endif %}
   {%- if server.source.engine == "docker" %}
   - require:
diff --git a/aptly/server/repos.sls b/aptly/server/repos.sls
index c486895..c18c981 100644
--- a/aptly/server/repos.sls
+++ b/aptly/server/repos.sls
@@ -7,7 +7,7 @@
   - name: aptly repo create -distribution="{{ repo.distribution }}" -component="{{ repo.component }}" -architectures="{{ repo.architectures }}" -comment="{{ repo.comment }}" {{ repo_name }}
   - unless: aptly repo show {{ repo_name }}
   {%- if server.source.engine != "docker" %}
-  - user: {{ server.user.name }}
+  - runas: {{ server.user.name }}
   {%- endif %}
   - require:
     - file: aptly_conf
@@ -28,7 +28,7 @@
   cmd.run:
   - name: aptly repo add {{ repo_name }} {{ repo.pkg_dir }}
   {%- if server.source.engine != "docker" %}
-  - user: {{ server.user.name }}
+  - runas: {{ server.user.name }}
   {%- endif %}
   - require:
     - cmd: aptly_{{ repo_name }}_repo_create
@@ -44,7 +44,7 @@
   cmd.run:
   - name: aptly publish repo -batch=true -gpg-key='{{ server.gpg.keypair_id }}' -passphrase='{{ server.gpg.passphrase }}' {{ repo_name }}
   {%- if server.source.engine != "docker" %}
-  - user: {{ server.user.name }}
+  - runas: {{ server.user.name }}
   {%- endif %}
   - unless: aptly publish update -batch=true -gpg-key='{{ server.gpg.keypair_id }}' -passphrase='{{ server.gpg.passphrase }}' {{ repo.distribution }}
 {%- endif %}
