diff --git a/Dockerfile.bash b/Dockerfile.bash
new file mode 100644
index 0000000..401cde5
--- /dev/null
+++ b/Dockerfile.bash
@@ -0,0 +1,56 @@
+# Docker Seafile client, help you mount a Seafile library as a volume.
+# Copyright (C) 2019, flow.gunso@gmail.com
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+
+FROM debian:jessie-slim
+
+# Prevent the packages installation to halt.
+ENV DEBIAN_FRONTEND noninteractive
+# Specify the user running Seafile.
+ENV UNAME=seafuser
+ENV UID=1000
+ENV GID=1000
+
+# Copy over the Docker related files.
+COPY utils/build/import-seafile-apt-key.sh /
+COPY assets/docker-bash-entrypoint.sh /entrypoint.sh
+
+# Safely import Seafile APT key, then install both seafile-cli and supervisord.
+RUN mkdir -p /etc/apt/sources.list.d/ ;\
+ echo "deb http://deb.seadrive.org jessie main" \
+ > /etc/apt/sources.list.d/seafile.list ;\
+ /bin/bash /import-seafile-apt-key.sh ;\
+ apt-get update ;\
+ apt-get install \
+ -o Dpkg::Options::="--force-confold" \
+ -y seafile-cli ;\
+ apt-get clean ;\
+ apt-get autoclean \
+ -o APT::Clean-Installed=true ;\
+ rm \
+ -f \
+ /var/log/fsck/*.log \
+ /var/log/apt/*.log \
+ /var/cache/debconf/*.dat-old \
+ /import-seafile-apt-key.sh ;\
+ mkdir /volume ;\
+ groupadd -g $GID -o $UNAME ;\
+ useradd -m -u $UID -g $GID -o -s /bin/bash $UNAME
+
+# Copy over the required files for Seafile/SupervisorD.
+COPY assets/supervisord.conf assets/infinite-seaf-cli-start.sh /home/seafuser/
+COPY assets/seafile-bash-entrypoint.sh /home/seafuser/entrypoint.sh
+
+ENTRYPOINT ["/bin/bash", "/entrypoint.sh"]
diff --git a/assets/docker-bash-entrypoint.sh b/assets/docker-bash-entrypoint.sh
new file mode 100644
index 0000000..c446e0f
--- /dev/null
+++ b/assets/docker-bash-entrypoint.sh
@@ -0,0 +1,54 @@
+#!/bin/bash
+
+# Docker Seafile client, help you mount a Seafile library as a volume.
+# Copyright (C) 2019, flow.gunso@gmail.com
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+
+# Check mandatory Seafile configuration have been properly set.
+if [ -z $SEAF_SERVER_URL ]; then echo "The \$SEAF_SERVER_URL was not defined. Stopping container..."; exit 1; fi
+if [ -z $SEAF_USERNAME ]; then echo "The \$SEAF_USERNAME was not defined. Stopping container..."; exit 1; fi
+if [ -z $SEAF_PASSWORD ]; then echo "The \$SEAF_PASSWORD was not defined. Stopping container..."; exit 1; fi
+if [ -z $SEAF_LIBRARY_UUID ]; then echo "The \$SEAF_LIBRARY_UUID was not defined. Stopping container..."; exit 1; fi
+
+# Update the user ID, if the $UID changed.
+if [ "$UID" != "1000" ]; then
+ usermod -u $UID $UNAME
+ # What if the $UID already exists ?
+fi
+
+# Change the group, if the $GID changed.
+if [ "$GID" != "1000" ]; then
+ getent group | grep ":$GID:" >/dev/null
+ if [ $? -eq 0 ]; then
+ usermod -g $GID -G 1000 $UNAME
+ else
+ groupmod -g $GID $UNAME
+ fi
+fi
+
+# Set the files ownership.
+chown $UID.$GID -R /home/seafuser/infinite-seaf-cli-start.sh
+chown $UID.$GID -R /home/seafuser/entrypoint.sh
+chown $UID.$GID -R /volume
+
+# Run the Seafile client as the container user.
+su - $UNAME << EO
+ export SEAF_SERVER_URL=$SEAF_SERVER_URL
+ export SEAF_USERNAME=$SEAF_USERNAME
+ export SEAF_PASSWORD=$SEAF_PASSWORD
+ export SEAF_LIBRARY_UUID=$SEAF_LIBRARY_UUID
+ export UNAME=$UNAME
+ /bin/bash /home/seafuser/entrypoint.sh
+EO
\ No newline at end of file
diff --git a/assets/seafile-bash-entrypoint.sh b/assets/seafile-bash-entrypoint.sh
new file mode 100644
index 0000000..2ceae1a
--- /dev/null
+++ b/assets/seafile-bash-entrypoint.sh
@@ -0,0 +1,38 @@
+#!/bin/bash
+
+# Docker Seafile client, help you mount a Seafile library as a volume.
+# Copyright (C) 2019, flow.gunso@gmail.com
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+
+# Define variable shortcuts for readability purposes.
+seafile_ini=~/.ccnet/seafile.ini
+seafile_sock=~/.seafile/seafile-data/seafile.sock
+
+# Prepare the directories.
+mkdir ~/.seafile
+
+# Safely initialise the Seafile client.
+/usr/bin/seaf-cli init -d ~/.seafile
+while [ ! -f $seafile_ini ]; do sleep 1; done
+
+# Safely start the Seafile daemon.
+/usr/bin/seaf-cli start
+while [ ! -S $seafile_sock ]; do sleep 1; done
+
+# Start the synchronisation.
+/usr/bin/seaf-cli sync -u $SEAF_USERNAME -p $SEAF_PASSWORD -s $SEAF_SERVER_URL -l $SEAF_LIBRARY_UUID -d /volume
+
+# Start the Seafile healthcheck as a disowned process.
+(/usr/bin/bash ~/infinite-seaf-cli-start.sh &)
\ No newline at end of file