aboutsummaryrefslogtreecommitdiff
path: root/app/build/seafile
diff options
context:
space:
mode:
Diffstat (limited to 'app/build/seafile')
-rw-r--r--app/build/seafile/Dockerfile46
-rw-r--r--app/build/seafile/README.md27
-rwxr-xr-xapp/build/seafile/seadocker4
-rwxr-xr-xapp/build/seafile/seaenv7
4 files changed, 84 insertions, 0 deletions
diff --git a/app/build/seafile/Dockerfile b/app/build/seafile/Dockerfile
new file mode 100644
index 0000000..88dee4f
--- /dev/null
+++ b/app/build/seafile/Dockerfile
@@ -0,0 +1,46 @@
+FROM amd64/debian:buster as builder
+
+ENV VERSION 7.0.5
+
+RUN apt-get update && \
+ apt-get dist-upgrade -y && \
+ DEBIAN_FRONTEND=noninteractive apt-get install -y wget tar && \
+ wget https://download.seadrive.org/seafile-server_${VERSION}_x86-64.tar.gz -O ./seafile.tar.gz && \
+ tar xf ./seafile.tar.gz && \
+ mv seafile-server-${VERSION} seafile-server
+
+FROM amd64/debian:buster
+
+COPY --from=builder ./seafile-server /srv/webstore/seafile-server
+
+RUN apt-get update && \
+ apt-get dist-upgrade -y && \
+ DEBIAN_FRONTEND=noninteractive apt-get install -y \
+ python \
+ mariadb-client \
+ python2.7 \
+ libpython2.7 \
+ python-setuptools \
+ python-ldap \
+ python-urllib3 \
+ ffmpeg \
+ python-pip \
+ python-mysqldb \
+ python-memcache \
+ procps \
+ python-requests && \
+ pip install Pillow==4.3.0 && \
+ pip install moviepy && \
+ useradd -u 1000 -d /srv/webstore seauser && \
+ chown -R seauser:1000 /srv/webstore/
+
+RUN mkdir -p /usr/local/lib/mariadb/plugin/ && \
+ ln -s /usr/lib/x86_64-linux-gnu/mariadb*/plugin/mysql_clear_password.so /usr/local/lib/mariadb/plugin/ && \
+ ln -s /usr/lib/x86_64-linux-gnu/mariadb*/plugin/dialog.so /usr/local/lib/mariadb/plugin/
+
+WORKDIR /srv/webstore/seafile-server
+COPY seadocker /usr/local/bin/seadocker
+COPY seaenv /usr/local/bin/seaenv
+
+ENTRYPOINT ["/usr/local/bin/seaenv"]
+CMD ["/usr/local/bin/seadocker"]
diff --git a/app/build/seafile/README.md b/app/build/seafile/README.md
new file mode 100644
index 0000000..26d04e0
--- /dev/null
+++ b/app/build/seafile/README.md
@@ -0,0 +1,27 @@
+
+```bash
+sudo docker build -t superboum/amd64_seafile:v5 .
+```
+
+When upgrading, connect on a production server and run:
+
+```bash
+nomad stop seafile
+sudo docker build -t superboum/amd64_seafile:v6 .
+
+sudo docker run -t -i \
+ -v /mnt/glusterfs/seafile:/mnt/seafile-data \
+ -v /mnt/glusterfs/seaconf/conf:/srv/webstore/conf \
+ -v /mnt/glusterfs/seaconf/ccnet:/srv/webstore/ccnet \
+ superboum/amd64_seafile:v5
+
+# See:
+# * https://download.seafile.com/published/seafile-manual/deploy/upgrade.md
+# * https://download.seafile.com/published/seafile-manual/changelog/server-changelog.md
+
+
+
+nomad start seafile.hcl
+```
+
+when upgrading, change the command on start
diff --git a/app/build/seafile/seadocker b/app/build/seafile/seadocker
new file mode 100755
index 0000000..5b5982b
--- /dev/null
+++ b/app/build/seafile/seadocker
@@ -0,0 +1,4 @@
+#!/bin/bash
+/srv/webstore/seafile-server/seafile.sh start
+/srv/webstore/seafile-server/seahub.sh start
+tail -f /srv/webstore/logs/*
diff --git a/app/build/seafile/seaenv b/app/build/seafile/seaenv
new file mode 100755
index 0000000..3b0e0bb
--- /dev/null
+++ b/app/build/seafile/seaenv
@@ -0,0 +1,7 @@
+#!/bin/bash
+
+chown seauser /srv/webstore
+chown seauser -R /srv/webstore/ccnet
+chown seauser -R /srv/webstore/conf
+
+runuser -u seauser -- "$@"