diff --git a/build.sh b/build.sh
new file mode 100755
index 0000000000000000000000000000000000000000..bfbf4a6ff79966a12ae8bc0da2d8f13c6f8c0650
--- /dev/null
+++ b/build.sh
@@ -0,0 +1,38 @@
+#!/bin/bash
+set -e
+
+if [ ${0:0:1} = "/" ]; then
+	HERE=`dirname $0`
+else
+	CMD=`pwd`/$0
+	HERE=`dirname ${CMD}`
+fi
+
+#build architecture 
+#- amd64-darvin
+#- amd64-linux
+#- armhf-linux
+#- armv7-linux
+
+# freebsb? openbsd? netbsd? openwrt
+# ios (ipad/iphone) aarch64-ios-darwin
+
+BUILD_ARCH="${1:-amd64-linux}"
+BUILD_TYPE="${2:-release}"
+BUILD_DIR=${PWD}/build_${BUILD_ARCH}_${BUILD_TYPE}
+
+echo "Build [${BUILD_TYPE}] binaries for [$BUILD_ARCH] architecture in [${BUILD_DIR}] on $(nproc) threads."
+
+#make build directory and cd in 
+mkdir -p ${BUILD_DIR}
+cd ${BUILD_DIR}
+
+#define DEBUG for build if neccessary
+if [ "${BUILD_TYPE}" = "debug" ]; then
+    cmake ../ -DCMAKE_BUILD_TYPE=Debug -DCMAKE_TARGET_ARCH=$BUILD_ARCH
+else
+    cmake ../ -DCMAKE_TARGET_ARCH=$BUILD_ARCH
+fi
+
+#call make to do the build process
+make -j"$(nproc)"
diff --git a/android/conf/environment b/oldscripts/android/conf/environment
similarity index 100%
rename from android/conf/environment
rename to oldscripts/android/conf/environment
diff --git a/android/conf/project_props b/oldscripts/android/conf/project_props
similarity index 100%
rename from android/conf/project_props
rename to oldscripts/android/conf/project_props
diff --git a/android/conf/publish b/oldscripts/android/conf/publish
similarity index 100%
rename from android/conf/publish
rename to oldscripts/android/conf/publish
diff --git a/android/conf/version_info b/oldscripts/android/conf/version_info
similarity index 100%
rename from android/conf/version_info
rename to oldscripts/android/conf/version_info
diff --git a/android/scripts/compile.sh b/oldscripts/android/scripts/compile.sh
similarity index 100%
rename from android/scripts/compile.sh
rename to oldscripts/android/scripts/compile.sh
diff --git a/android/scripts/deploy.sh b/oldscripts/android/scripts/deploy.sh
similarity index 100%
rename from android/scripts/deploy.sh
rename to oldscripts/android/scripts/deploy.sh
diff --git a/android/scripts/pack.sh b/oldscripts/android/scripts/pack.sh
similarity index 100%
rename from android/scripts/pack.sh
rename to oldscripts/android/scripts/pack.sh
diff --git a/android/scripts/pre-build.sh b/oldscripts/android/scripts/pre-build.sh
similarity index 100%
rename from android/scripts/pre-build.sh
rename to oldscripts/android/scripts/pre-build.sh
diff --git a/android/scripts/test.sh b/oldscripts/android/scripts/test.sh
similarity index 100%
rename from android/scripts/test.sh
rename to oldscripts/android/scripts/test.sh
diff --git a/general/build.sh b/oldscripts/general/build.sh
similarity index 100%
rename from general/build.sh
rename to oldscripts/general/build.sh
diff --git a/general/conf/version_info b/oldscripts/general/conf/version_info
similarity index 100%
rename from general/conf/version_info
rename to oldscripts/general/conf/version_info
diff --git a/general/essentials/weblink-latest/.htaccess b/oldscripts/general/essentials/weblink-latest/.htaccess
similarity index 100%
rename from general/essentials/weblink-latest/.htaccess
rename to oldscripts/general/essentials/weblink-latest/.htaccess
diff --git a/general/essentials/weblink-latest/index.html b/oldscripts/general/essentials/weblink-latest/index.html
similarity index 100%
rename from general/essentials/weblink-latest/index.html
rename to oldscripts/general/essentials/weblink-latest/index.html
diff --git a/general/post-build.sh b/oldscripts/general/post-build.sh
similarity index 100%
rename from general/post-build.sh
rename to oldscripts/general/post-build.sh
diff --git a/general/pre-build.sh b/oldscripts/general/pre-build.sh
similarity index 100%
rename from general/pre-build.sh
rename to oldscripts/general/pre-build.sh
diff --git a/ios/scripts/compile.sh b/oldscripts/ios/scripts/compile.sh
similarity index 100%
rename from ios/scripts/compile.sh
rename to oldscripts/ios/scripts/compile.sh
diff --git a/ios/scripts/deploy.sh b/oldscripts/ios/scripts/deploy.sh
similarity index 100%
rename from ios/scripts/deploy.sh
rename to oldscripts/ios/scripts/deploy.sh
diff --git a/ios/scripts/pack.sh b/oldscripts/ios/scripts/pack.sh
similarity index 100%
rename from ios/scripts/pack.sh
rename to oldscripts/ios/scripts/pack.sh
diff --git a/ios/scripts/pre-build.sh b/oldscripts/ios/scripts/pre-build.sh
similarity index 100%
rename from ios/scripts/pre-build.sh
rename to oldscripts/ios/scripts/pre-build.sh
diff --git a/ios/scripts/test.sh b/oldscripts/ios/scripts/test.sh
similarity index 100%
rename from ios/scripts/test.sh
rename to oldscripts/ios/scripts/test.sh
diff --git a/linux/debian/conf/dependencies b/oldscripts/linux/debian/conf/dependencies
similarity index 100%
rename from linux/debian/conf/dependencies
rename to oldscripts/linux/debian/conf/dependencies
diff --git a/linux/debian/conf/publish b/oldscripts/linux/debian/conf/publish
similarity index 100%
rename from linux/debian/conf/publish
rename to oldscripts/linux/debian/conf/publish
diff --git a/linux/debian/essentials/config b/oldscripts/linux/debian/essentials/config
similarity index 100%
rename from linux/debian/essentials/config
rename to oldscripts/linux/debian/essentials/config
diff --git a/linux/debian/essentials/postinst b/oldscripts/linux/debian/essentials/postinst
similarity index 100%
rename from linux/debian/essentials/postinst
rename to oldscripts/linux/debian/essentials/postinst
diff --git a/linux/debian/essentials/postrm b/oldscripts/linux/debian/essentials/postrm
similarity index 100%
rename from linux/debian/essentials/postrm
rename to oldscripts/linux/debian/essentials/postrm
diff --git a/linux/debian/essentials/rules b/oldscripts/linux/debian/essentials/rules
similarity index 100%
rename from linux/debian/essentials/rules
rename to oldscripts/linux/debian/essentials/rules
diff --git a/linux/debian/essentials/templates b/oldscripts/linux/debian/essentials/templates
similarity index 100%
rename from linux/debian/essentials/templates
rename to oldscripts/linux/debian/essentials/templates
diff --git a/linux/debian/scripts/build.sh b/oldscripts/linux/debian/scripts/build.sh
similarity index 100%
rename from linux/debian/scripts/build.sh
rename to oldscripts/linux/debian/scripts/build.sh
diff --git a/linux/debian/scripts/cleanup.sh b/oldscripts/linux/debian/scripts/cleanup.sh
similarity index 100%
rename from linux/debian/scripts/cleanup.sh
rename to oldscripts/linux/debian/scripts/cleanup.sh
diff --git a/linux/debian/scripts/compile_and_pack.sh b/oldscripts/linux/debian/scripts/compile_and_pack.sh
similarity index 100%
rename from linux/debian/scripts/compile_and_pack.sh
rename to oldscripts/linux/debian/scripts/compile_and_pack.sh
diff --git a/linux/debian/scripts/deploy.sh b/oldscripts/linux/debian/scripts/deploy.sh
similarity index 100%
rename from linux/debian/scripts/deploy.sh
rename to oldscripts/linux/debian/scripts/deploy.sh
diff --git a/linux/debian/scripts/install_test.sh b/oldscripts/linux/debian/scripts/install_test.sh
similarity index 100%
rename from linux/debian/scripts/install_test.sh
rename to oldscripts/linux/debian/scripts/install_test.sh
diff --git a/linux/debian/scripts/pack.sh b/oldscripts/linux/debian/scripts/pack.sh
similarity index 100%
rename from linux/debian/scripts/pack.sh
rename to oldscripts/linux/debian/scripts/pack.sh
diff --git a/linux/debian/scripts/post-build.sh b/oldscripts/linux/debian/scripts/post-build.sh
similarity index 100%
rename from linux/debian/scripts/post-build.sh
rename to oldscripts/linux/debian/scripts/post-build.sh
diff --git a/linux/debian/scripts/pre-build.sh b/oldscripts/linux/debian/scripts/pre-build.sh
similarity index 100%
rename from linux/debian/scripts/pre-build.sh
rename to oldscripts/linux/debian/scripts/pre-build.sh
diff --git a/linux/debian/scripts/publish_remote/reprepro.sh b/oldscripts/linux/debian/scripts/publish_remote/reprepro.sh
similarity index 100%
rename from linux/debian/scripts/publish_remote/reprepro.sh
rename to oldscripts/linux/debian/scripts/publish_remote/reprepro.sh
diff --git a/linux/debian/scripts/test.sh b/oldscripts/linux/debian/scripts/test.sh
similarity index 100%
rename from linux/debian/scripts/test.sh
rename to oldscripts/linux/debian/scripts/test.sh
diff --git a/linux/ubuntu/conf/dependencies b/oldscripts/linux/ubuntu/conf/dependencies
similarity index 100%
rename from linux/ubuntu/conf/dependencies
rename to oldscripts/linux/ubuntu/conf/dependencies
diff --git a/linux/ubuntu/conf/publish b/oldscripts/linux/ubuntu/conf/publish
similarity index 100%
rename from linux/ubuntu/conf/publish
rename to oldscripts/linux/ubuntu/conf/publish
diff --git a/linux/ubuntu/essentials b/oldscripts/linux/ubuntu/essentials
similarity index 100%
rename from linux/ubuntu/essentials
rename to oldscripts/linux/ubuntu/essentials
diff --git a/linux/ubuntu/scripts/build.sh b/oldscripts/linux/ubuntu/scripts/build.sh
similarity index 100%
rename from linux/ubuntu/scripts/build.sh
rename to oldscripts/linux/ubuntu/scripts/build.sh
diff --git a/linux/ubuntu/scripts/chroot b/oldscripts/linux/ubuntu/scripts/chroot
similarity index 100%
rename from linux/ubuntu/scripts/chroot
rename to oldscripts/linux/ubuntu/scripts/chroot
diff --git a/linux/ubuntu/scripts/cleanup.sh b/oldscripts/linux/ubuntu/scripts/cleanup.sh
similarity index 100%
rename from linux/ubuntu/scripts/cleanup.sh
rename to oldscripts/linux/ubuntu/scripts/cleanup.sh
diff --git a/linux/ubuntu/scripts/compile_and_pack.sh b/oldscripts/linux/ubuntu/scripts/compile_and_pack.sh
similarity index 100%
rename from linux/ubuntu/scripts/compile_and_pack.sh
rename to oldscripts/linux/ubuntu/scripts/compile_and_pack.sh
diff --git a/linux/ubuntu/scripts/deploy.sh b/oldscripts/linux/ubuntu/scripts/deploy.sh
similarity index 100%
rename from linux/ubuntu/scripts/deploy.sh
rename to oldscripts/linux/ubuntu/scripts/deploy.sh
diff --git a/linux/ubuntu/scripts/install_test.sh b/oldscripts/linux/ubuntu/scripts/install_test.sh
similarity index 100%
rename from linux/ubuntu/scripts/install_test.sh
rename to oldscripts/linux/ubuntu/scripts/install_test.sh
diff --git a/linux/ubuntu/scripts/pack.sh b/oldscripts/linux/ubuntu/scripts/pack.sh
similarity index 100%
rename from linux/ubuntu/scripts/pack.sh
rename to oldscripts/linux/ubuntu/scripts/pack.sh
diff --git a/linux/ubuntu/scripts/post-build.sh b/oldscripts/linux/ubuntu/scripts/post-build.sh
similarity index 100%
rename from linux/ubuntu/scripts/post-build.sh
rename to oldscripts/linux/ubuntu/scripts/post-build.sh
diff --git a/linux/ubuntu/scripts/pre-build.sh b/oldscripts/linux/ubuntu/scripts/pre-build.sh
similarity index 100%
rename from linux/ubuntu/scripts/pre-build.sh
rename to oldscripts/linux/ubuntu/scripts/pre-build.sh
diff --git a/linux/ubuntu/scripts/test.sh b/oldscripts/linux/ubuntu/scripts/test.sh
similarity index 100%
rename from linux/ubuntu/scripts/test.sh
rename to oldscripts/linux/ubuntu/scripts/test.sh
diff --git a/mac/scripts/compile.sh b/oldscripts/mac/scripts/compile.sh
similarity index 100%
rename from mac/scripts/compile.sh
rename to oldscripts/mac/scripts/compile.sh
diff --git a/mac/scripts/deploy.sh b/oldscripts/mac/scripts/deploy.sh
similarity index 100%
rename from mac/scripts/deploy.sh
rename to oldscripts/mac/scripts/deploy.sh
diff --git a/mac/scripts/pack.sh b/oldscripts/mac/scripts/pack.sh
similarity index 100%
rename from mac/scripts/pack.sh
rename to oldscripts/mac/scripts/pack.sh
diff --git a/mac/scripts/pre-build.sh b/oldscripts/mac/scripts/pre-build.sh
similarity index 100%
rename from mac/scripts/pre-build.sh
rename to oldscripts/mac/scripts/pre-build.sh
diff --git a/mac/scripts/test.sh b/oldscripts/mac/scripts/test.sh
similarity index 100%
rename from mac/scripts/test.sh
rename to oldscripts/mac/scripts/test.sh
diff --git a/windows/conf/win_libs b/oldscripts/windows/conf/win_libs
similarity index 100%
rename from windows/conf/win_libs
rename to oldscripts/windows/conf/win_libs
diff --git a/windows/scripts/compile.bat b/oldscripts/windows/scripts/compile.bat
similarity index 100%
rename from windows/scripts/compile.bat
rename to oldscripts/windows/scripts/compile.bat
diff --git a/windows/scripts/compile.sh b/oldscripts/windows/scripts/compile.sh
similarity index 100%
rename from windows/scripts/compile.sh
rename to oldscripts/windows/scripts/compile.sh
diff --git a/windows/scripts/deploy.sh b/oldscripts/windows/scripts/deploy.sh
similarity index 100%
rename from windows/scripts/deploy.sh
rename to oldscripts/windows/scripts/deploy.sh
diff --git a/windows/scripts/pack.sh b/oldscripts/windows/scripts/pack.sh
similarity index 100%
rename from windows/scripts/pack.sh
rename to oldscripts/windows/scripts/pack.sh
diff --git a/windows/scripts/pre-build.sh b/oldscripts/windows/scripts/pre-build.sh
similarity index 100%
rename from windows/scripts/pre-build.sh
rename to oldscripts/windows/scripts/pre-build.sh
diff --git a/windows/scripts/test.sh b/oldscripts/windows/scripts/test.sh
similarity index 100%
rename from windows/scripts/test.sh
rename to oldscripts/windows/scripts/test.sh
diff --git a/pack.sh b/pack.sh
new file mode 100755
index 0000000000000000000000000000000000000000..1e2469076d56c71b039fedb956758cecd3eb0221
--- /dev/null
+++ b/pack.sh
@@ -0,0 +1,22 @@
+#!/bin/bash
+set -e
+
+if [ ${0:0:1} = "/" ]; then
+	HERE=`dirname $0`
+else
+	CMD=`pwd`/$0
+	HERE=`dirname ${CMD}`
+fi
+
+
+BUILD_ARCH="${1:-x86_64-linux-gnu}"
+BUILD_TYPE="${2:-release}"
+PACKAGE_TYPE="${3:-deb}"
+BUILD_DIR=${PWD}/build_${BUILD_ARCH}_${BUILD_TYPE}
+
+echo "Pack [${BUILD_TYPE}] binaries for [$BUILD_ARCH] architecture from [${BUILD_DIR}] in {$PACKAGE_TYPE} package."
+
+cd ${BUILD_DIR}
+
+#do cpack, it should care all other things and generate a deb file
+cpack .
diff --git a/packaging/deb/config b/packaging/deb/config
new file mode 100755
index 0000000000000000000000000000000000000000..47ad739daed123b6de28f9ce0b20f4425bb0a5fb
--- /dev/null
+++ b/packaging/deb/config
@@ -0,0 +1,71 @@
+#!/bin/bash -e
+. /usr/share/debconf/confmodule
+
+
+case "$1" in
+reconfigure|configure)
+
+   db_input critical cellframe-node/auto_online || true 
+   db_go || true 
+
+   db_input critical cellframe-node/debug_mode || true 
+   db_go || true 
+
+   db_input critical cellframe-node/server_enabled || true 
+   db_go || true 
+
+   db_input critical cellframe-node/server_addr || true 
+   db_go || true 
+
+   db_input critical cellframe-node/server_port || true 
+   db_go || true 
+
+   db_input critical cellframe-node/notify_srv_addr || true 
+   db_go || true 
+
+   db_input critical cellframe-node/notify_srv_port || true 
+   db_go || true 
+
+   db_input critical cellframe-node/subzero_enabled || true 
+   db_go || true 
+
+   db_get cellframe-node/subzero_enabled
+   if [ "$RET" = "true" ]; then
+      db_input critical cellframe-node/subzero_node_type || true 
+      db_go || true
+   fi
+
+   db_input critical cellframe-node/kelvpn_minkowski_enabled || true 
+   db_go || true 
+
+   db_get cellframe-node/kelvpn_minkowski_enabled
+   if [ "$RET" = "true" ]; then
+      db_input critical cellframe-node/kelvpn_minkowski_node_type || true 
+      db_go || true
+   fi
+
+   db_input critical cellframe-node/backbone_enabled || true 
+   db_go || true 
+
+   db_get cellframe-node/backbone_enabled
+   if [ "$RET" = "true" ]; then
+      db_input critical cellframe-node/backbone_node_type || true 
+      db_go || true
+   fi
+
+   db_input critical cellframe-node/enable_python_plugins || true 
+   db_go || true 
+
+   db_get cellframe-node/enable_python_plugins
+   if [ "$RET" = "true" ]; then
+      db_input critical cellframe-node/python_plugins_path || true 
+      db_go || true
+   fi
+;;
+*)
+   echo "config called with unknown argument \`$1'" >&2
+   exit 1
+;;
+esac
+
+
diff --git a/packaging/deb/postinst b/packaging/deb/postinst
new file mode 100755
index 0000000000000000000000000000000000000000..0eb62920c6dec76f1bd8c4ac8069ef4d35416736
--- /dev/null
+++ b/packaging/deb/postinst
@@ -0,0 +1,190 @@
+#!/bin/bash -e
+. /usr/share/debconf/confmodule
+
+DAP_CHAINS_NAME="cellframe"
+DAP_APP_NAME="${DAP_CHAINS_NAME}-node"
+DAP_PREFIX="/opt/${DAP_APP_NAME}"
+
+DAP_CFG_TPL="${DAP_PREFIX}/share/configs/${DAP_APP_NAME}.cfg.tpl"
+
+# Store write config to new if present smth
+DAP_CFG="${DAP_PREFIX}/etc/${DAP_APP_NAME}.cfg"
+
+[ -e "/etc/profile.d/${DAP_APP_NAME}.sh" ] || ln -sf ${DAP_PREFIX}/share/profile.d/${DAP_APP_NAME}.sh /etc/profile.d/${DAP_APP_NAME}.sh
+
+# Init node config
+if [ -e "${DAP_CFG}" ]; then
+    DAP_CFG="${DAP_PREFIX}/etc/${DAP_APP_NAME}.cfg.dpkg-new"
+else
+    DAP_CFG="${DAP_PREFIX}/etc/${DAP_APP_NAME}.cfg"
+fi
+
+cat ${DAP_CFG_TPL} > ${DAP_CFG} || true
+
+sed -i "s/{PREFIX}/\/opt\/${DAP_APP_NAME}/g" ${DAP_CFG}  || true
+
+db_get cellframe-node/debug_mode || true
+sed -i "s/{DEBUG_MODE}/${RET}/g" ${DAP_CFG}  || true
+
+db_get cellframe-node/auto_online || true
+sed -i "s/{AUTO_ONLINE}/${RET}/g" ${DAP_CFG}  || true
+
+db_get cellframe-node/server_enabled || true
+sed -i "s/{SERVER_ENABLED}/${RET}/g" ${DAP_CFG}  || true
+
+db_get cellframe-node/server_port || true
+sed -i "s/{SERVER_PORT}/${RET}/g" ${DAP_CFG}  || true
+
+db_get cellframe-node/server_addr || true
+sed -i "s/{SERVER_ADDR}/${RET}/g" ${DAP_CFG}  || true
+
+db_get cellframe-node/notify_srv_addr || true
+sed -i "s/{NOTIFY_SRV_ADDR}/${RET}/g" ${DAP_CFG}  || true
+
+db_get cellframe-node/notify_srv_port || true
+sed -i "s/{NOTIFY_SRV_PORT}/${RET}/g" ${DAP_CFG}  || true
+
+# Init subzero
+NET_NAME="subzero"
+
+db_get cellframe-node/subzero_enabled || true
+if [ "${RET}" = "true" ]; then
+    DAP_CFG_NET="${DAP_PREFIX}/etc/network/${NET_NAME}.cfg"
+    DAP_CFG_NET_TPL="${DAP_PREFIX}/share/configs/network/${NET_NAME}.cfg.tpl"
+    DAP_NET_CFG=""
+    
+    if [ -e "$DAP_CFG_NET" ]; then
+	DAP_NET_CFG="${DAP_PREFIX}/etc/network/${NET_NAME}.cfg.dpkg-new"
+    else
+	DAP_NET_CFG="${DAP_PREFIX}/etc/network/${NET_NAME}.cfg"
+    fi
+
+    cat ${DAP_CFG_NET_TPL} > ${DAP_NET_CFG} || true
+    db_get cellframe-node/subzero_node_type || true
+    NODE_TYPE=${RET}
+    sed -i "s/{NODE_TYPE}/${NODE_TYPE}/g" ${DAP_NET_CFG}  || true
+    echo "[*] Enabled subzero"
+fi
+
+# Init mileena
+NET_NAME="mileena"
+
+db_get cellframe-node/mileena_enabled || true
+if [ "$RET" = "true" ]; then
+    DAP_CFG_NET="${DAP_PREFIX}/etc/network/${NET_NAME}.cfg"
+    DAP_CFG_NET_TPL="${DAP_PREFIX}/share/configs/network/${NET_NAME}.cfg.tpl"
+    DAP_NET_CFG=""
+    
+    if [ -e "${DAP_CFG_NET}" ]; then
+	DAP_NET_CFG="${DAP_PREFIX}/etc/network/${NET_NAME}.cfg.dpkg-new"
+    else
+	DAP_NET_CFG="${DAP_PREFIX}/etc/network/${NET_NAME}.cfg"
+    fi
+
+    cat ${DAP_CFG_NET_TPL} > ${DAP_NET_CFG} || true
+    db_get cellframe-node/mileena_node_type || true
+    NODE_TYPE=${RET}
+    sed -i "s/{NODE_TYPE}/${NODE_TYPE}/g" ${DAP_NET_CFG}  || true
+    echo "[*] Enabled mileena"
+fi
+
+# Init Minkowski
+NET_NAME="kelvpn-minkowski"
+
+db_get cellframe-node/kelvpn_minkowski_enabled || true
+if [ "${RET}" = "true" ]; then
+    DAP_CFG_NET="${DAP_PREFIX}/etc/network/${NET_NAME}.cfg"
+    DAP_CFG_NET_TPL="${DAP_PREFIX}/share/configs/network/${NET_NAME}.cfg.tpl"
+    DAP_NET_CFG=""
+    
+    if [ -e "$DAP_CFG_NET" ]; then
+	DAP_NET_CFG="${DAP_PREFIX}/etc/network/${NET_NAME}.cfg.dpkg-new"
+    else
+	DAP_NET_CFG="${DAP_PREFIX}/etc/network/${NET_NAME}.cfg"
+    fi
+
+    cat ${DAP_CFG_NET_TPL} > ${DAP_NET_CFG} || true
+    db_get cellframe-node/kelvpn_minkowski_node_type || true
+    NODE_TYPE=${RET}
+    sed -i "s/{NODE_TYPE}/${NODE_TYPE}/g" ${DAP_NET_CFG}  || true
+    echo "[*] Enabled kelvpn-minkowski"
+fi
+
+# Init Backbone
+NET_NAME="Backbone"
+
+db_get cellframe-node/backbone_enabled || true
+if [ "${RET}" = "true" ]; then
+    DAP_CFG_NET="${DAP_PREFIX}/etc/network/${NET_NAME}.cfg"
+    DAP_CFG_NET_TPL="${DAP_PREFIX}/share/configs/network/${NET_NAME}.cfg.tpl"
+    DAP_NET_CFG=""
+    
+    if [ -e "${DAP_CFG_NET}" ]; then
+	DAP_NET_CFG="${DAP_PREFIX}/etc/network/${NET_NAME}.cfg.dpkg-new"
+    else
+	DAP_NET_CFG="${DAP_PREFIX}/etc/network/${NET_NAME}.cfg"
+    fi
+
+    cat ${DAP_CFG_NET_TPL} > ${DAP_NET_CFG} || true
+    db_get cellframe-node/backbone_node_type || true
+    NODE_TYPE=$RET
+    sed -i "s/{NODE_TYPE}/${NODE_TYPE}/g" ${DAP_NET_CFG}  || true
+    echo "[*] Enabled Backbone"
+fi
+
+#Set up Python plugins
+db_get cellframe-node/enable_python_plugins || true
+if [ "${RET}" = "true" ]; then
+    sed -i 's/#\[plugins\]/\[plugins\]/g' ${DAP_CFG} || true
+    sed -i 's/#py_load=.*/py_load=true/g' ${DAP_CFG} || true
+    db_get cellframe-node/python_plugins_path || true
+    sed -i "s|#py_path=.*|py_path=${RET}|g" ${DAP_CFG} || true
+    echo "[*] Enabled Python plugins"
+fi
+
+if [ $(cat /etc/passwd | grep ${DAP_APP_NAME}) ] ; then
+    usermod ${DAP_APP_NAME} -s /bin/false > /dev/null || true # Let's change the default shell just in case
+else
+    echo "[*] Add user ${DAP_APP_NAME}"
+    adduser --system --no-create-home --group --home /opt/${DAP_APP_NAME} ${DAP_APP_NAME} --shell /bin/false > /dev/null || true
+fi
+
+echo "[*] Check /etc/systemd/system/${DAP_APP_NAME}.service file..."
+if [ -e /etc/systemd/system/${DAP_APP_NAME}.service ]; then
+    echo "[*] Restarting ${DAP_APP_NAME} to implement changes"
+    systemctl stop ${DAP_APP_NAME}  >> /dev/null || true
+    echo "[*] Stopped ${DAP_APP_NAME}"
+    systemctl daemon-reload || true
+    systemctl start ${DAP_APP_NAME} || true
+    echo "[*] Started ${DAP_APP_NAME}"
+else
+    echo "[!] Installing ${DAP_APP_NAME} as systemd service"
+    ln -sf $DAP_PREFIX/share/${DAP_APP_NAME}.service /etc/systemd/system/${DAP_APP_NAME}.service || true
+    systemctl enable ${DAP_PREFIX}/share/${DAP_APP_NAME}.service || true
+    echo "[*] Enabling logrotate"
+    ln -sf ${DAP_PREFIX}/share/logrotate/${DAP_APP_NAME} /etc/logrotate.d/${DAP_APP_NAME} || true
+
+    mkdir -p ${DAP_PREFIX}/var/{run,lib/wallet,lib/global_db,lib/plugins,log} || true
+    
+    touch ${DAP_PREFIX}/var/run/${DAP_APP_NAME}.pid || true
+    
+    for filename in $(find ${DAP_PREFIX} | grep -v bugreport); do
+        if [ -d ${filename} ]; then
+            chmod 0775 ${filename} 2>/dev/null || true
+        else
+            chmod 0664 ${filename} 2>/dev/null || true
+        fi
+    done
+
+    chmod 0666 ${DAP_CFG}
+    chmod 0666 ${DAP_CFG_TPL}
+    chmod 0774 ${DAP_PREFIX}/bin/* || true
+
+    #set python permissions    
+    find ${DAP_PREFIX}/bin/python -type d -exec chmod 755 {} +
+    chmod 774 ${DAP_PREFIX}/bin/python/bin/*
+    chown -R ${DAP_APP_NAME}: ${DAP_PREFIX}
+    echo "[*] Starting ${DAP_APP_NAME} service"
+    systemctl start ${DAP_APP_NAME} || true
+    echo "[!] Done"
+fi
diff --git a/packaging/deb/postrm b/packaging/deb/postrm
new file mode 100755
index 0000000000000000000000000000000000000000..b6cd2eb8deccd3053571445908aa5e00f35ac344
--- /dev/null
+++ b/packaging/deb/postrm
@@ -0,0 +1,17 @@
+#! /bin/bash -e
+if [ "$1" == "purge" ] && [ -e /usr/share/debconf/confmodule ] ; then
+. /usr/share/debconf/confmodule
+db_purge
+fi
+GROUP_RM="cellframe-node"
+
+systemctl stop cellframe-node || true
+systemctl disable cellframe-node || true
+
+#for username in `cat /etc/passwd | grep "/home" | cut -d ':' -f1`; do
+#  gpasswd -d $username $GROUP_RM || true
+#done
+#rm -r /opt/cellframe-node || true
+#groupdel cellframe-node || true
+#userdel cellframe-node || true
+
diff --git a/packaging/deb/rules b/packaging/deb/rules
new file mode 100755
index 0000000000000000000000000000000000000000..8ebdadfdb53a9504434765cae4080c4283f54437
--- /dev/null
+++ b/packaging/deb/rules
@@ -0,0 +1,10 @@
+#!/usr/bin/make -f
+
+override_dh_fixperms:
+    dh_fixperms -X/opt/cellframe-node
+    chmod 777 /opt/cellframe-node/bin/cellframe-node-cli
+override_dh_auto_install:
+    dh_auto_install -- prefix=/opt/cellframe-node
+%:
+#    dh $@  --with=systemd
+    dh $@
diff --git a/packaging/deb/templates b/packaging/deb/templates
new file mode 100755
index 0000000000000000000000000000000000000000..53d7dd3a1369481e852da47c8e5224c8c63b23ce
--- /dev/null
+++ b/packaging/deb/templates
@@ -0,0 +1,133 @@
+Template: cellframe-node/auto_online
+Default: false
+Choices: true, false
+Type: select
+Description: Auto online
+ Bring up links automatically and go to ONLINE network state
+
+Template: cellframe-node/debug_mode
+Default: false
+Choices: true, false
+Type: select
+Description: Debug mode
+ Debug mode for logs
+
+Template: cellframe-node/server_enabled
+Default: false
+Choices: true, false
+Type: select
+Description: Accept connections
+ Accept connections 
+
+Template: cellframe-node/server_port
+Default: 8079
+Type: string
+Description: Server port
+ Server port to listen on, recommended 8079 
+
+Template: cellframe-node/server_addr
+Default: 0.0.0.0
+Type: string
+Description: Server address
+ Server address to listen on
+
+Template: cellframe-node/notify_srv_addr
+Default: 127.0.0.1
+Type: string
+Description: Notify server address
+ Notify server address to listen on
+
+Template: cellframe-node/notify_srv_port
+Default: 8080
+Type: string
+Description: Notify server port
+ Notify server port to listen on 
+
+Template: cellframe-node/subzero_enabled
+Default: true
+Choices: true, false
+Type: select
+Description: SubZero: Enable network
+ Subzero Testnet: Enable network auto load on start
+
+Template: cellframe-node/subzero_node_type
+Type: select
+Default: full
+Choices: full, light, master, archive, root
+Description: SubZero: Node role
+ Select node role:. 
+ Light - Synchronize only local wallets 
+ full - Sync all its cell
+ master - Allow to store values in chains and take comission, sync all shards that will need to be synced
+ archive - Sync all the network
+ root - Special predefined root nodes, usually produces zerochain and acts like archive as well
+
+Template: cellframe-node/mileena_enabled
+Default: true
+Choices: true, false
+Type: select
+Description: Mileena: Enable network
+ Mileena Testnet: Enable network auto load on start
+
+Template: cellframe-node/mileena_node_type
+Type: select
+Default: full
+Choices: full, light, master, archive, root
+Description: Mileena: Node role
+ Select node role:. 
+ Light - Synchronize only local wallets 
+ full - Sync all its cell
+ master - Allow to store values in chains and take comission, sync all shards that will need to be synced
+ archive - Sync all the network
+ root - Special predefined root nodes, usually produces zerochain and acts like archive as well
+
+Template: cellframe-node/kelvpn_minkowski_enabled
+Default: true
+Choices: true, false
+Type: select
+Description: Kelvpn Minkowski: Enable network
+ Minkowski Testnet: Enable network auto load on start
+
+Template: cellframe-node/kelvpn_minkowski_node_type
+Type: select
+Default: full
+Choices: full, light, master, archive, root
+Description: Kelvpn Minkowski: Node role
+ Select node role:. 
+ Light - Synchronize only local wallets 
+ full - Sync all its cell
+ master - Allow to store values in chains and take comission, sync all shards that will need to be synced
+ archive - Sync all the network
+ root - Special predefined root nodes, usually produces zerochain and acts like archive as well 
+
+Template: cellframe-node/backbone_enabled
+Default: true
+Choices: true, false
+Type: select
+Description: Backbone: Enable network
+ Backbone Mainnet: Enable network auto load on start
+
+Template: cellframe-node/backbone_node_type
+Type: select
+Default: full
+Choices: full, light, master, archive, root
+Description: Backbone: Node role
+ Select node role:. 
+ Light - Synchronize only local wallets 
+ full - Sync all its cell
+ master - Allow to store values in chains and take comission, sync all shards that will need to be synced
+ archive - Sync all the network
+ root - Special predefined root nodes, usually produces zerochain and acts like archive as well
+
+Template: cellframe-node/enable_python_plugins
+Default: false
+Choices: true, false
+Type: select
+Description: Python plugins: Enable Python plugins
+ Python plugins: Enable Python plugins
+
+Template: cellframe-node/python_plugins_path
+Default: /opt/cellframe-node/var/lib/plugins
+Type: string
+Description: Python plugins path
+ Path for Python plugins
\ No newline at end of file