Created
June 26, 2016 15:33
-
-
Save YetAnotherMinion/504e8ddea7f15d53c255f9f79f492eb6 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| FROM centos:centos7.2.1511 | |
| MAINTAINER YetAnotherMinion <yam@thinkalexandria.com> | |
| ENV LIBEVHTP_DL_LOC="https://github.com/ellzey/libevhtp/archive/1.1.6.tar.gz" | |
| ENV LIBZDB_DL_LOC="http://www.tildeslash.com/libzdb/dist/libzdb-2.12.tar.gz" | |
| ENV POSTGRES_REPO="https://download.postgresql.org/pub/repos/yum/9.5/redhat/rhel-7-x86_64/pgdg-centos95-9.5-2.noarch.rpm" | |
| RUN yum -y --nogpgcheck update | |
| RUN yum -y --nogpgcheck install gcc-4.8.5-4.el7 \ | |
| gcc-c++-4.8.5-4.el7 \ | |
| libevent-devel-2.0.21-4.el7 \ | |
| libcurl-devel-7.29.0-25.el7 \ | |
| glib2-devel-2.42.2-5.el7 \ | |
| libuuid-devel-2.23.2-26.el7_2 \ | |
| intltool-0.50.2-6.el7 \ | |
| sqlite-devel-3.7.17-8.el7 \ | |
| mariadb-devel-5.5.47-1.el7 \ | |
| mariadb-libs-5.5.47-1.el7 \ | |
| libarchive-devel-3.1.2-7.el7 \ | |
| libtool-2.4.2-21.el7_2 \ | |
| jansson-devel-2.4-6.el7 \ | |
| vala-0.26.1-3.el7 \ | |
| fuse-devel-2.9.2-6.el7 \ | |
| python-2.7.5-34.el7 \ | |
| python-devel-2.7.5-34.el7 | |
| openssl-devel-1.0.1e-51.el7_2 \ | |
| wget \ | |
| make \ | |
| cmake \ | |
| python-pip | |
| # install postgres headers to enable postgres support in libzdb | |
| # prevent postgres packages resolving to postgres supplied | |
| # by the base repository | |
| RUN sed -i.bak /etc/yum.repos.d/CentOS-Base.repo -e '/^\[base\]$/a\ | |
| exclude=postgresql*' && \ | |
| sed -i.bak /etc/yum.repos.d/CentOS-Base.repo -e '/^\[updates\]$/a\ | |
| exclude=postgresql*' | |
| RUN yum -y localinstall $POSTGRES_REPO | |
| RUN yum -y install postgresql95-devel && \ | |
| ln -sf /usr/pgsql-9.5/bin/pg_config /usr/local/bin/pg_config | |
| # install libzdb by building from source | |
| # install epel to get re2c | |
| RUN yum -y install epel-release | |
| RUN yum -y --nogpgcheck install re2c-0.14.3-2.el7 \ | |
| flex-devel-2.5.37-3.el7 \ | |
| flex-2.5.37-3.el7 | |
| RUN TEMP=$(mktemp -d) && \ | |
| cd $TEMP && \ | |
| wget $LIBZDB_DL_LOC && \ | |
| tar -xzf libzdb-2.12.tar.gz && \ | |
| cd libzdb-2.12 && \ | |
| ./configure && \ | |
| make && \ | |
| make install && \ | |
| cd $HOME && \ | |
| rm -rf $TEMP | |
| # install libevhtp | |
| RUN TEMP=$(mktemp -d) && \ | |
| cd $TEMP && \ | |
| wget $LIBEVHTP_DL_LOC && \ | |
| tar -xzf 1.1.6.tar.gz && \ | |
| cd libevhtp-1.1.6 && \ | |
| cmake -DEVHTP_DISABLE_SSL=ON -DEVHTP_BUILD_SHARED=ON . && \ | |
| make && \ | |
| make install && \ | |
| cd $HOME && \ | |
| rm -rf $TEMP | |
| # install python dependencies | |
| COPY requirements.txt /tmp/requirements.txt | |
| RUN pip install --upgrade pip && \ | |
| pip install -r /tmp/requirements.txt | |
| # prepare directory layout | |
| RUN mkdir -p /data/haiwen/seafile-server/src | |
| # get the source of seafile | |
| RUN TEMP=$(mktemp -d) && \ | |
| cd $TEMP && \ | |
| wget -O libsearpc-v3.0.7.tar.gz https://github.com/haiwen/libsearpc/archive/v3.0.7.tar.gz && \ | |
| wget -O ccnet-v5.1.3-server.tar.gz https://github.com/haiwen/ccnet/archive/v5.1.3-server.tar.gz && \ | |
| wget -O seafile-v5.1.3-server.tar.gz https://github.com/haiwen/seafile/archive/v5.1.3-server.tar.gz && \ | |
| wget -O seahub-v5.1.3-server.tar.gz https://github.com/haiwen/seahub/archive/v5.1.3-server.tar.gz && \ | |
| cd /data/haiwen/seafile-server/src && \ | |
| tar -xzf $TEMP/libsearpc-v3.0.7.tar.gz && \ | |
| tar -xzf $TEMP/ccnet-v5.1.3-server.tar.gz && \ | |
| tar -xzf $TEMP/seafile-v5.1.3-server.tar.gz && \ | |
| cd /data/haiwen/seafile-server && \ | |
| tar -xzf $TEMP/seahub-v5.1.3-server.tar.gz && \ | |
| mv seahub-5.1.3-server seahub && \ | |
| rm -rf $TEMP | |
| # build the seafile server | |
| RUN cd /data/haiwen/seafile-server/src/libsearpc-3.0.7 && \ | |
| ./autogen.sh && \ | |
| ./configure.sh && \ | |
| make && \ | |
| make install && \ | |
| cd /data/haiwen/seafile-server/src/ccnet-5.1.3-server && \ | |
| ./autogen.sh && \ | |
| export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig && \ | |
| ./configure --disable-client --enable-server && \ | |
| make && \ | |
| make install && \ | |
| cd /data/haiwen/seafile-server/src/seafile-5.1.3-server && \ | |
| ./autogen.sh && \ | |
| ./configure --disable-client --enable-server && \ | |
| make && \ | |
| make install && \ | |
| ldconfig | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment