Эх сурвалжийг харах

public/ contains executable code as well

Girish Ramakrishnan 8 жил өмнө
parent
commit
3f452c69df
2 өөрчлөгдсөн 12 нэмэгдсэн , 9 устгасан
  1. 2 5
      Dockerfile
  2. 10 4
      start.sh

+ 2 - 5
Dockerfile

@@ -10,12 +10,9 @@ ADD config.json.template /app/code
 RUN npm install --production
 
 # these links will become valid after setup is run
-RUN mv /app/code/public/uploads /app/code/public/uploads_template && ln -sf /app/data/public/uploads /app/code/public/uploads
-
-# setup code insists on generating config.json
-RUN ln -sF /run/nodebb/config.json /app/code/config.json
-
+RUN mv /app/code/public /app/code/public_template && ln -sf /run/nodebb/public /app/code/public
 RUN rm -rf /app/code/logs && ln -sf /run/nodebb/logs /app/code/logs
+RUN ln -sF /run/nodebb/config.json /app/code/config.json
 
 ADD start.sh /app/code/start.sh
 

+ 10 - 4
start.sh

@@ -3,17 +3,23 @@
 set -eu
 
 echo "Creating directories"
-mkdir -p /app/data/public/uploads /run/nodebb/logs /run/nodebb/public/templates
+mkdir -p /app/data/public/uploads /run/nodebb/logs /run/nodebb/public
 
-if [[ -z "$(ls -A /app/data/public/uploads)" ]]; then
-    echo "First run"
+if [[ -z "$(ls -A /run/nodebb/public)" ]]; then
+    echo "Copying public files"
 
-    cp -rf /app/code/public/uploads_template /app/data/public/uploads
+    cp -rf /app/code/public_template/* /run/nodebb/public
+
+    # symlink uploads for backup
+    cp -rf /app/code/public_template/uploads/* /app/data/public/uploads
+    rm -rf /run/nodebb/public/uploads
+    ln -sf /app/data/public/uploads /run/nodebb/public/uploads
 fi
 
 chown -R cloudron:cloudron /app/data /run/nodebb
 
 export NODE_ENV=production
+export NODE_PATH=/app/code/node_modules
 
 if [[ ! -f /app/data/.setup_done ]]; then
     echo "Running initial setup"