Add prerequisites for Keep server described in
authorTim Pierce <twp@clinicalfuture.com>
Fri, 15 Nov 2013 23:52:56 +0000 (18:52 -0500)
committerTim Pierce <twp@clinicalfuture.com>
Fri, 15 Nov 2013 23:52:56 +0000 (18:52 -0500)
https://github.com/clinicalfuture/warehouse-apps/blob/master/libwarehouse-perl/server/INSTALL

docker/config.yml.example
docker/warehouse/Dockerfile
docker/warehouse/config_mysqld.sh.in [new file with mode: 0644]
docker/warehouse/supervisor.conf

index ff4a06944fa29a7e1a77d9e8d178fde361ae247c..e0a51eb898a3d545fa202c8648d512db948f474e 100644 (file)
@@ -6,6 +6,10 @@
 ARVADOS_DOMAIN:         # e.g. arvados.internal
 ARVADOS_DNS_SERVER:     # e.g. 192.168.0.1
 
+# ==============================
+# API server settings
+# ==============================
+
 # The API server hostname. Must be a 5-character
 # string unique within this installation. This string
 # will also be used as config.uuid_prefix.
@@ -35,7 +39,9 @@ OMNIAUTH_APP_ID: arvados-server
 # The URL for this installation's Omniauth server.
 OMNIAUTH_URL: http://auth.clinicalfuture.com
 
+# ==============================
 # Workbench settings
+# ==============================
 WORKBENCH_RAILS_MODE: production
 WORKBENCH_DATA_IMPORT_DIR: /data/arvados-workbench-upload/data
 WORKBENCH_DATA_EXPORT_DIR: /data/arvados-workbench-download/data
@@ -46,3 +52,12 @@ WORKBENCH_ACTIVATION_CONTACT_LINK: mailto:arvados@clinicalfuture.com
 WORKBENCH_ARVADOS_LOGIN_BASE: https://@@API_HOSTNAME@@.@@ARVADOS_DOMAIN@@/login
 WORKBENCH_ARVADOS_V1_BASE: https://@@API_HOSTNAME@@.@@ARVADOS_DOMAIN@@/arvados/v1
 # /Workbench settings
+
+# ==============================
+# Warehouse settings
+# ==============================
+
+# The password for the MySQL `warehouse' user. Automatically
+# generated if blank.
+WAREHOUSE_MYSQL_PW:
+
index a2f0e51d2262b5528f26a83d64bdb389183f9173..ff55d1a4dde27c5c5c6d5b8c4ae4860269da9648 100644 (file)
@@ -13,7 +13,11 @@ RUN apt-get update && \
       libtest-pod-perl libtest-pod-coverage-perl libjson-perl flex \
       libgnupg-interface-perl libunix-syslog-perl libbsd-resource-perl \
       bioperl perlmagick imagemagick gnuplot libbz2-dev libfftw3-3 libfftw3-dev \
-      xsltproc realpath supervisor
+      xsltproc realpath supervisor libgpgme11-dev libcache-memcached-perl \
+      libio-compress-perl mysql-server mysql-client-5.5 && \
+    perl -MCPAN -e 'install MogileFS::Client;' \
+                -e 'install Crypt::GpgME'
+
 RUN \
     cd /usr/src/warehouse-apps && \
     sh install.sh /usr/local && \
@@ -22,6 +26,9 @@ RUN \
 
 ADD supervisor.conf /etc/supervisor/conf.d/keepd.conf
 ADD generated/warehouse.conf /etc/warehouse/warehouse-client.conf
+ADD generated/config_mysqld.sh /tmp/config_mysqld.sh
+RUN /bin/sh /tmp/config_mysqld.sh && \
+    /bin/rm /tmp/config_mysqld.sh
 
 # Start the supervisor.
 CMD ["/usr/bin/supervisord", "-n"]
diff --git a/docker/warehouse/config_mysqld.sh.in b/docker/warehouse/config_mysqld.sh.in
new file mode 100644 (file)
index 0000000..020c6f5
--- /dev/null
@@ -0,0 +1,9 @@
+#! /bin/sh
+
+/etc/init.d/mysql start
+mysql <<EOF
+create database warehouse;
+grant all privileges on warehouse.* to warehouse@'%';
+set password for warehouse@'%' = password('@@WAREHOUSE_MYSQL_PW@@');
+EOF
+/etc/init.d/mysql stop
index ac6190b7fe29f27a33752bec157fda64eac79f19..108e0f4f7929fa61624d51bfb2154529b9b546e6 100644 (file)
@@ -1,3 +1,7 @@
+[program:mysqld]
+user=mysql
+command=/usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib/mysql/plugin --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/run/mysqld/mysqld.sock --port=3306
+
 [program:keepd]
 user=root
 command=/usr/src/warehouse-apps/libwarehouse-perl/server/keepd