sandstorm-pkgdef.capnp 9.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273
  1. # Use use the meteor-spk tool to generate a sandstorm package (spk) from this
  2. # meteor application source code. https://github.com/sandstorm-io/meteor-spk
  3. @0xa5275bd3ad124e12;
  4. using Spk = import "/sandstorm/package.capnp";
  5. # This imports:
  6. # $SANDSTORM_HOME/latest/usr/include/sandstorm/package.capnp
  7. # Check out that file to see the full, documented package definition format.
  8. const pkgdef :Spk.PackageDefinition = (
  9. # The package definition. Note that the spk tool looks specifically for the
  10. # "pkgdef" constant.
  11. id = "m86q05rdvj14yvn78ghaxynqz7u2svw6rnttptxx49g1785cdv1h",
  12. # The app ID is actually its public key. The private key was placed in your
  13. # keyring. All updates must be signed with the same key.
  14. manifest = (
  15. # This manifest is included in our app package to tell Sandstorm about our
  16. # app.
  17. appTitle = (defaultText = "Wekan"),
  18. # The name of the app as it is displayed to the user.
  19. appVersion = 791,
  20. # Increment this for every release.
  21. appMarketingVersion = (defaultText = "7.91.0~2025-05-25"),
  22. # Human-readable presentation of the app version.
  23. minUpgradableAppVersion = 0,
  24. # The minimum version of the app which can be safely replaced by this app
  25. # package without data loss. This might be non-zero if the app's data store
  26. # format changed drastically in the past and the app is no longer able to
  27. # read the old format.
  28. actions = [
  29. # Define your "new document" handlers here.
  30. (
  31. title = (defaultText = "New board"),
  32. command = .myCommand,
  33. # The command to run when starting for the first time. (".myCommand" is
  34. # just a constant defined at the bottom of the file.)
  35. )
  36. ],
  37. continueCommand = .myCommand,
  38. # This is the command called to start your app back up after it has been
  39. # shut down for inactivity. Here we're using the same command as for
  40. # starting a new instance, but you could use different commands for each
  41. # case.
  42. metadata = (
  43. icons = (
  44. appGrid = (svg = embed "meta/icons/wekan-128.svg"),
  45. grain = (svg = embed "meta/icons/wekan-24.svg"),
  46. market = (svg = embed "meta/icons/wekan-150.svg"),
  47. ),
  48. website = "https://wekan.github.io",
  49. codeUrl = "https://github.com/wekan/wekan",
  50. license = (openSource = mit),
  51. categories = [productivity, office],
  52. author = (
  53. contactEmail = "x@xet7.org",
  54. pgpSignature = embed "meta/wekanteam-pgp-sig",
  55. ),
  56. pgpKeyring = embed "meta/keyring",
  57. description = (defaultText = embed "meta/description.md"),
  58. shortDescription = (defaultText = "Kanban board"),
  59. screenshots = [
  60. (
  61. width = 1920,
  62. height = 1133,
  63. png = embed "meta/screenshots/board_view_01.png"
  64. ),
  65. (
  66. width = 1920,
  67. height = 1133,
  68. png = embed "meta/screenshots/board_view_02.png"
  69. ),
  70. ],
  71. changeLog = (defaultText = embed "CHANGELOG.md"),
  72. ),
  73. ),
  74. sourceMap = (
  75. # The following directories will be copied into your package.
  76. searchPath = [
  77. (sourcePath = ".meteor-spk/deps"),
  78. (sourcePath = ".meteor-spk/bundle"),
  79. ]
  80. ),
  81. alwaysInclude = [ "." ],
  82. # This says that we always want to include all files from the source map. (An
  83. # alternative is to automatically detect dependencies by watching what the app
  84. # opens while running in dev mode. To see what that looks like, run `spk init`
  85. # without the -A option.)
  86. bridgeConfig = (
  87. viewInfo = (
  88. permissions = [(
  89. name = "participate",
  90. title = (
  91. defaultText = "participate",
  92. localizations = [
  93. (locale = "fr", text = "participer"),
  94. (locale = "fi", text = "osallistu"),
  95. ],
  96. ),
  97. description = (
  98. defaultText = "allows participating in the board",
  99. localizations = [
  100. (locale = "fr", text = "permet de participer dans le tableau"),
  101. (locale = "fi", text = "mahdollistaa taululle osallistumisen"),
  102. ],
  103. )
  104. ), (
  105. name = "configure",
  106. title = (
  107. defaultText = "configure",
  108. localizations = [
  109. (locale = "fr", text = "configurer"),
  110. (locale = "fi", text = "asetukset"),
  111. ],
  112. ),
  113. description = (
  114. defaultText = "allows configuring the board",
  115. localizations = [
  116. (locale = "fr", text = "permet de configurer le tableau"),
  117. (locale = "fi", text = "mahdollistaa taulun asetusten määrittämisen"),
  118. ],
  119. )
  120. )],
  121. roles = [(
  122. title = (
  123. defaultText = "observer",
  124. localizations = [
  125. (locale = "fr", text = "observateur"),
  126. (locale = "fi", text = "tarkkailija"),
  127. ],
  128. ),
  129. permissions = [false, false],
  130. verbPhrase = (
  131. defaultText = "can read",
  132. localizations = [
  133. (locale = "fr", text = "peut lire"),
  134. (locale = "fi", text = "voi lukea"),
  135. ],
  136. )
  137. ), (
  138. title = (
  139. defaultText = "member",
  140. localizations = [
  141. (locale = "fr", text = "membre"),
  142. (locale = "fi", text = "jäsen"),
  143. ],
  144. ),
  145. permissions = [true, false],
  146. verbPhrase = (
  147. defaultText = "can edit",
  148. localizations = [
  149. (locale = "fr", text = "peut éditer"),
  150. (locale = "fi", text = "voi muokata"),
  151. ],
  152. ),
  153. default = true,
  154. # ), (
  155. # title = (defaultText = "administrator"),
  156. # permissions = [true, true],
  157. # verbPhrase = (defaultText = "can configure")
  158. #
  159. # XXX Administrators configuration options aren’t implemented yet, so this
  160. # role is currently useless.
  161. )],
  162. eventTypes = [(
  163. name = "addBoardMember",
  164. verbPhrase = (defaultText = "added to board"),
  165. ), (
  166. name = "createList",
  167. verbPhrase = (defaultText = "created new list"),
  168. ), (
  169. name = "archivedList",
  170. verbPhrase = (defaultText = "archived list"),
  171. ), (
  172. name = "restoredList",
  173. verbPhrase = (defaultText = "restored list"),
  174. ), (
  175. name = "createCard",
  176. verbPhrase = (defaultText = "created new card"),
  177. ), (
  178. name = "moveCard",
  179. verbPhrase = (defaultText = "moved card"),
  180. ), (
  181. name = "archivedCard",
  182. verbPhrase = (defaultText = "archived card"),
  183. ), (
  184. name = "restoredCard",
  185. verbPhrase = (defaultText = "restored card"),
  186. ), (
  187. name = "addComment",
  188. verbPhrase = (defaultText = "added comment"),
  189. ), (
  190. name = "addAttachement",
  191. verbPhrase = (defaultText = "added attachment"),
  192. ), (
  193. name = "joinMember",
  194. verbPhrase = (defaultText = "added to card"),
  195. ), (
  196. name = "unjoinMember",
  197. verbPhrase = (defaultText = "removed from card"),
  198. ), ],
  199. ),
  200. apiPath = "/",
  201. saveIdentityCaps = true,
  202. ),
  203. );
  204. const myCommand :Spk.Manifest.Command = (
  205. # Here we define the command used to start up your server.
  206. #argv = ["/sandstorm-http-bridge", "4000", "--", "node", "start.js"],
  207. #argv = ["/sandstorm-http-bridge", "4000", "--", "node", "--stack-size=65500", "start.js"],
  208. argv = ["/sandstorm-http-bridge", "4000", "--", "node", "start.js"],
  209. environ = [
  210. # Note that this defines the *entire* environment seen by your app.
  211. #---------------------------------------------------------------------
  212. # https://github.com/wekan/wekan/issues/3585#issuecomment-1021522132
  213. # Add more Node heap:
  214. #export NODE_OPTIONS="--max_old_space_size=4096"
  215. # Add more stack:
  216. #bash -c "ulimit -s 65500; exec node --stack-size=65500 main.js"
  217. #---------------------------------------------------------------------
  218. (key = "NODE_OPTIONS", value = "--max_old_space_size=4096"),
  219. (key = "PATH", value = "/usr/local/bin:/usr/bin:/bin"),
  220. (key = "WRITABLE_PATH", value = "/var/wekan-uploads"),
  221. (key = "RESULTS_PER_PAGE", value = ""),
  222. (key = "WITH_API", value = "true"),
  223. (key = "RICHER_CARD_COMMENT_EDITOR", value="false"),
  224. (key = "CARD_OPENED_WEBHOOK_ENABLED", value="false"),
  225. (key = "NOTIFICATION_TRAY_AFTER_READ_DAYS_BEFORE_REMOVE", value=""),
  226. (key = "BIGEVENTS_PATTERN", value="NONE"),
  227. (key = "MATOMO_ADDRESS", value=""),
  228. (key = "MATOMO_SITE_ID", value=""),
  229. (key = "MATOMO_DO_NOT_TRACK", value="true"),
  230. (key = "MATOMO_WITH_USERNAME", value="false"),
  231. (key = "BROWSER_POLICY_ENABLED", value="true"),
  232. (key = "TRUSTED_URL", value=""),
  233. (key = "WEBHOOKS_ATTRIBUTES", value=""),
  234. (key = "OAUTH2_ENABLED", value="false"),
  235. (key = "OAUTH2_CA_CERT", value=""),
  236. (key = "OAUTH2_ADFS_ENABLED", value="false"),
  237. (key = "OAUTH2_B2C_ENABLED", value="false"),
  238. (key = "OAUTH2_CLIENT_ID", value="false"),
  239. (key = "OAUTH2_SECRET", value=""),
  240. (key = "OAUTH2_SERVER_URL", value=""),
  241. (key = "OAUTH2_AUTH_ENDPOINT", value=""),
  242. (key = "OAUTH2_USERINFO_ENDPOINT", value=""),
  243. (key = "OAUTH2_TOKEN_ENDPOINT", value=""),
  244. (key = "LDAP_ENABLE", value="false"),
  245. (key = "PASSWORD_LOGIN_ENABLED", value="true"),
  246. (key = "SANDSTORM", value="1"),
  247. (key = "METEOR_SETTINGS", value = "{\"public\": {\"sandstorm\": true}}")
  248. ]
  249. );