snapshot file tracks the snapshot directory. when app gets deleted, the cleaner will remove the upstream snapshot directory when it runs. cache files are used in rsync logic to track what was uploading into snapshot in the previous run without needing to rescan upstream.
99 lines
3.3 KiB
JavaScript
99 lines
3.3 KiB
JavaScript
'use strict';
|
|
|
|
const fs = require('fs'),
|
|
path = require('path');
|
|
|
|
const CLOUDRON = process.env.BOX_ENV === 'cloudron',
|
|
TEST = process.env.BOX_ENV === 'test';
|
|
|
|
exports = module.exports = {
|
|
SMTP_SUBDOMAIN: 'smtp',
|
|
IMAP_SUBDOMAIN: 'imap',
|
|
|
|
// These are combined into one array because users and groups become mailboxes
|
|
RESERVED_NAMES: [
|
|
// Reserved usernames
|
|
// https://github.com/gogits/gogs/blob/52c8f691630548fe091d30bcfe8164545a05d3d5/models/repo.go#L393
|
|
// apps like wordpress, gogs don't like these
|
|
// postmaster is used in dovecot and haraka
|
|
'admin', 'no-reply', 'postmaster', 'mailer-daemon', 'root',
|
|
|
|
// Reserved groups
|
|
'admins', 'users' // ldap code uses 'users' pseudo group
|
|
],
|
|
|
|
DASHBOARD_SUBDOMAIN: 'my',
|
|
|
|
PORT: CLOUDRON ? 3000 : 5454,
|
|
GRAPHITE_PORT: 2003,
|
|
INTERNAL_SMTP_PORT: 2525, // this value comes from the mail container
|
|
AUTHWALL_PORT: 3001,
|
|
LDAP_PORT: 3002,
|
|
DOCKER_PROXY_PORT: 3003,
|
|
USER_DIRECTORY_LDAPS_PORT: 3004, // user directory LDAP with TLS rerouting in iptables, public port is 636
|
|
OIDC_PORT: 3005,
|
|
TURN_PORT: 3478, // tcp and udp
|
|
TURN_TLS_PORT: 5349, // tcp and udp
|
|
TURN_UDP_PORT_START: 50000,
|
|
TURN_UDP_PORT_END: 50100,
|
|
|
|
// docker IPs
|
|
DOCKER_IPv4_SUBNET: '172.18.0.0/16',
|
|
DOCKER_IPv4_RANGE: '172.18.0.0/20', // addresses are dynamically allocated within this range (172.18.0.0-172.18.15.255)
|
|
DOCKER_IPv4_GATEWAY: '172.18.0.1',
|
|
APPS_IPv4_START: '172.18.16.1', // after DOCKER_IPv4_RANGE
|
|
APPS_IPv4_END: '172.18.20.255',
|
|
|
|
DOCKER_IPv6_SUBNET: 'fd00:c107:d509::/64',
|
|
|
|
// these are hardcoded to allow connections from outside. this is not in "172.18.0.xx" since docker starts allocating from there
|
|
MYSQL_SERVICE_IPv4: '172.18.30.1',
|
|
POSTGRESQL_SERVICE_IPv4: '172.18.30.2',
|
|
MONGODB_SERVICE_IPv4: '172.18.30.3',
|
|
MAIL_SERVICE_IPv4: '172.18.30.4',
|
|
GRAPHITE_SERVICE_IPv4: '172.18.30.5',
|
|
|
|
NGINX_DEFAULT_CONFIG_FILE_NAME: 'default.conf',
|
|
|
|
DEFAULT_TOKEN_EXPIRATION_MSECS: 365 * 24 * 60 * 60 * 1000, // 1 year
|
|
DEFAULT_TOKEN_EXPIRATION_DAYS: 365,
|
|
|
|
DEFAULT_MEMORY_LIMIT: (256 * 1024 * 1024), // see also client.js
|
|
|
|
DEMO: fs.existsSync('/etc/cloudron/DEMO'),
|
|
DEMO_USERNAME: 'cloudron',
|
|
DEMO_BLOCKED_APPS: [
|
|
'org.jupyter.cloudronapp',
|
|
'com.github.cloudtorrent',
|
|
'net.alltubedownload.cloudronapp',
|
|
'com.adguard.home.cloudronapp',
|
|
'com.transmissionbt.cloudronapp',
|
|
'io.github.sickchill.cloudronapp',
|
|
'to.couchpota.cloudronapp',
|
|
'org.qbittorrent.cloudronapp'
|
|
],
|
|
DEMO_APP_LIMIT: 20,
|
|
|
|
PROXY_APP_APPSTORE_ID: 'io.cloudron.builtin.appproxy',
|
|
|
|
CRON_PATTERN_NEVER: 'never',
|
|
|
|
SECRET_PLACEHOLDER: String.fromCharCode(0x25CF).repeat(8), // also used in dashboard client.js
|
|
|
|
SNAPSHOT_INFO_FILENAME: 'snapshot-info.json',
|
|
|
|
CLOUDRON,
|
|
TEST,
|
|
|
|
PORT25_CHECK_SERVER: 'port25check.cloudron.io',
|
|
|
|
FORUM_URL: 'https://forum.cloudron.io',
|
|
|
|
USER_DIRECTORY_LDAP_DN: 'cn=admin,ou=system,dc=cloudron',
|
|
|
|
FOOTER: '© %YEAR% [Cloudron](https://cloudron.io) [Forum <i class="fa fa-comments"></i>](https://forum.cloudron.io)',
|
|
|
|
VERSION: process.env.BOX_ENV === 'cloudron' ? fs.readFileSync(path.join(__dirname, '../VERSION'), 'utf8').trim() : '8.0.0-test'
|
|
};
|
|
|