├── Dockerfile ├── LICENSE ├── README.md ├── docker-compose.yml ├── exports.sh └── start.sh /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM williamyeh/scala:2.11.6 2 | MAINTAINER Ilya Stepanov 3 | 4 | RUN apt-get update && \ 5 | apt-get install -y git && \ 6 | rm -rf /var/lib/apt/lists/* 7 | 8 | RUN useradd -d /home/hackpad hackpad 9 | RUN mkdir /home/hackpad 10 | RUN chown hackpad:hackpad /home/hackpad 11 | 12 | WORKDIR /home/hackpad 13 | 14 | RUN git clone --depth 1 https://github.com/dropbox/hackpad.git && rm -rf hackpad/.git 15 | ADD exports.sh hackpad/bin/exports.sh 16 | 17 | RUN mkdir -p lib/ data/logs/ 18 | RUN wget https://cdn.mysql.com/archives/mysql-connector-java-5.1/mysql-connector-java-5.1.34.tar.gz && \ 19 | tar -xzvf mysql-connector-java-5.1.34.tar.gz && \ 20 | mv mysql-connector-java-5.1.34/mysql-connector-java-5.1.34-bin.jar lib/ && \ 21 | rm mysql-connector-java-5.1.34.tar.gz && \ 22 | rm -rf mysql-connector-java-5.1.34/ 23 | 24 | RUN ./hackpad/bin/build.sh 25 | 26 | ADD start.sh start.sh 27 | RUN chmod +x start.sh 28 | 29 | EXPOSE 9000 30 | 31 | CMD '/home/hackpad/start.sh' 32 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 Ilya Stepanov 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | 23 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # istepanov/hackpad 2 | 3 | ## THIS PROJECT IS NO LONGER MAINTAINED 4 | 5 | [Hackpad](https://github.com/dropbox/hackpad) Docker image 6 | 7 | Docker Hub [link](https://hub.docker.com/r/istepanov/hackpad/) 8 | 9 | ### Environment variables 10 | 11 | * `ADMIN_EMAILS` - comma-separated superuser emails (default: `admin@example.com`) 12 | * `DB_HOST` - mysql host (default: `mysql`) 13 | * `DB_PORT` - mysql port (default: `3306`) 14 | * `DB_NAME` - mysql database name (default: `hackpad`) 15 | * `DB_USERNAME` - mysql user (default: `hackpad`) 16 | * `DB_PASSWORD` - mysql user password (default: `password`) 17 | * `TOP_DOMAINS` - comma-separated top level domains (default: `localhost,localbox.info`) 18 | * `USE_HTTPS_URLS` - should hackpad emit the absolute urls using https as opposed to http (default: `false`) 19 | -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- 1 | hackpad: 2 | image: istepanov/hackpad 3 | ports: 4 | - "9000:9000" 5 | links: 6 | - mysql 7 | mysql: 8 | image: mysql 9 | environment: 10 | MYSQL_ROOT_PASSWORD: root_password 11 | MYSQL_USER: hackpad 12 | MYSQL_PASSWORD: password 13 | MYSQL_DATABASE: hackpad 14 | -------------------------------------------------------------------------------- /exports.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | export SCALA_HOME="/usr/share/scala" 4 | export SCALA="/usr/bin/scala" 5 | export SCALA_LIBRARY_JAR="/usr/share/scala/lib/scala-library.jar" 6 | 7 | export JAVA_HOME="/usr/share/java" 8 | export JAVA="/usr/bin/java" 9 | 10 | export JAVA_OPTS="-Xmx1024M -Xms1024M -Xbootclasspath/p:../infrastructure/lib/rhino-js-1.7r3.jar:$SCALA_LIBRARY_JAR" 11 | export MYSQL_CONNECTOR_JAR="$PWD/lib/mysql-connector-java-5.1.34-bin.jar" 12 | export PATH="$JAVA_HOME/bin:$SCALA_HOME/bin:$PATH" 13 | -------------------------------------------------------------------------------- /start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | cd "$( dirname "${BASH_SOURCE[0]}" )" 6 | 7 | ADMIN_EMAILS=${ADMIN_EMAILS:-admin@example.com} 8 | DB_HOST=${DB_HOST:-mysql} 9 | DB_PORT=${DB_PORT:-3306} 10 | DB_NAME=${DB_NAME:-hackpad} 11 | DB_USERNAME=${DB_USERNAME:-hackpad} 12 | DB_PASSWORD=${DB_PASSWORD:-password} 13 | TOP_DOMAINS=${TOP_DOMAINS:-localhost,localbox.info} 14 | USE_HTTPS_URLS=${USE_HTTPS_URLS:-false} 15 | 16 | cp hackpad/etherpad/etc/etherpad.local.properties.tmpl hackpad/etherpad/etc/etherpad.local.properties 17 | 18 | sed -i.bak s/__email_addresses_with_admin_access__/$ADMIN_EMAILS/g hackpad/etherpad/etc/etherpad.local.properties 19 | sed -i.bak s/__dbc_dbserver__/$DB_HOST/g hackpad/etherpad/etc/etherpad.local.properties 20 | sed -i.bak s/__dbc_dbport__/$DB_PORT/g hackpad/etherpad/etc/etherpad.local.properties 21 | sed -i.bak s/__dbc_dbname__/$DB_NAME/g hackpad/etherpad/etc/etherpad.local.properties 22 | sed -i.bak s/__dbc_dbuser__/$DB_USERNAME/g hackpad/etherpad/etc/etherpad.local.properties 23 | sed -i.bak s/__dbc_dbpass__/$DB_PASSWORD/g hackpad/etherpad/etc/etherpad.local.properties 24 | sed -i.bak "s/^\(topdomains = \).*$/\1$TOP_DOMAINS/g" hackpad/etherpad/etc/etherpad.local.properties 25 | sed -i.bak "s/^\(useHttpsUrls = \).*$/\1$USE_HTTPS_URLS/g" hackpad/etherpad/etc/etherpad.local.properties 26 | sed -i.bak "s/^\(devMode = \).*$/\1 true/g" hackpad/etherpad/etc/etherpad.local.properties 27 | sed -i.bak "s/^\(etherpad\.isProduction = \).*$/\1false/g" hackpad/etherpad/etc/etherpad.local.properties 28 | sed -i.bak "s/^\(logDir = \).*$/\1.\/data\/logs/g" hackpad/etherpad/etc/etherpad.local.properties 29 | echo 'verbose = true' >> hackpad/etherpad/etc/etherpad.local.properties 30 | 31 | exec hackpad/bin/run.sh 32 | --------------------------------------------------------------------------------