Skip to content
forked from tobychui/arozos

General purposed Web Desktop Operating Platform / OS for Raspberry Pis, Now written in Go!

Notifications You must be signed in to change notification settings

ljsandou/arozos

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Image

IMPORTANT NOTES

The current arozos is still under intense developmenet. System structure might change at any time. Please only develop on the current existsing ArOZ Gateway Interface (AGI) JavaScript Interface or standard HTML webapps with ao_module.js endpoints.

Installation

Require GO 1.14 or above

Run the following the command to build the system

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

(Yes, it is that simple)

Deploy

For Raspberry Pi (For Raspberry Pi 4B+)

If you are using Raspberry Pi as your host, you can download one of the images and flash the image into your SD card. You will find a new network device named "ArozOS (ARxxx)" pop up in your "Network Neighbourhood". Double click the icon and you will be redirect to the system Web setup interface.

Version Download URL Remarks
arozos v1.107 https://wdfiles.ru/jv2x Samba Supported Added
arozos v1.106 https://wdfiles.ru/b49v
arozos v1.103 https://wdfiles.ru/b49b

Yes, the download site is in Russia. No, I am not Russian, I use this site because they offer 80GB of storage for free All the image listed above require 8GB or above microSD card

To optain the .img file, you can unzip the compressed image using 7zip. If you don't have it, you can get it here

For other ARM SBC(e.g. Orange Pi / Banana Pi / Friendly ARM's Pis)

Download the correct architecture binary from the "release" tab and upload the binary with the "web" and "system" folder in "/src". After upload, you should have the following file structure

$ ls
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)

Windows

If you are deploying on Windows, you need to add ffmpeg to %PATH% environment variable.

This system can be built and run on Windows hosts with the following build instructions

# Download the whole repo as zip and cd into it
cd .\arozos\src\
go build
arozos.exe

However, not all features are available for Windows.

Screenshots

Image Image Image Image Image Image

Start the ArOZ Online Platform

Supported Startup Paramters

The following startup paramters are supported.

  -allow_pkg_install
        Allow the system to install package using Advanced Package Tool (aka apt or apt-get) (default true)
  -beta_scan
        Allow compatibility to ArOZ Online Beta Clusters
  -cert string
        TLS certificate file (.crt) (default "localhost.crt")
  -demo_mode
        Run the system in demo mode. All directories and database are read only.
  -disable_ip_resolver
        Disable IP resolving if the system is running under reverse proxy environment
  -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)
  -port int
        Listening port (default 8080)
  -public_reg
        Enable public register interface for account creation
  -root string
        User root directories (default "./files/")
  -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 "./")
  -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

Example

//Starting aroz online with standard web port
./aroz_online -port 80

//Start aroz online in demo mode
./aroz_online -demo_mode=true

//Use https instead of http 
./aroz_online -tls=true -key mykey.key -cert mycert.crt

//Change max upload size to 25MB
./aroz_online -max_upload_size 25

Storage.json

This file define the storage devices to be mounted into aroz online system. See src/system/storage.json.example for template.

ArOZ JavaScript Gateway Interface / Plugin Loader

The ArOZ AJGI / AGI interface provide a javascript programmable interface for ArOZ Online users to create plugin for the system. To initiate the module, you can place a "init.agi" file in the web directory of the module (also named the module root). See more details in the [AJGI Documentation](AJGI Documentation.md).

Q&A

TO BE ADDED

Buy me a coffee

Actually I don't drink coffee. Send me something that would make me feel interested if you really want to send me something :)

About

General purposed Web Desktop Operating Platform / OS for Raspberry Pis, Now written in Go!

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 82.5%
  • CSS 10.8%
  • HTML 3.0%
  • Go 2.1%
  • Java 0.9%
  • C++ 0.7%