瀏覽代碼

initial commit

Dick Tang 7 年之前
當前提交
65df77f8ad
共有 6 個文件被更改,包括 106 次插入0 次删除
  1. 0 0
      CHANGELOG
  2. 28 0
      CloudronManifest.json
  3. 0 0
      DESCRIPTION.md
  4. 33 0
      Dockerfile
  5. 二進制
      logo.png
  6. 45 0
      start.sh

+ 0 - 0
CHANGELOG


+ 28 - 0
CloudronManifest.json

@@ -0,0 +1,28 @@
+{
+  "id": "io.hackmd",
+  "title": "HackMD",
+  "author": "HackMD authors",
+  "description": "file://DESCRIPTION.md",
+  "changelog": "file://CHANGELOG",
+  "tagline": "Best way to write and share your knowledge in markdown",
+  "version": "0.5.2-snapshot",
+  "healthCheckPath": "/status",
+  "httpPort": 3000,
+  "addons": {
+    "localstorage": {},
+    "postgresql": {},
+    "ldap": {}
+  },
+  "manifestVersion": 1,
+  "website": "https://hackmd.io",
+  "contactEmail": "support@cloudron.io",
+  "icon": "logo.png",
+  "tags": [
+    "markdown",
+    "wiki",
+    "document",
+    "collaboration"
+  ],
+  "mediaLinks": [ ]
+}
+

+ 0 - 0
DESCRIPTION.md


+ 33 - 0
Dockerfile

@@ -0,0 +1,33 @@
+FROM cloudron/base:0.10.0
+
+# setup nodejs version
+ENV NODEJS_VERSION 6.9.5
+RUN ln -s /usr/local/node-$NODEJS_VERSION/bin/node /usr/local/bin/node && \
+    ln -s /usr/local/node-$NODEJS_VERSION/bin/npm /usr/local/bin/npm
+
+WORKDIR /hackmd
+
+ENV HACKMD_VERSION master
+RUN curl -L https://github.com/hackmdio/hackmd/archive/$HACKMD_VERSION.tar.gz | tar -xz --strip-components 1 -f -
+
+# npm, deps
+RUN npm install
+
+# build front-end bundle
+RUN npm run build
+
+# remove dev dependencies
+RUN npm prune --production
+
+# add utils
+ADD CloudronManifest.json ./
+ADD start.sh ./
+RUN chmod +x ./start.sh
+
+# use local storage
+RUN ln -sfn /app/data/build/constant.js ./public/build/constant.js && \
+    rm -rf ./public/uploads && ln -sf /app/data/uploads ./public/uploads
+
+EXPOSE 3000
+
+CMD ["/hackmd/start.sh"]

二進制
logo.png


+ 45 - 0
start.sh

@@ -0,0 +1,45 @@
+#!/bin/bash
+
+mkdir -p /app/data/build && \
+mkdir -p /app/data/uploads
+
+if [ -f .sequelizerc ];
+then
+    node_modules/.bin/sequelize db:migrate
+fi
+
+# Print warning if local data storage is used but no volume is mounted
+[ "$HMD_IMAGE_UPLOAD_TYPE" = "filesystem" ] && { mountpoint -q ./public/uploads || {
+    echo "
+        #################################################################
+        ###                                                           ###
+        ###                         !!!WARNING!!!                     ###
+        ###                                                           ###
+        ###        Using local uploads without persistence is         ###
+        ###            dangerous. You'll loose your data on           ###
+        ###              container removal. Check out:                ###
+        ###  https://docs.docker.com/engine/tutorials/dockervolumes/  ###
+        ###                                                           ###
+        ###                          !!!WARNING!!!                    ###
+        ###                                                           ###
+        ##################################################################
+        
+    ";
+} ; }
+
+# wait for db up
+sleep 3
+
+export HMD_ALLOW_ANONYMOUS="false"
+export HMD_DB_URL="$POSTGRESQL_URL"
+export HMD_LDAP_URL="$LDAP_URL"
+export HMD_LDAP_BINDDN="$LDAP_BIND_DN"
+export HMD_LDAP_BINDCREDENTIALS="$LDAP_BIND_PASSWORD"
+export HMD_LDAP_SEARCHBASE="$LDAP_USERS_BASE_DN"
+export HMD_LDAP_SEARCHFILTER="(username={{username}})"
+export HMD_EMAIL=false
+export HMD_ALLOW_EMAIL_REGISTER=false
+export HMD_IMAGE_UPLOAD_TYPE=filesystem
+
+# run
+NODE_ENV='production' node app.js