start.sh 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. #!/bin/bash
  2. set -eu
  3. echo "Creating directories"
  4. mkdir -p /app/data/public/ /run/nodebb/logs
  5. if [[ -z "$(ls -A /app/data/public)" ]]; then
  6. echo "First run"
  7. cp -rf /app/code/public_template/* /app/data/public/
  8. mkdir -p /app/data/public/uploads
  9. fi
  10. chown -R cloudron:cloudron /app/data /run/nodebb
  11. # this will generate the config.json
  12. setup="{
  13. \"url\": \"https://${HOSTNAME}\",
  14. \"admin:username\": \"admin\",
  15. \"admin:password\": \"password\",
  16. \"admin:password:confirm\": \"password\",
  17. \"admin:email\": \"admin@cloudron.io\",
  18. \"database\": \"mongo\",
  19. \"mongo\": true,
  20. \"mongo:host\": \"${MONGODB_HOST}\",
  21. \"mongo:port\": \"${MONGODB_PORT}\",
  22. \"mongo:username\": \"${MONGODB_USERNAME}\",
  23. \"mongo:password\": \"${MONGODB_PASSWORD}\",
  24. \"mongo:database\": \"${MONGODB_DATABASE}\",
  25. \"upload_path\": \"/app/data/public/uploads\"
  26. }"
  27. export NODE_ENV=production
  28. echo "Creating config.json"
  29. node /app/code/app --setup "${setup}"
  30. echo "Starting nodebb"
  31. /usr/local/bin/gosu cloudron:cloudron node /app/code/loader.js --no-daemon --no-silent