|
|
@@ -1,178 +1,201 @@
|
|
|
export const options = [
|
|
|
{
|
|
|
- name: ' --port',
|
|
|
- id: 'port',
|
|
|
- param: '--port',
|
|
|
- desc: 'Change Hestia Port',
|
|
|
- selected: true,
|
|
|
- text: '8083',
|
|
|
- textField: true,
|
|
|
- },
|
|
|
- {
|
|
|
- name: ' --lang',
|
|
|
- id: 'language',
|
|
|
- param: '--lang',
|
|
|
- desc: 'ISO 639-1 codes',
|
|
|
- selected: true,
|
|
|
- default: 'en',
|
|
|
- selectField: true,
|
|
|
- text: 'en',
|
|
|
- },
|
|
|
- {
|
|
|
- name: ' --hostname',
|
|
|
- id: 'hostname',
|
|
|
- param: '--hostname',
|
|
|
- desc: 'Set hostname',
|
|
|
- selected: false,
|
|
|
- text: '',
|
|
|
- textField: true,
|
|
|
+ flag: 'port',
|
|
|
+ label: 'Port',
|
|
|
+ description: 'Change the port Hestia uses.',
|
|
|
+ type: 'text',
|
|
|
+ default: '8083',
|
|
|
},
|
|
|
{
|
|
|
- name: ' --email',
|
|
|
- id: 'email',
|
|
|
- param: '--email',
|
|
|
- desc: 'Set admin email',
|
|
|
- selected: false,
|
|
|
- text: '',
|
|
|
- textField: true,
|
|
|
+ flag: 'lang',
|
|
|
+ label: 'Language',
|
|
|
+ description: 'Change the ISO 639-1 language code.',
|
|
|
+ type: 'select',
|
|
|
+ default: 'en',
|
|
|
+ options: [
|
|
|
+ { label: 'Albanian', value: 'sq' },
|
|
|
+ { label: 'Arabic', value: 'ar' },
|
|
|
+ { label: 'Armenian', value: 'hy' },
|
|
|
+ { label: 'Azerbaijani', value: 'az' },
|
|
|
+ { label: 'Bengali', value: 'bn' },
|
|
|
+ { label: 'Bosnian', value: 'bs' },
|
|
|
+ { label: 'Bulgarian', value: 'bg' },
|
|
|
+ { label: 'Catalan', value: 'ca' },
|
|
|
+ { label: 'Croatian', value: 'hr' },
|
|
|
+ { label: 'Czech', value: 'cs' },
|
|
|
+ { label: 'Danish', value: 'da' },
|
|
|
+ { label: 'Dutch', value: 'nl' },
|
|
|
+ { label: 'English', value: 'en' },
|
|
|
+ { label: 'Finnish', value: 'fi' },
|
|
|
+ { label: 'French', value: 'fr' },
|
|
|
+ { label: 'Georgian', value: 'ka' },
|
|
|
+ { label: 'German', value: 'de' },
|
|
|
+ { label: 'Greek', value: 'el' },
|
|
|
+ { label: 'Hungarian', value: 'hu' },
|
|
|
+ { label: 'Indonesian', value: 'id' },
|
|
|
+ { label: 'Italian', value: 'it' },
|
|
|
+ { label: 'Japanese', value: 'ja' },
|
|
|
+ { label: 'Korean', value: 'ko' },
|
|
|
+ { label: 'Kurdish Sorani', value: 'ku' },
|
|
|
+ { label: 'Norwegian', value: 'no' },
|
|
|
+ { label: 'Persian', value: 'fa' },
|
|
|
+ { label: 'Polish', value: 'pl' },
|
|
|
+ { label: 'Portuguese', value: 'pt' },
|
|
|
+ { label: 'Portuguese (Brasil)', value: 'pt-br' },
|
|
|
+ { label: 'Romanian', value: 'ro' },
|
|
|
+ { label: 'Russian', value: 'ru' },
|
|
|
+ { label: 'Serbian', value: 'sr' },
|
|
|
+ { label: 'Simplified Chinese (China)', value: 'zh-cn' },
|
|
|
+ { label: 'Slovak', value: 'sk' },
|
|
|
+ { label: 'Spanish', value: 'es' },
|
|
|
+ { label: 'Swedish', value: 'sv' },
|
|
|
+ { label: 'Thai', value: 'th' },
|
|
|
+ { label: 'Traditional Chinese (Taiwan)', value: 'zh-tw' },
|
|
|
+ { label: 'Turkish', value: 'tr' },
|
|
|
+ { label: 'Ukrainian', value: 'uk' },
|
|
|
+ { label: 'Urdu', value: 'ur' },
|
|
|
+ { label: 'Vietnamese', value: 'vi' },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ {
|
|
|
+ flag: 'hostname',
|
|
|
+ label: 'Hostname',
|
|
|
+ description: 'Set a custom hostname.',
|
|
|
+ type: 'text',
|
|
|
+ default: '',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ flag: 'email',
|
|
|
+ label: 'Email',
|
|
|
+ description: 'Set the admin account email.',
|
|
|
+ type: 'text',
|
|
|
+ default: '',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ flag: 'password',
|
|
|
+ label: 'Password',
|
|
|
+ description: 'Set the admin account password.',
|
|
|
+ type: 'text',
|
|
|
+ default: '',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ flag: 'apache',
|
|
|
+ label: 'Apache',
|
|
|
+ description: 'Web server with htaccess support.',
|
|
|
+ default: 'yes',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ flag: 'phpfpm',
|
|
|
+ label: 'PHP-FPM',
|
|
|
+ description: 'Process manager for executing PHP scripts.',
|
|
|
+ default: 'no',
|
|
|
},
|
|
|
{
|
|
|
- name: ' --password',
|
|
|
- id: 'password',
|
|
|
- param: '--password',
|
|
|
- desc: 'Set admin password',
|
|
|
- selected: false,
|
|
|
- text: '',
|
|
|
- textField: true,
|
|
|
+ flag: 'multiphp',
|
|
|
+ label: 'MultiPHP',
|
|
|
+ description: 'Allows installing multiple PHP versions.',
|
|
|
+ default: 'yes',
|
|
|
},
|
|
|
{
|
|
|
- name: ' --apache',
|
|
|
- id: 'apache',
|
|
|
- param: '--apache',
|
|
|
- desc: 'Web server with htaccess support.',
|
|
|
- selected: true,
|
|
|
+ flag: 'vsftpd',
|
|
|
+ label: 'VSFTPD',
|
|
|
+ description: 'Lightweight, minimalist and secure FTP server.',
|
|
|
+ default: 'yes',
|
|
|
},
|
|
|
- { name: ' --phpfpm', id: 'phpfpm', param: '--phpfpm', desc: 'Install PHP-FPM.', selected: true },
|
|
|
{
|
|
|
- name: ' --multiphp',
|
|
|
- id: 'multiphp',
|
|
|
- param: '--multiphp',
|
|
|
- desc: 'Allows installing multiple PHP versions.',
|
|
|
- selected: true,
|
|
|
+ flag: 'proftpd',
|
|
|
+ label: 'ProFTPD',
|
|
|
+ description: 'Advanced, modular FTP server that supports LDAP.',
|
|
|
+ default: 'no',
|
|
|
},
|
|
|
{
|
|
|
- name: ' --vsftpd',
|
|
|
- id: 'vsftpd',
|
|
|
- param: '--vsftpd',
|
|
|
- desc: 'Lightweight, minimalist and secure FTP server.',
|
|
|
- selected: true,
|
|
|
- conflicts: 'proftpd',
|
|
|
+ flag: 'named',
|
|
|
+ label: 'BIND',
|
|
|
+ description: 'Custom DNS name server.',
|
|
|
+ default: 'yes',
|
|
|
},
|
|
|
{
|
|
|
- name: ' --proftpd',
|
|
|
- id: 'proftpd',
|
|
|
- param: '--proftpd',
|
|
|
- desc: 'Advanced, modular FTP server that supports LDAP.',
|
|
|
- selected: false,
|
|
|
- conflicts: 'vsftpd',
|
|
|
+ flag: 'mysql',
|
|
|
+ label: 'MariaDB',
|
|
|
+ description: 'Fork of MySQL with additional features and improvements.',
|
|
|
+ default: 'yes',
|
|
|
},
|
|
|
{
|
|
|
- name: ' --named',
|
|
|
- id: 'named',
|
|
|
- param: '--named',
|
|
|
- desc: 'Custom DNS name server.',
|
|
|
- selected: true,
|
|
|
+ flag: 'mysql8',
|
|
|
+ label: 'MySQL 8',
|
|
|
+ description: 'Open-source relational database management system.',
|
|
|
+ default: 'no',
|
|
|
},
|
|
|
{
|
|
|
- name: ' --mariadb',
|
|
|
- id: 'mariadb',
|
|
|
- param: '--mariadb',
|
|
|
- desc: 'Fork of MySQL with additional features and improvements.',
|
|
|
- selected: true,
|
|
|
- conflicts: 'mysql8',
|
|
|
+ flag: 'postgresql',
|
|
|
+ label: 'PostgreSQL',
|
|
|
+ description: 'Open-source relational database management system.',
|
|
|
+ default: 'no',
|
|
|
},
|
|
|
{
|
|
|
- name: ' --mysql8',
|
|
|
- id: 'mysql8',
|
|
|
- param: '--mysql8',
|
|
|
- desc: 'Open-source database system.',
|
|
|
- selected: false,
|
|
|
- conflicts: 'mariadb',
|
|
|
+ flag: 'exim',
|
|
|
+ label: 'Exim',
|
|
|
+ description: 'Allows sending emails from web-mail or via SMTP.',
|
|
|
+ default: 'yes',
|
|
|
},
|
|
|
{
|
|
|
- name: ' --postgresql',
|
|
|
- id: 'postgresql',
|
|
|
- param: '--postgresql',
|
|
|
- desc: 'Open-source database system.',
|
|
|
- selected: false,
|
|
|
+ flag: 'dovecot',
|
|
|
+ label: 'Dovecot',
|
|
|
+ description: 'Receive emails and connect with email clients via IMAP/POP3.',
|
|
|
+ default: 'yes',
|
|
|
},
|
|
|
{
|
|
|
- name: ' --exim',
|
|
|
- id: 'exim',
|
|
|
- param: '--exim',
|
|
|
- desc: 'Allows sending emails from webmail or via SMTP.',
|
|
|
- selected: true,
|
|
|
+ flag: 'sieve',
|
|
|
+ label: 'Sieve',
|
|
|
+ description: 'Language for managing your own custom email filters.',
|
|
|
+ default: 'no',
|
|
|
},
|
|
|
{
|
|
|
- name: ' --dovecot',
|
|
|
- id: 'dovecot',
|
|
|
- param: '--dovecot',
|
|
|
- desc: 'Receive emails and connect with email clients via IMAP/POP3.',
|
|
|
- selected: true,
|
|
|
- depends: 'exim',
|
|
|
+ flag: 'clamav',
|
|
|
+ label: 'ClamAV',
|
|
|
+ description: 'Scans your email inbox for viruses.',
|
|
|
+ default: 'yes',
|
|
|
},
|
|
|
{
|
|
|
- name: ' --sieve',
|
|
|
- id: 'sieve',
|
|
|
- param: '--sieve',
|
|
|
- desc: 'Manage your own custom email filters.',
|
|
|
- selected: false,
|
|
|
- depends: 'dovecot',
|
|
|
+ flag: 'spamassassin',
|
|
|
+ label: 'SpamAssassin',
|
|
|
+ description: 'Filter out spam emails from your inbox.',
|
|
|
+ default: 'yes',
|
|
|
},
|
|
|
{
|
|
|
- name: ' --clamav',
|
|
|
- id: 'clamav',
|
|
|
- param: '--clamav',
|
|
|
- desc: 'Scans your email inbox for viruses.',
|
|
|
- selected: true,
|
|
|
- depends: 'exim',
|
|
|
+ flag: 'iptables',
|
|
|
+ label: 'iptables',
|
|
|
+ description: 'Allows firewall rule management within Hestia.',
|
|
|
+ default: 'yes',
|
|
|
},
|
|
|
{
|
|
|
- name: ' --spamassassin',
|
|
|
- id: 'spamassassin',
|
|
|
- param: '--spamassassin',
|
|
|
- desc: 'Filter out spam emails from your inbox.',
|
|
|
- selected: true,
|
|
|
- depends: 'exim',
|
|
|
+ flag: 'fail2ban',
|
|
|
+ label: 'Fail2Ban',
|
|
|
+ description: 'Provides brute force protection for SSH, email, FTP and databases.',
|
|
|
+ default: 'yes',
|
|
|
},
|
|
|
{
|
|
|
- name: ' --iptables',
|
|
|
- id: 'iptables',
|
|
|
- param: '--iptables',
|
|
|
- desc: 'Manage your firewall within Hestia.',
|
|
|
- selected: true,
|
|
|
+ flag: 'quota',
|
|
|
+ label: 'Filesystem quota',
|
|
|
+ description: 'Use hard disk space limits on user packages.',
|
|
|
+ default: 'no',
|
|
|
},
|
|
|
{
|
|
|
- name: ' --fail2ban',
|
|
|
- id: 'fail2ban',
|
|
|
- param: '--fail2ban',
|
|
|
- desc: 'Provides Bruteforce protection for SSH, Email, FTP, database.',
|
|
|
- selected: true,
|
|
|
+ flag: 'api',
|
|
|
+ label: 'Hestia API',
|
|
|
+ description: "Enable Hestia's internal API.",
|
|
|
+ default: 'yes',
|
|
|
},
|
|
|
{
|
|
|
- name: ' --quota',
|
|
|
- id: 'quota',
|
|
|
- param: '--quota',
|
|
|
- desc: 'Use hard disk space limits on user packages.',
|
|
|
- selected: false,
|
|
|
+ flag: 'interactive',
|
|
|
+ label: 'Interactive install',
|
|
|
+ description: 'Enable interactive install.',
|
|
|
+ default: 'yes',
|
|
|
},
|
|
|
- { name: ' --api', id: 'api', param: '--api', desc: 'Activate API.', selected: true },
|
|
|
{
|
|
|
- name: ' --interactive',
|
|
|
- id: 'interactive',
|
|
|
- param: '--interactive',
|
|
|
- desc: 'Interactive install.',
|
|
|
- selected: true,
|
|
|
+ flag: 'force',
|
|
|
+ label: 'Force installation',
|
|
|
+ description: 'Force the installation.',
|
|
|
+ default: 'no',
|
|
|
},
|
|
|
- { name: ' --force', id: 'force', param: '--force', desc: 'Force installation.', selected: false },
|
|
|
];
|