run.sh 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. #!/bin/bash
  2. echo "Configuring client"
  3. cat <<EOF > client/config.js
  4. module.exports = {
  5. /*
  6. Invisible reCaptcha site key
  7. Create one in https://www.google.com/recaptcha/intro/
  8. */
  9. RECAPTCHA_SITE_KEY: "${RECAPTCHA_SITE_KEY}",
  10. // Google analytics tracking ID
  11. GOOGLE_ANALYTICS_ID: "${GOOGLE_ANALYTICS}",
  12. // Contact email address
  13. CONTACT_EMAIL: "${CONTACT_EMAIL}",
  14. // Report email address
  15. REPORT_EMAIL: "${MAIL_REPORT}",
  16. };
  17. EOF
  18. cat <<EOF > server/config.js
  19. module.exports = {
  20. PORT: process.env.KUTT_PORT,
  21. /* The domain that this website is on */
  22. DEFAULT_DOMAIN: process.env.KUTT_DOMAIN,
  23. /* Neo4j database credential details */
  24. DB_URI: 'bolt://' + process.env.NEO4J_HOST,
  25. DB_USERNAME: process.env.NEO4J_USER,
  26. DB_PASSWORD: process.env.NEO4J_PASS,
  27. /* Redis host and port */
  28. REDIS_HOST: process.env.REDIS_HOST,
  29. REDIS_PORT: process.env.REDIS_PORT,
  30. REDIS_PASSWORD: process.env.REDIS_PASS,
  31. /* The daily limit for each user */
  32. USER_LIMIT_PER_DAY: parseInt(process.env.USER_LIMIT_PER_DAY || 50, 10),
  33. /* A passphrase to encrypt JWT. Use a long and secure key. */
  34. JWT_SECRET: process.env.JWT_SECRET,
  35. /*
  36. Admin emails so they can access admin actions on settings page
  37. Array of strings
  38. */
  39. ADMIN_EMAILS: JSON.parse(process.env.ADMIN_EMAILS || '[]'),
  40. /*
  41. Invisible reCaptcha secret key
  42. Create one in https://www.google.com/recaptcha/intro/
  43. */
  44. RECAPTCHA_SECRET_KEY: process.env.RECAPTCHA_SECRET_KEY,
  45. /*
  46. Google Cloud API to prevent from users from submitting malware URLs.
  47. Get it from https://developers.google.com/safe-browsing/v4/get-started
  48. */
  49. GOOGLE_SAFE_BROWSING_KEY: process.env.GOOGLE_SAFE_BROWSING_KEY,
  50. /*
  51. Google Analytics tracking ID for universal analytics.
  52. Example: UA-XXXX-XX
  53. */
  54. GOOGLE_ANALYTICS: process.env.GOOGLE_ANALYTICS,
  55. /*
  56. Your email host details to use to send verification emails.
  57. More info on http://nodemailer.com/
  58. */
  59. MAIL_HOST: process.env.MAIL_HOST,
  60. MAIL_PORT: process.env.MAIL_PORT,
  61. MAIL_SECURE: process.env.MAIL_SECURE == 'true',
  62. MAIL_USER: process.env.MAIL_USER,
  63. MAIL_FROM: process.env.MAIL_FROM, // Example: "Kutt <support@kutt.it>". Leave empty to use MAIL_USER
  64. MAIL_PASSWORD: process.env.MAIL_PASS,
  65. /*
  66. The email address that will receive submitted reports.
  67. */
  68. REPORT_MAIL: process.env.MAIL_REPORT,
  69. };
  70. EOF
  71. echo "Building Client"
  72. ./node_modules/.bin/next build ./client
  73. echo "Starting"
  74. npm start