9.md 6.1 KB

["Startup Options and Flags"]

Startup Options & Flags

ArozOS provide many startup options for use under many different conditions.

To list the flags and their usage, use

./arozos -h

Here is a list of startup flags supported in ArozOS 1.109

Usage of arozos.exe:
  -allow_autologin
        Allow RESTFUL login redirection that allow machines like billboards to login to the system on boot (default true)
  -allow_mdns
        Enable MDNS service. Allow device to be scanned by nearby ArOZ Hosts (default true)
  -allow_pkg_install
        Allow the system to install package using Advanced Package Tool (aka apt or apt-get) (default true)
  -allow_ssdp
        Enable SSDP service, disable this if you do not want your device to be scanned by Windows's Network Neighborhood Page (default true)
  -allow_upnp
        Enable uPNP service, recommended for host under NAT router
  -beta_scan
        Allow compatibility to ArOZ Online Beta Clusters
  -cert string
        TLS certificate file (.crt) (default "localhost.crt")
  -console
        Enable the debugging console.
  -demo_mode
        Run the system in demo mode. All directories and database are read only.
  -dir_list
        Enable directory listing (default true)
  -disable_ip_resolver
        Disable IP resolving if the system is running under reverse proxy environment
  -disable_subservice
        Disable subservices completely
  -enable_hwman
        Enable hardware management functions in system (default true)
  -hostname string
        Default name for this host (default "My ArOZ")
  -iobuf int
        Amount of buffer memory for IO operations (default 1024)
  -key string
        TLS key file (.key) (default "localhost.key")
  -max_upload_size int
        Maxmium upload size in MB. Must not exceed the available ram on your system (default 8192)
  -ntt int
        Nightly tasks execution time. Default 3 = 3 am in the morning (default 3)
  -port int
        Listening port (default 8080)
  -public_reg
        Enable public register interface for account creation
  -root string
        User root directories (default "./files/")
  -session_key string
        Session key, must be 16, 24 or 32 bytes long (AES-128, AES-192 or AES-256). Leave empty for auto generated.
  -storage_config string
        File location of the storage config file (default "./system/storage.json")
  -tls
        Enable TLS on HTTP serving
  -tmp string
        Temporary storage, can be access via tmp:/. A tmp/ folder will be created in this path. Recommend fast storage devices like SSD (default "./")
  -tmp_time int
        Time before tmp file will be deleted in seconds. Default 86400 seconds = 24 hours (default 86400)
  -upload_async
        Enable file upload buffering to run in async mode (Faster upload, require RAM >= 8GB)
  -upload_buf int
        Upload buffer memory in MB. Any file larger than this size will be buffered to disk (slower). (default 25)
  -uuid string
        System UUID for clustering and distributed computing. Only need to config once for first time startup. Leave empty for auto generation.
  -version
        Show system build version
  -wlan_interface_name string
        The default wireless interface for connecting to an AP (default "wlan0")
  -wpa_supplicant_config string
        Path for the wpa_supplicant config (default "/etc/wpa_supplicant/wpa_supplicant.conf")

Examples

Here are some examples for using arozos in different situations

Basics

  • Change port to port 80
  • Change hostname to "My Network Disk"

    ./arozos -port 80 -hostname "My Network Disk"
    

Enable TLS support (aka HTTPS)

  • Enable TLS
  • Change port to 443
  • Load the cert and key from file

    ./arozos -port 443 -tls=true -cert "mycert.crt" -key "mykey.key"
    

Access From Outside Home

Use case: You have a gateway NAT router with public IP address and you want to access your ArozOS Host outside your home with your public IP address

  • Enable UPNP
  • Don't use Port 80
  • Disable IP resolver (as it will always be your NAT router address anyway)

    ./arozos -allow_upnp=true -port 8123 -disable_ip_resolver=true
    

This operation will require your router to support UPnP function. If not, skip the "allow-upnp" flag and setup port forward in the router instead.

Deploying on Cloud VM

Use case: Deploying on AWS, Linode / Ramnode or Azure

  • Disable network discovery functions (as it is under virtual network anyway)
  • Disable package install to prevent changing to the production environment
  • Disable dir listing so users can't scan what files is located within the web server
  • Disable hardware management as there is no real hardware in VM
  • Disable IP resolver )in case you are running under reverse proxy, which in production environment is quite common)

    ./arozos -allow_mdns=false -allow_pkg_install=false -allow_ssdp=false -dir_list=false -enable_hwman=false -disable_ip_resolve=true
    

Deploying on Ultra Low Memory Single Board Computers

Use case: deploy on Pi zero w, ZeroPi or Orange Pi Zero that only has 512MB or even 256MB RAM

  • Lower the IO operation buffer (Optional)
  • Lower upload buffer memory from 25MB to 10MB

Under low memory environment (< 2GB RAM), ArozOS will automatically switch to "low memory upload mode" in which it will use WebSocket chunk based upload instead of Form Post Upload method.

./arozos -iobuf 512 -upload_buf 10

Deploying on a Thin Client that its primary drive only has less than 16GB space

Use case: 2nd hand thin client as NAS, Really tight budget personal cloud storage build

Assume you have an external storage devices (e.g. an external SSD ) plugged in and mounted as /media/storage

  • Move user root and tmp folders outside of the installation disk
  • Reduce max file upload size from 8GB to 25MB

    ./arozos -tmp "/media/storage/" -root "./media/storage/files/" -max_upload_size 25
    

Deploying as the Server for Automated Services / Panels

Use case: Weather station, digital billboard and other IoT devices that require auto login

  • Enable Auto Login

    ./arozos -allow_autologin=true
    

and follow up the setting in the Auto Login Mode System Setting tab