MINARCA-SERVER(1)

NAME
minarca-server - manual page for minarca-server

DESCRIPTION
usage: minarca-server [-h] [-f FILE] [--database-uri URI] [-d]

[--admin-user USERNAME] [--admin-password USERNAME]
    [--default-lang DEFAULT_LANG] [--default-theme {default,blue,orange,custom}] [--environment {development,production}] [--email-encryption {none,ssl,starttls}] [--email-host HOST] [--email-sender EMAIL] [--email-notification-time TIME] [--email-username USERNAME] [--email-password PASSWORD] [--email-send-changed-notification] [--email-catch-all EMAIL] [--brand-favicon FAVICON] [--brand-logo LOGO] [--brand-header-logo HEADER_LOGO] [--brand-header-name HEADER_NAME] [--brand-link-color LINK_COLOR] [--brand-btn-bg-color BTN_BG_COLOR] [--brand-btn-fg-color BTN_FG_COLOR] [--brand-btn-rounded BTN_ROUNDED] [--brand-navbar-color NAVBAR_COLOR] [--brand-font-family FONT_FAMILY] [--ldap-add-missing-user] [--ldap-add-user-default-role {admin,maintainer,user}] [--ldap-add-user-default-userroot LDAP_ADD_USER_DEFAULT_USERROOT] [--ldap-uri LDAP_URI] [--ldap-base-dn DN] [--ldap-scope {base,onelevel,subtree}] [--ldap-tls] [--ldap-username-attribute ATTRIBUTE] [--ldap-user-filter LDAP_USER_FILTER] [--ldap-required-group CN] [--ldap-group-filter LDAP_GROUP_FILTER] [--ldap-group-attribute ATTRIBUTE] [--ldap-group-attribute-is-dn] [--ldap-bind-dn DN] [--ldap-bind-password PASSWORD] [--ldap-version {2,3}] [--ldap-network-timeout SECONDS] [--ldap-timeout SECONDS] [--ldap-encoding ENCODING] [--ldap-fullname-attribute LDAP_FULLNAME_ATTRIBUTE] [--ldap-firstname-attribute LDAP_FIRSTNAME_ATTRIBUTE] [--ldap-lastname-attribute LDAP_LASTNAME_ATTRIBUTE] [--ldap-email-attribute LDAP_EMAIL_ATTRIBUTE] [--log-access-file FILE] [--log-file FILE] [--log-level {ERROR,WARN,INFO,DEBUG}] [--max-depth DEPTH] [--quota-set-cmd COMMAND] [--quota-get-cmd COMMAND] [--quota-used-cmd COMMAND] [--remove-older-time TIME] [--server-host IP] [--server-port PORT] [--external-url URL] [--rate-limit-dir FOLDER] [--rate-limit LIMIT] [--session-idle-timeout MINUTES] [--session-absolute-timeout MINUTES] [--session-persistent-timeout MINUTES] [--ssl-certificate CERT] [--ssl-private-key KEY] [--tempdir FOLDER] [--disable-ssh-keys] [--password-min-length PASSWORD_MIN_LENGTH] [--password-max-length PASSWORD_MAX_LENGTH] [--password-score PASSWORD_SCORE] [--latest-version-url LATEST_VERSION_URL] [--welcome-msg HTML] [--minarca-user-base-dir FOLDER] [--minarca-home-dir FOLDER] [--minarca-shell FILE] [--minarca-auth-options OPTIONS] [--minarca-remote-host HOST:PORT] [--minarca-remote-host-identity FOLDER] [--minarca-help-url URL] [--minarca-rdiff-backup-extra-args ARGS] [--minarca-quota-api-url URL] [--version]

Web server to browse and restore backups.

  options:

-h, --help
    show this help message and exit

-f FILE, --config FILE
    location of Rdiffweb configuration file

--database-uri URI, --sqlitedb-file URI, --sqlitedbfile URI
    Location of the database used for persistence. SQLite and PostgreSQL database are supported officially. To use a SQLite database you may define the location using a file path or a URI. e.g.: /srv/rdiffweb/file.db or sqlite:///srv/rdiffweb/file.db`. To use PostgreSQL server you must provide a URI similar to postgresql://user:pass@10.255.1.34/dbname and you must install required dependencies. By default, Rdiffweb uses a SQLite embedded database located at /etc/rdiffweb/rdw.db. [env var: MINARCA_DATABASE_URI]

-d, --debug
    enable rdiffweb debug mode - change the log level to DEBUG, print exception stack trace to the web interface and show SQL query in logs [env var: MINARCA_DEBUG]

--admin-user USERNAME, --adminuser USERNAME
    administrator username. The administrator user get created on startup if the database is empty. [env var: MINARCA_ADMIN_USER]

--admin-password USERNAME
    administrator encrypted password as SSHA. Read online documentation to know more about how to encrypt your password into SSHA or use http://projects.marsching.or g/weave4j/util/genpassword.php When defined, administrator password cannot be updated using the web interface. When undefined, default administrator password is `admin123` and it can be updated using the web interface. [env var: MINARCA_ADMIN_PASSWORD]

--default-lang DEFAULT_LANG
    default application locale. e.g.: `fr` [env var: MINARCA_DEFAULT_LANG]

--default-theme {default,blue,orange,custom}, --defaulttheme {default,blue,orange,custom}
    define the default theme. Either: default, blue, orange or custom. Define a default set of colors and font for the web interface. Also read more about linkcolor, navbar-color and font-family. [env var: MINARCA_DEFAULT_THEME]

--environment {development,production}
    define the type of environment: development, production. This is used to limit the information shown to the user when an error occur. [env var: MINARCA_ENVIRONMENT]

--email-encryption {none,ssl,starttls}, --emailencryption {none,ssl,starttls}
    type of encryption to be used when establishing communication with SMTP server. Default: none [env var: MINARCA_EMAIL_ENCRYPTION]

--email-host HOST, --emailhost HOST
    SMTP server used to send email in the form <host>:<port>. If the port is not provided, default to standard port 25 or 465 is used. e.g.: smtp.gmail.com:587 [env var: MINARCA_EMAIL_HOST]

--email-sender EMAIL, --emailsender EMAIL
    email address used for the `from:` field when sending email. [env var: MINARCA_EMAIL_SENDER]

--email-notification-time TIME, --emailnotificationtime TIME
    time when the email notification should be sent for inactive backups. e.g.: 22:00 Default value: 23:00 [env var: MINARCA_EMAIL_NOTIFICATION_TIME]

--email-username USERNAME, --emailusername USERNAME
    username used for authentication with the SMTP server. [env var: MINARCA_EMAIL_USERNAME]

--email-password PASSWORD, --emailpassword PASSWORD
    password used for authentication with the SMTP server. [env var: MINARCA_EMAIL_PASSWORD]

--email-send-changed-notification, --emailsendchangednotification
    True to send notification when sensitive information get change in user profile. [env var: MINARCA_EMAIL_SEND_CHANGED_NOTIFICATION]

--email-catch-all EMAIL
    When defined, all notification email will be sent to this email address using Blind carbon copy (Bcc) [env var: MINARCA_EMAIL_CATCH_ALL]

--brand-favicon FAVICON, --favicon FAVICON
    location of an icon to be used as a favicon displayed in web browser. [env var: MINARCA_BRAND_FAVICON]

--brand-logo LOGO, --logo LOGO
    location of an image (preferably a .png) to be used as a replacement for the rdiffweb logo displayed in Login page. [env var: MINARCA_BRAND_LOGO]

--brand-header-logo HEADER_LOGO, --header-logo HEADER_LOGO, --headerlogo HEADER_LOGO
    location of an image (preferably a .png) to be used as a replacement for the rdiffweb header logo displayed in navigation bar. [env var: MINARCA_BRAND_HEADER_LOGO]

--brand-header-name HEADER_NAME, --header-name HEADER_NAME, --headername HEADER_NAME
    application name displayed in the title bar and header menu. [env var: MINARCA_BRAND_HEADER_NAME]

--brand-link-color LINK_COLOR, --link-color LINK_COLOR
    define a CSS color to be used for link. e.g.: ff0000 [env var: MINARCA_BRAND_LINK_COLOR]

--brand-btn-bg-color BTN_BG_COLOR, --btn-bg-color BTN_BG_COLOR
    define a CSS color to be used for button's background. Default to `link-color` if undefined [env var: MINARCA_BRAND_BTN_BG_COLOR]

--brand-btn-fg-color BTN_FG_COLOR, --btn-fg-color BTN_FG_COLOR
    define a CSS color to be used for button's text. Default to white if undefined [env var: MINARCA_BRAND_BTN_FG_COLOR]

--brand-btn-rounded BTN_ROUNDED, --btn-rounded BTN_ROUNDED
    define if the button should be rounded [env var: MINARCA_BRAND_BTN_ROUNDED]

--brand-navbar-color NAVBAR_COLOR, --navbar-color NAVBAR_COLOR
    define a CSS color to be used for navigation bar background e.g.: 00ff00 [env var: MINARCA_BRAND_NAVBAR_COLOR]

--brand-font-family FONT_FAMILY, --font-family FONT_FAMILY
    define a CSS font to be used as main font. e.g.: Roboto [env var: MINARCA_BRAND_FONT_FAMILY]

--ldap-add-missing-user, --addmissinguser
    enable creation of users from LDAP when the credential are valid. [env var: MINARCA_LDAP_ADD_MISSING_USER]

--ldap-add-user-default-role {admin,maintainer,user}
    default role used when creating users from LDAP. This parameter is only useful when `--ldap-add-missinguser` is enabled. [env var: MINARCA_LDAP_ADD_USER_DEFAULT_ROLE]

--ldap-add-user-default-userroot LDAP_ADD_USER_DEFAULT_USERROOT
    default user root directory used when creating users from LDAP. LDAP attributes may be used to define the default location. e.g.: `/backups/{uid[0]}/`. This parameter is only useful when `--ldap-add-missinguser` is enabled. [env var: MINARCA_LDAP_ADD_USER_DEFAULT_USERROOT]

--ldap-uri LDAP_URI, --ldapuri LDAP_URI
    URL to the LDAP server used to validate user credentials. e.g.: ldap://localhost:389 [env var: MINARCA_LDAP_URI]

--ldap-base-dn DN, --ldapbasedn DN
    DN of the branch of the directory where all searches should start from. e.g.: dc=my,dc=domain [env var: MINARCA_LDAP_BASE_DN]

--ldap-scope {base,onelevel,subtree}, --ldapscope {base,onelevel,subtree}
    scope of the search. Can be either base, onelevel or subtree [env var: MINARCA_LDAP_SCOPE]

--ldap-tls, --ldaptls
    enable TLS [env var: MINARCA_LDAP_TLS]

--ldap-username-attribute ATTRIBUTE, --ldapattribute ATTRIBUTE
    The attribute to search username. If no attributes are provided, the default is to use `uid`. It's a good idea to choose an attribute that will be unique across all entries in the subtree you will be using. [env var: MINARCA_LDAP_USERNAME_ATTRIBUTE]

--ldap-user-filter LDAP_USER_FILTER, --ldap-filter LDAP_USER_FILTER, --ldapfilter LDAP_USER_FILTER
    search filter to limit LDAP lookup. If not provided, defaults to (objectClass=*), which searches for all objects in the tree. [env var: MINARCA_LDAP_USER_FILTER]

--ldap-required-group CN, --ldaprequiredgroup CN
    list of CN of the group(s) containing Guests. Not cn=groupname or the full DN. [env var: MINARCA_LDAP_REQUIRED_GROUP]

--ldap-group-filter LDAP_GROUP_FILTER
    search filter to limit LDAP lookup of groups. If not provided, defaults to `(objectClass=*)`, which searches for all objects in the tree. For improved performance it's recommended to narrow the search to your group object class. e.g.: `(objectClass=posixGroup)` [env var: MINARCA_LDAP_GROUP_FILTER]

--ldap-group-attribute ATTRIBUTE, --ldapgroupattribute ATTRIBUTE
    name of the attribute on the Group that hold the list of members. Default: `member`. Other common value is: `memberUid` [env var: MINARCA_LDAP_GROUP_ATTRIBUTE]

--ldap-group-attribute-is-dn, --ldapgroupattributeisdn
    True If the group contains list of user defined with DN instead of username. [env var: MINARCA_LDAP_GROUP_ATTRIBUTE_IS_DN]

--ldap-bind-dn DN, --ldapbinddn DN
    optional DN used to bind to the server when searching for entries. If not provided, will use an anonymous bind. [env var: MINARCA_LDAP_BIND_DN]

--ldap-bind-password PASSWORD, --ldapbindpassword PASSWORD
    password to use in conjunction with LdapBindDn. Note that the bind password is probably sensitive data, and should be properly protected. You should only use the LdapBindDn and LdapBindPassword if you absolutely need them to search the directory. [env var: MINARCA_LDAP_BIND_PASSWORD]

--ldap-version {2,3}, --ldapversion {2,3}, --ldapprotocolversion {2,3}
    version of LDAP in use either 2 or 3. Default to 3. [env var: MINARCA_LDAP_VERSION]

--ldap-network-timeout SECONDS, --ldapnetworktimeout SECONDS
    timeout in seconds value used for LDAP connection [env var: MINARCA_LDAP_NETWORK_TIMEOUT]

--ldap-timeout SECONDS, --ldaptimeout SECONDS
    timeout in seconds value used for LDAP request [env var: MINARCA_LDAP_TIMEOUT]

--ldap-encoding ENCODING, --ldapencoding ENCODING
    encoding used by your LDAP server. [env var: MINARCA_LDAP_ENCODING]

--ldap-fullname-attribute LDAP_FULLNAME_ATTRIBUTE
    LDAP attribute for user display name. If `fullname` is blank, the fullname is taken from the `firstname` and `lastname`. Attributes 'cn', or 'displayName' commonly carry full names. [env var: MINARCA_LDAP_FULLNAME_ATTRIBUTE]

--ldap-firstname-attribute LDAP_FIRSTNAME_ATTRIBUTE
    LDAP attribute for user first name. Used when the attribute configured for name does not exist. e.g.: `givenName` [env var: MINARCA_LDAP_FIRSTNAME_ATTRIBUTE]

--ldap-lastname-attribute LDAP_LASTNAME_ATTRIBUTE
    LDAP attribute for user last name. Used when the attribute configured for name does not exist. e.g.: `sn` [env var: MINARCA_LDAP_LASTNAME_ATTRIBUTE]

--ldap-email-attribute LDAP_EMAIL_ATTRIBUTE
    LDAP attribute for user email. e.g.: mail, email, userPrincipalName [env var: MINARCA_LDAP_EMAIL_ATTRIBUTE]

--log-access-file FILE, --logaccessfile FILE
    location of Rdiffweb log access file. [env var: MINARCA_LOG_ACCESS_FILE]

--log-file FILE, --logfile FILE
    location of Rdiffweb log file. Print log to the console if not define in config file. [env var: MINARCA_LOG_FILE]

--log-level {ERROR,WARN,INFO,DEBUG}, --loglevel {ERROR,WARN,INFO,DEBUG}
    Define the log level. [env var: MINARCA_LOG_LEVEL]

--max-depth DEPTH, --maxdepth DEPTH
    define the maximum folder depthness to search into the user's root directory to find repositories. This is commonly used if you repositories are organised with multiple sub-folder. [env var: MINARCA_MAX_DEPTH]

--quota-set-cmd COMMAND, --quotasetcmd COMMAND
    command line to set the user's quota. [env var: MINARCA_QUOTA_SET_CMD]

--quota-get-cmd COMMAND, --quotagetcmd COMMAND
    command line to get the user's quota. [env var: MINARCA_QUOTA_GET_CMD]

--quota-used-cmd COMMAND, --quotausedcmd COMMAND
    Command line to get user's quota disk usage. [env var: MINARCA_QUOTA_USED_CMD]

--remove-older-time TIME, --removeoldertime TIME
    Time when to execute the remove older scheduled job. e.g.: 22:30 [env var: MINARCA_REMOVE_OLDER_TIME]

--server-host IP, --serverhost IP
    IP address to listen to [env var: MINARCA_SERVER_HOST]

--server-port PORT, --serverport PORT
    port to listen to for HTTP request [env var: MINARCA_SERVER_PORT]

--external-url URL
    URL that should be used to reach this service. You can use the IP of your server, but a Fully Qualified Domain Name (FQDN) is preferred. This URL is only used to generate URL for Email Notification. [env var: MINARCA_EXTERNAL_URL]

--rate-limit-dir FOLDER, --session-dir FOLDER, --sessiondir FOLDER
    location where to store rate-limit information. When undefined, the data is kept in memory. `--session-dir` are deprecated and kept for backward compatibility. [env var: MINARCA_RATE_LIMIT_DIR]

--rate-limit LIMIT
    maximum number of requests per hour that can be made on sensitive endpoints. When this limit is reached, an HTTP 429 message is returned to the user or the user is logged out. This security measure is used to limit brute force attacks on the login page and the RESTful API. default: 20 requests / hour [env var: MINARCA_RATE_LIMIT]

--session-idle-timeout MINUTES
    This timeout defines the amount of time a session will remain active in case there is no activity in the session. User Session will be revoke after this period of inactivity, unless the user selected "remember me". Default 5 minutes. [env var: MINARCA_SESSION_IDLE_TIMEOUT]

--session-absolute-timeout MINUTES
    This timeout defines the maximum amount of time a session can be active. After this period, user is forced to (re)authenticate, unless the user selected "remember me". Default 20 minutes. [env var: MINARCA_SESSION_ABSOLUTE_TIMEOUT]

--session-persistent-timeout MINUTES
    This timeout defines the maximum amount of time to remember and trust a user device. This timeout is used when user select "remember me". Default 30 days. [env var: MINARCA_SESSION_PERSISTENT_TIMEOUT]

--ssl-certificate CERT, --sslcertificate CERT
    location of the SSL Certification to enable HTTPS (not recommended) [env var: MINARCA_SSL_CERTIFICATE]

--ssl-private-key KEY, --sslprivatekey KEY
    location of the SSL Private Key to enable HTTPS (not recommended) [env var: MINARCA_SSL_PRIVATE_KEY]

--tempdir FOLDER
    alternate temporary folder to be used when restoring files. Might be useful if the default location has limited disk space. Default to TEMPDIR environment or `/tmp`. [env var: MINARCA_TEMPDIR]

--disable-ssh-keys
    used to hide SSH Key management to avoid users to add or remove SSH Key using the web application [env var: MINARCA_DISABLE_SSH_KEYS]

--password-min-length PASSWORD_MIN_LENGTH
    Minimum length of the user's password [env var: MINARCA_PASSWORD_MIN_LENGTH]

--password-max-length PASSWORD_MAX_LENGTH
    Maximum length of the user's password [env var: MINARCA_PASSWORD_MAX_LENGTH]

--password-score PASSWORD_SCORE
    Minimum zxcvbn's score for password. Value from 1 to 4. Default value 2. Read more about it here: https://github.com/dropbox/zxcvbn [env var: MINARCA_PASSWORD_SCORE]

--latest-version-url LATEST_VERSION_URL
    URL used to check if the current version is the latest version. To disable this feature, the URL could be empty. Default to: https://latest.ikussoft.com/rdiffweb/latest_version [env var: MINARCA_LATEST_VERSION_URL]

--welcome-msg HTML, --welcome-msg-ca HTML, --welcome-msg-en HTML, --welcome-msg-es HTML, --welcome-msg-fr HTML, --welcome-msg-ru HTML, --welcomemsg HTML
    replace the welcome message displayed in the login page for default locale or for a specific locale [env var: MINARCA_WELCOME_MSG]

--minarca-user-base-dir FOLDER, --minarcauserbasedir FOLDER, --minarcausersetupbasedir FOLDER
    base directory where all the backup should reside. Any user_root outside this repository will be refused. [env var: MINARCA_MINARCA_USER_BASE_DIR]

--minarca-home-dir FOLDER
    minarca home directory. [env var: MINARCA_MINARCA_HOME_DIR]

--minarca-shell FILE, --minarcashell FILE
    location of minarca-shell to be used to handle SSH connection. This is used to configure `authorized_keys` to restrict SSH command line to be executed [env var: MINARCA_MINARCA_SHELL]

--minarca-auth-options OPTIONS, --minarcaauthoptions OPTIONS
    authentication option to be passed to `authorized_keys`. This is used to limit the user's permission on the SSH Server, effectively disabling X11 forwarding, port forwarding and PTY. [env var: MINARCA_MINARCA_AUTH_OPTIONS]

--minarca-remote-host HOST:PORT, --minarcaremotehost HOST:PORT
    the remote SSH identity. This value is queried by Minarca Client to link and back up to the server. If not provided, the HTTP URL is used as a base. You may need to change this value if the SSH server is accessible using a different IP address or if not running on port 22. e.g.: ssh.example.com:2222 [env var: MINARCA_MINARCA_REMOTE_HOST]

--minarca-remote-host-identity FOLDER, --minarcaremotehostidentity FOLDER
    location of SSH server identity. This value is queried by Minarca Client to authenticate the server. You may need to change this value if SSH service and the Web service are not running on the same server. [env var: MINARCA_MINARCA_REMOTE_HOST_IDENTITY]

--minarca-help-url URL, --minarcahelpurl URL
    custom URL where to redirect user clicking on help button [env var: MINARCA_MINARCA_HELP_URL]

--minarca-rdiff-backup-extra-args ARGS, --rdiffbackup-args ARGS
    list of extra argumenst to be pass to rdiff-backup server. e.g.: --no-compression [env var: MINARCA_MINARCA_RDIFF_BACKUP_EXTRA_ARGS]

--minarca-quota-api-url URL, --minarcaquotaapiurl URL
    url to minarca-quota-api server [env var: MINARCA_MINARCA_QUOTA_API_URL]

--version
    show program's version number and exit

Args that start with '--' can also be set in a config file (/etc/minarca/minarca-server.conf or /etc/minarca/conf.d/*.conf or specified via -f). Configuration file syntax allows: key=value, flag=true. In general, command-line values override environment variables which override config file values which override defaults.

SEE ALSO
The full documentation for minarca-server is maintained as a Texinfo manual. If the info and minarca-server programs are properly installed at your site, the command

    info minarca-server

should give you access to the complete manual.