| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 | 
							- const fs = require('fs');
 
- const os = require('os');
 
- // Configure SyncedCron to suppress console logging
 
- // This must be done before any SyncedCron operations
 
- if (Meteor.isServer) {
 
-   const { SyncedCron } = require('meteor/percolate:synced-cron');
 
-   SyncedCron.config({
 
-     log: false, // Disable console logging
 
-     collectionName: 'cronJobs', // Use custom collection name
 
-     utc: false, // Use local time
 
-     collectionTTL: 172800 // 2 days TTL
 
-   });
 
- }
 
- let errors = [];
 
- if (!process.env.WRITABLE_PATH) {
 
-   errors.push("WRITABLE_PATH environment variable missing and/or unset, please configure !");
 
- } else {
 
-   try {
 
-     fs.accessSync(process.env.WRITABLE_PATH, fs.constants.W_OK);
 
-   } catch (err) {
 
-     const userInfo = os.userInfo();
 
-     errors.push("can't write to " + process.env.WRITABLE_PATH, err);
 
-     errors.push("the path of WRITABLE_PATH (" + process.env.WRITABLE_PATH + ") must be writable !!!");
 
-     errors.push("username: " + userInfo["username"] + " - uid: " + userInfo["uid"] + " - gid: " + userInfo["gid"]);
 
-   }
 
- }
 
- if (errors.length > 0) {
 
-   console.error("\n\n");
 
-   console.error(errors.join("\n"));
 
-   console.error("\n");
 
-   console.error("Stopping Wekan");
 
-   console.error("Wekan isn't runnable. Please resolve the error's above and restart Wekan !");
 
-   console.error("\n\n");
 
-   process.exit(1);
 
- }
 
- // Import cron job storage for persistent job tracking
 
- import './cronJobStorage';
 
- // Import board migration detector for automatic board migrations
 
- import './boardMigrationDetector';
 
- // Import cron migration manager for cron-based migrations
 
- import './cronMigrationManager';
 
 
  |