Johannes Zellner před 9 roky
revize
f390daf275
3 změnil soubory, kde provedl 93 přidání a 0 odebrání
  1. 20 0
      CloudronManifest.json
  2. 23 0
      Dockerfile
  3. 50 0
      start.sh

+ 20 - 0
CloudronManifest.json

@@ -0,0 +1,20 @@
+{
+  "id": "org.nodebb.cloudronapp",
+  "title": "NodeBB",
+  "author": "NodeBB Team",
+  "description": "file://DESCRIPTION.md",
+  "tagline": "Modern community platform",
+  "version": "0.0.1",
+  "healthCheckPath": "/",
+  "httpPort": 4567,
+  "addons": {
+    "localstorage": {},
+    "mongodb": {}
+  },
+  "minBoxVersion": "0.0.1",
+  "manifestVersion": 1,
+  "website": "https://nodebb.org/",
+  "contactEmail": "support@cloudron.io",
+  "icon": "",
+  "mediaLinks": [ ]
+}

+ 23 - 0
Dockerfile

@@ -0,0 +1,23 @@
+FROM cloudron/base:0.7.0
+MAINTAINER Johannes Zellner <johannes@cloudron.io>
+
+ENV DEBIAN_FRONTEND noninteractive
+
+RUN apt-get install -y imagemagick
+
+ENV PATH /usr/local/node-0.12.7/bin:$PATH
+
+EXPOSE 4567
+
+RUN mkdir -p /app/code
+WORKDIR /app/code
+RUN git clone -b v0.8.x https://github.com/NodeBB/NodeBB.git .
+
+RUN npm install
+
+# these links will become valid after setup is run
+RUN rm -rf /app/code/config.json && ln -sf /app/data/config.json /app/code/config.json
+
+ADD start.sh /app/code/start.sh
+
+CMD [ "/app/code/start.sh" ]

+ 50 - 0
start.sh

@@ -0,0 +1,50 @@
+#!/bin/bash
+
+set -eu
+
+export NODE_ENV=production
+
+if [[ -z "$(ls -A /app/data)" ]]; then
+    echo "First run"
+
+    uuid="$(uuid)"
+
+    cat > /app/data/config.json <<EOF
+{
+    "url": "https://${HOSTNAME}",
+    "secret": "$(uuid)",
+    "database": "mongo",
+    "mongo": {
+        "host": "${MONGODB_HOST}",
+        "port": "${MONGODB_PORT}",
+        "username": "${MONGODB_USERNAME}",
+        "password": "${MONGODB_PASSWORD}",
+        "database": "${MONGODB_DATABASE}"
+    }
+}
+EOF
+fi
+
+chown -R cloudron:cloudron /app/data
+
+cd /app/code
+
+setup="{
+    \"admin:username\": \"admin\",
+    \"admin:password:\": \"password\",
+    \"admin:password:confirm\": \"password\",
+    \"admin:email\": \"admin@cloudron.io\"
+    \"mongo\": true,
+    \"mongo:host\": \"${MONGODB_HOST}\",
+    \"mongo:port\": \"${MONGODB_PORT}\",
+    \"mongo:username\": \"${MONGODB_USERNAME}\",
+    \"mongo:password\": \"${MONGODB_PASSWORD}\",
+    \"mongo:database\": \"${MONGODB_DATABASE}\"
+}"
+
+# node app --setup ${setup}
+
+# npm run-script migrate (this is done automatically as part of prestart script
+# /usr/local/bin/gosu cloudron:cloudron npm start
+
+read