Skip to content

Commit

Permalink
Updated documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
TC pushbot 5 authored and TC pushbot 5 committed Jan 6, 2021
1 parent 27e005e commit 3ae55f6
Show file tree
Hide file tree
Showing 12 changed files with 292 additions and 6 deletions.
33 changes: 32 additions & 1 deletion docs/chapter/started/4.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,37 @@ aroz_online_linux_arm64 web system

Start the binary by calling sudo ./aroz_online_linux_arm64 (or without sudo if you prefer no hardware management)

### For PC with x64 (amd64) CPU

Install Debian Buster on your PC and download the binary ``` arozos_linux_amd64``` with the web and system folder. You will see something like this everything is downloaded.

```
$ ls
arozos_linux_amd64 web syste
```

Start the binary with ./arozos_linux_amd64

## Build From Source

### Linux (Debian) / Darwin (MacOS)

To build from source, install Git and Go and follow the instructions below.

```
git clone https://github.com/tobychui/arozos arozos
cd ./arozos/src
go build
```

#### Required Linux Packages

The ArozOS will require these extra packages to function normally.

1. fmpeg

2. wpa_supplicant (or nmcli), if you have wlan interface(s)

### Windows

If you are deploying on Windows, you need to add ffmpeg to %PATH% environment variable.
Expand All @@ -38,4 +69,4 @@ go build
arozos.exe
```

However, not all features are available for Windows.
However, not all features are available for Windows (e.g. WiFi / Samba)
8 changes: 3 additions & 5 deletions docs/chapter/started/7.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,11 +38,9 @@ Mobile Desktop Interface was first introduce in arozos 1.105 for supporting vert



| List Menu | Tool Sidebar | Opening Applications |
| ----------------------------------- | --------------------------------- | ----------------------------------- |
| ![image19](../../img/7/image19.jpg) | ![image8](../../img/7/image8.jpg) | ![image16](../../img/7/image16.jpg) |


| List Menu | Tool Sidebar | Opening Applications |
| --------------------------------------------------------- | ------------------------------------------------------- | --------------------------------------------------------- |
| ![image19](../../img/started/7/image19-1609908981935.jpg) | ![image8](../../img/started/7/image8-1609908986370.jpg) | ![image16](../../img/started/7/image16-1609908989224.jpg) |

### Grid Menu Interface

Expand Down
74 changes: 74 additions & 0 deletions docs/chapter/started/8.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
["First Time Startup"]

# First Time Startup

If you are starting up your system for the first time, you will see the following message shown in the console showcasing your setup is complete and it is now working. The following is an example from v0.1.109 release on Windows Hosts

```
2021/01/06 12:58:31 ArozOS(C) 2020 IMUSLAB.INC.
2021/01/06 12:58:31 ArozOS development Revision 0.1.109
2021/01/06 12:58:31 Key-value Database Service Started: system/ao.db
2021/01/06 12:58:31 New authentication session key generated
2021/01/06 12:58:31 Key-value Database Service Started: files/aofs.db
2021/01/06 12:58:32 Key-value Database Service Started: tmp/aofs.db
2021/01/06 12:58:32 Failed to create system handler for Storage 1
2021/01/06 12:58:32 Unsupported platform
2021/01/06 12:58:32 Failed to create system handler for Storage 2
2021/01/06 12:58:32 Unsupported platform
2021/01/06 12:58:32 Failed to create system handler for Storage 3
2021/01/06 12:58:32 Mount point not exists!
2021/01/06 12:58:32 Failed to create system handler for Storage 4
2021/01/06 12:58:32 Mount point not exists!
2021/01/06 12:58:32 Key-value Database Service Started: web/aofs.db
2021/01/06 12:58:32 Web Mounted as web:/ for group administrator
2021/01/06 12:58:32 Failed to create system handler for Test
2021/01/06 12:58:32 Mount point not exists!
2021/01/06 12:58:33 ArozOS Neighbour Scanning Started
2021/01/06 12:58:33 Web server listening at :8080
```

**For first time startup, we recommend running the program using sudo permission for it to install all dependencies that it needs using apt-get**

Once you see the console stop printing new text, you can now create your first account on your ArozOS Host.

## Connecting to the Web UI

### Windows Network Neighborhood Method

If you are using Windows as your main system, you will see the following devices pop up on your Network Neighborhood page.



![2020-12-01_16-23-31](../../img/started/8/2020-12-01_16-23-31-1609909422405.png)

Double click the icon and you will be redirected to the ArozOZ Web UI Home page.



### Router IP Checking

In the case you don't know the IP address of your host, check the IP address of your host from your NAT gateway router. It is usually under DHCP --> Client List --> Your host name & the LAN IP Address.



### SSH IP Checking

If you have already connected to your host using SSH, use ```sudo ifconfig``` to see what IP address it is using. In most case, you will find your address under eth0 . In the example below, it is 192.168.0.128.

![2021-01-06_13-05-54](../../img/started/8/2021-01-06_13-05-54.png)



## Setting up the first user account

After you have redirected to the Web UI, create your account with new username and password. Select "Administrator" under the user group option and continue.

![2020-12-01_16-25-35](../../img/started/8/2020-12-01_16-25-35.png)



## Login with your new username and password

After your account is created, you can now login to your system using your username and password just entered. Be reminded that this a standalone system that there is no way to recover your password using email / phone SMS services like the other cloud services. So **DONT FORGET YOUR ADMINISTARTOR PASSWORD**

![2020-12-01_16-25-45](../../img/started/8/2020-12-01_16-25-45.png)
183 changes: 183 additions & 0 deletions docs/chapter/started/9.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,183 @@
["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

Binary file added docs/img/started/7/image16-1609908989224.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/img/started/7/image19-1609908981935.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/img/started/7/image8-1609908986370.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/img/started/8/2020-12-01_16-23-31.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/img/started/8/2020-12-01_16-25-35.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/img/started/8/2020-12-01_16-25-45.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/img/started/8/2021-01-06_13-05-54.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 3ae55f6

Please sign in to comment.