diff --git a/scm-packaging/unix/pom.xml b/scm-packaging/unix/pom.xml
new file mode 100644
index 0000000000..ce579bcf75
--- /dev/null
+++ b/scm-packaging/unix/pom.xml
@@ -0,0 +1,123 @@
+
+
+
+
+ 4.0.0
+
+
+ sonia.scm.packaging
+ scm-packaging
+ 2.0.0-SNAPSHOT
+
+
+ unix
+ pom
+ 2.0.0-SNAPSHOT
+
+
+
+
+ sonia.scm
+ scm-server
+ ${project.version}
+
+
+
+ sonia.scm
+ scm-webapp
+ ${project.version}
+ war
+
+
+
+ commons-daemon
+ commons-daemon-native
+ 1.1.0
+ tar.gz
+
+
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-dependency-plugin
+ 3.1.2
+
+
+ copy-jsvc
+ prepare-package
+
+ unpack
+
+
+
+
+ commons-daemon
+ commons-daemon-native
+ 1.1.0
+ tar.gz
+
+
+
+
+
+ **/jsvc-*
+ ${project.build.directory}/unix/libexec
+ false
+ true
+
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-assembly-plugin
+
+
+ src/main/assembly/scm-server-app.xml
+
+
+
+
+ package
+
+ single
+
+
+
+
+
+
+
+
+
diff --git a/scm-packaging/unix/src/main/assembly/scm-server-app.xml b/scm-packaging/unix/src/main/assembly/scm-server-app.xml
new file mode 100644
index 0000000000..e38d95e914
--- /dev/null
+++ b/scm-packaging/unix/src/main/assembly/scm-server-app.xml
@@ -0,0 +1,93 @@
+
+
+
+
+ app
+
+
+ tar.gz
+
+
+ true
+
+
+
+
+ src/main/fs
+ false
+
+
+
+
+ src/main/bin
+ false
+ bin
+ 0755
+
+
+
+ target/unix/lib
+ false
+ lib
+
+
+
+ target/unix/libexec
+ false
+ libexec
+ 0755
+
+
+
+ target/unix/var
+ false
+ var
+
+
+
+
+
+
+ false
+ lib
+
+ *:jar
+
+
+
+ false
+ var/webapp
+ scm-webapp.war
+
+ *:war
+
+
+
+
+
diff --git a/scm-packaging/unix/src/main/bin/scm-server b/scm-packaging/unix/src/main/bin/scm-server
new file mode 100755
index 0000000000..9ccaafb188
--- /dev/null
+++ b/scm-packaging/unix/src/main/bin/scm-server
@@ -0,0 +1,192 @@
+#!/bin/bash
+# ----------------------------------------------------------------------------
+# Copyright 2001-2006 The Apache Software Foundation.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ----------------------------------------------------------------------------
+
+# Copyright (c) 2001-2002 The Apache Software Foundation. All rights
+# reserved.
+
+# user used to run the daemon (defaults to current user)
+USER="scm"
+
+# extra jvm arguments
+EXTRA_JVM_ARGUMENTS="-Djava.awt.headless=true -Dlogback.configurationFile=logging.xml"
+
+BASEDIR="/opt/scm-server"
+
+# set pid path for jsvc
+PIDFILE="/var/run/scm-server.pid"
+
+# set log dir for jsvc
+LOGDIR="/var/log/scm"
+
+# load settings from defaults directory
+[ -r /etc/default/scm-server ] && . /etc/default/scm-server
+
+OS=`uname | tr '[:upper:]' '[:lower:]'`
+ARCH=`uname -m`
+
+# OS specific support. $var _must_ be set to either true or false.
+cygwin=false;
+darwin=false;
+case "$OS" in
+ sunos*) OS="solaris"
+ ARCH=`uname -p`
+ ;;
+ cygwin*) cygwin=true ;;
+ darwin*) darwin=true
+ if [ -z "$JAVA_VERSION" ] ; then
+ JAVA_VERSION="CurrentJDK"
+ else
+ echo "Using Java version: $JAVA_VERSION"
+ fi
+ if [ -z "$JAVA_HOME" ] ; then
+ JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/${JAVA_VERSION}/Home
+ fi
+ ;;
+esac
+
+if [ -z "$JAVA_HOME" ] ; then
+ if [ -r /etc/gentoo-release ] ; then
+ JAVA_HOME=`java-config --jre-home`
+ fi
+fi
+
+# For Cygwin, ensure paths are in UNIX format before anything is touched
+if $cygwin ; then
+ [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
+ [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --unix "$CLASSPATH"`
+fi
+
+# If a specific java binary isn't specified search for the standard 'java' binary
+if [ -z "$JAVACMD" ] ; then
+ if [ -n "$JAVA_HOME" ] ; then
+ if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
+ # IBM's JDK on AIX uses strange locations for the executables
+ JAVACMD="$JAVA_HOME/jre/sh/java"
+ else
+ JAVACMD="$JAVA_HOME/bin/java"
+ fi
+ else
+ JAVACMD=`which java`
+ fi
+fi
+
+if [ ! -x "$JAVACMD" ] ; then
+ echo "Error: JAVA_HOME is not defined correctly."
+ echo " We cannot execute $JAVACMD"
+ exit 1
+fi
+
+if [ -z "$REPO" ]
+then
+ REPO="$BASEDIR"/lib
+fi
+
+CLASSPATH=$CLASSPATH_PREFIX:"$BASEDIR"/conf:"$REPO"/scm-server-2.0.0-SNAPSHOT.jar:"$REPO"/commons-daemon-1.2.2.jar:"$REPO"/jetty-server-9.4.27.v20200227.jar:"$REPO"/javax.servlet-api-3.1.0.jar:"$REPO"/jetty-http-9.4.27.v20200227.jar:"$REPO"/jetty-io-9.4.27.v20200227.jar:"$REPO"/jetty-webapp-9.4.27.v20200227.jar:"$REPO"/jetty-xml-9.4.27.v20200227.jar:"$REPO"/jetty-servlet-9.4.27.v20200227.jar:"$REPO"/jetty-security-9.4.27.v20200227.jar:"$REPO"/jetty-jmx-9.4.27.v20200227.jar:"$REPO"/jetty-util-9.4.27.v20200227.jar
+
+# For Cygwin, switch paths to Windows format before running java
+if $cygwin; then
+ [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
+ [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"`
+ [ -n "$HOME" ] && HOME=`cygpath --path --windows "$HOME"`
+ [ -n "$BASEDIR" ] && BASEDIR=`cygpath --path --windows "$BASEDIR"`
+ [ -n "$REPO" ] && REPO=`cygpath --path --windows "$REPO"`
+fi
+
+jsvc=false;
+stop="";
+
+if [ "$1" == "start" ]
+then
+ jsvc=true;
+else
+ if [ "$1" == "stop" ]
+ then
+ jsvc=true;
+ stop='-stop';
+ fi
+fi
+
+USER_ARGUMENT=""
+
+if [ "x$USER" != "x" ]
+then
+ USER_ARGUMENT="-user $USER"
+fi
+
+DARWIN_USE_ARCH="false"
+
+if $jsvc; then
+
+ JSVCCMD=""
+ if [ "$OS" == "darwin" ]; then
+ if [ "$DARWIN_USE_ARCH" == "true" ]; then
+ JSVCCMD="/usr/bin/arch -arch $ARCH $BASEDIR/libexec/jsvc-$OS"
+ else
+ JSVCCMD="exec $BASEDIR/libexec/jsvc-$OS"
+ fi
+ else
+ JSVCCMD="exec $BASEDIR/libexec/jsvc-$OS-$ARCH"
+ fi
+
+ # try to extract JAVA_HOME from JAVACMD
+ if [ -z "$JAVA_HOME" ] ; then
+ PRG="$JAVACMD"
+ while [ -h "$PRG" ] ; do
+ ls=`ls -ld "$PRG"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ PRG="$link"
+ else
+ PRG="`dirname "$PRG"`/$link"
+ fi
+ done
+ DIR="$(dirname "$PRG")"
+ DIR="$(dirname "$DIR")"
+ if [ -d "$DIR" ] ; then
+ JAVA_HOME="$DIR"
+ fi
+ fi
+
+ # TODO JVM Arguments
+
+ $JSVCCMD -cp "$CLASSPATH" $JAVA_OPTS \
+ $EXTRA_JVM_ARGUMENTS $USER_ARGUMENT \
+ -outfile "$LOGDIR/scm-server.out" \
+ -errfile "$LOGDIR/scm-server.err" \
+ -pidfile "$PIDFILE" \
+ -jvm server \
+ -home "$JAVA_HOME" \
+ -Dapp.name="scm-server" \
+ -Dapp.pid="$$" \
+ -Dapp.repo="$REPO" \
+ -Dbasedir="$BASEDIR" \
+ $stop sonia.scm.server.ScmServerDaemon \
+ "$@"
+
+else
+
+ exec "$JAVACMD" $JAVA_OPTS \
+ $EXTRA_JVM_ARGUMENTS \
+ -classpath "$CLASSPATH" \
+ -Dapp.name="scm-server" \
+ -Dapp.pid="$$" \
+ -Dapp.repo="$REPO" \
+ -Dbasedir="$BASEDIR" \
+ sonia.scm.server.ScmServerDaemon \
+ "$@"
+
+fi
diff --git a/scm-packaging/unix/src/main/fs/README.txt b/scm-packaging/unix/src/main/fs/README.txt
new file mode 100644
index 0000000000..b21db9b168
--- /dev/null
+++ b/scm-packaging/unix/src/main/fs/README.txt
@@ -0,0 +1,13 @@
+SCM-Manager Version ${project.version}
+================================================================================
+
+First Access:
+
+ URL: http://localhost:8080
+ Username: scmadmin
+ Password: scmadmin
+
+Further reading:
+
+ Release notes: https://bitbucket.org/sdorra/scm-manager/wiki/release-notes
+ Getting started: https://bitbucket.org/sdorra/scm-manager/wiki/getting-started
\ No newline at end of file
diff --git a/scm-packaging/unix/src/main/fs/conf/logging.xml b/scm-packaging/unix/src/main/fs/conf/logging.xml
new file mode 100644
index 0000000000..b3f4014265
--- /dev/null
+++ b/scm-packaging/unix/src/main/fs/conf/logging.xml
@@ -0,0 +1,106 @@
+
+
+
+
+
+
+
+
+
+ /var/log/scm/scm-manager.log
+
+
+ /var/log/scm/scm-manager-%i.log
+ 1
+ 10
+
+
+
+ 10MB
+
+
+ true
+
+ %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] [%-10X{transaction_id}] %-5level %logger - %msg%n
+
+
+
+
+
+
+ %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] [%-10X{transaction_id}] %-5level %logger - %msg%n
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/scm-packaging/unix/src/main/fs/conf/server-config.xml b/scm-packaging/unix/src/main/fs/conf/server-config.xml
new file mode 100644
index 0000000000..b7a5a7efef
--- /dev/null
+++ b/scm-packaging/unix/src/main/fs/conf/server-config.xml
@@ -0,0 +1,193 @@
+
+
+
+
+
+
+
+ 16384
+ 16384
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ /scm
+
+ /var/webapp/scm-webapp.war
+
+
+ org.eclipse.jetty.servlet.Default.dirAllowed
+ false
+
+ /var/cache/scm/work/webapp
+
+
+
+ /
+
+
+
+
+ -
+ /var/webapp/docroot
+
+
+
+
+ /var/cache/scm/work/work/docroot
+
+
+
+
+
+
+ -
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/scm-packaging/unix/src/main/fs/var/webapp/docroot/index.html b/scm-packaging/unix/src/main/fs/var/webapp/docroot/index.html
new file mode 100644
index 0000000000..a3bff3f8b3
--- /dev/null
+++ b/scm-packaging/unix/src/main/fs/var/webapp/docroot/index.html
@@ -0,0 +1,35 @@
+
+
+
+
+ SCM-Server
+
+
+
+
+
+
diff --git a/scm-packaging/unix/src/main/fs/work/WORKDIR.txt b/scm-packaging/unix/src/main/fs/work/WORKDIR.txt
new file mode 100644
index 0000000000..9538e4852b
--- /dev/null
+++ b/scm-packaging/unix/src/main/fs/work/WORKDIR.txt
@@ -0,0 +1,5 @@
+This directory is the temp directory for the SCM-Manager webapp.
+
+Further reading on jetty temp directories:
+
+- http://wiki.eclipse.org/Jetty/Reference/Temporary_Directories
\ No newline at end of file