["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