To install the FullJS environment on your server, please follow the steps below.

Check Supported Systems

Please check the currently supported operating systems and architectures. We are continuously working to expand compatibility.

Add the FullJS repository

sed -i -e '$a\deb [trusted=yes] http://fulljs.org/debian stable main' /etc/apt/sources.list

Install FullJS package

The following commands will install the FullJS environment and its dependencies on your server:

End User Licence Agreement
By installing FullJS, you accept the End User Licence Agreement. (free for non-commercial use)
apt update
apt install fulljs

Grant FullJS Access to System Features

To allow FullJS to interact with specific OS features, add the fulljs user to the necessary system groups:

usermod -a -G haproxy fulljs # Allow runtime reconfiguration via HAProxy 
usermod -a -G systemd-journal fulljs # Grant Web IDE access to system logs 
usermod -a -G adm fulljs # Additional system log access for Web IDE 
usermod -a -G video fulljs # Allow access to webcams 
usermod -a -G gpio fulljs # Enable GPIO access 
usermod -a -G i2c fulljs # Enable I2C access 
usermod -a -G tty fulljs # Enable serial port access 
usermod -a -G dialout fulljs # Enable serial port access (for USB-to-serial devices) 

For more information on system groups, visit:
https://wiki.debian.org/SystemGroups

If the FullJS application server is already running, restart the service to apply the new group permissions:

systemctl restart fulljs@admin

Start and Enable FullJS Web IDE

To start and enable the FullJS Web IDE service:

systemctl start fulljs@admin
systemctl enable fulljs@admin

Access the FullJS Web IDE

Once installed, open the FullJS development environment in a web browser at:

http://[your_server_ip]/admin/

Replace [your_server_ip] with the actual IP address of your server.

Configure I2C and UART (For Raspberry Pi Users)

If using FullJS on a Raspberry Pi, configure the I2C and UART interfaces as follows:

  1. Run raspi-config and enable I2C and Serial (UART) devices.
  2. Then disable getty on /dev/ttyAMA0 with:
systemctl stop serial-getty@ttyAMA0.service
systemctl disable serial-getty@ttyAMA0.service

Debugging

If you encounter issues, check system logs using:

journalctl -u fulljs@*

Ensure that firewall rules allow access to the web IDE port.