Installation

  1. First you must download the release from the client panel.
  2. Use root to install the package.
  3. No other software packages are required

System Requirements

  • Linux OS 64 bit
  • Kernel 5.4+ ( dates 24 November 2019 )
  • Ubuntu 22.04+, Debian 12+, CentOS 9+, RHEL 9.0+, Fedora 38+ or openSUSE Leap 15.4+
  • Systemd 221+ ( dates Jun 19, 2015 )
  • CPU cores: 4
  • RAM: 4GB
  • Disk space: 80GB*

Download the package

wget https://www.fluxark.com/YOUR_LINK_FROM_WEBPANEL

After downloading you can mark the package as executable

chmod +x flux-1.0.0-all.run

Install file arguments

./flux-1.0.0-all.run ACTION [LICENSE_KEY] [ARGS]

ACTIONS
        - install               Install Flux
        - upgrade               Upgrades to the current version
        - check                 Check for missing files, permissions etc.

ARGS: values are the defaults
        - port 10000            Use port 10000 for the web panel
        - iface 127.0.0.1       Use this interface for the web panel
        - account               Email REQUIRED while installing
        - debug 1|0             Enable debugging
        - username              Create local SSH user

Install example command

Here we need the 3 basic arguments:

  • install LICENSE_KEY - the license key from the client panel
  • account email@example.com - this email will be used for the web panel admin account
  • username badmin - creates an SSH user badmin that will be available in the web panel and it's used to SSH into the server. The password is prompted at the end of the installation.
    ./flux-1.0.0-all.run install Q2gpgZPcFdnGyQl7d:dx9BZyskx0Ry5a account admin@mydomain.com username badmin

After the installation there will be 3 secrects printed on your screen - namely the secret key, SSH user password and the password of the web panel account

Installing a reverse proxy

Here we recommend Nginx as a reverse HTTPS proxy
FluxArk listens on localhost port 10000. You can change this in the /etc/flux.conf file and restarting the application afterwards with systemcts restart flux
If you need an SSL certificate, you can use certbot:

sudo certbot certonly -d fluxark.example.com

Or you can rely on the generated self-signed certificate.
Example Nginx configuration:

You can find the Nginx configuration file here:

/etc/nginx/sites-enabled/default

Replace fluxark.example.com with your domain or plain IP address

upstream backend {
   server 127.0.0.1:10000;
   keepalive 32;
}

server {
    server_name fluxark.example.com;

    location ~ (terminal/client(-watch-log)?|socket) {

       proxy_set_header Upgrade $http_upgrade;
       proxy_set_header Connection "upgrade";
       client_max_body_size 50M;
       proxy_set_header Host $host;
       proxy_set_header X-Real-IP $remote_addr;
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
       proxy_set_header X-Forwarded-Proto $scheme;
       proxy_set_header X-Frame-Options SAMEORIGIN;
       proxy_buffers 256 16k;
       proxy_buffer_size 16k;
       client_body_timeout 60s;
       send_timeout 300s;
       lingering_timeout 5s;
       proxy_connect_timeout 90s;
       proxy_send_timeout 300s;
       proxy_read_timeout 90s;
       proxy_http_version 1.1;
       proxy_pass http://backend;

    }

    # Used only when Nginx is used as a local reverse proxy
    location /static/ {
        root /usr/local/flux/data/;
    }

    location / {
        client_max_body_size 100M;
        proxy_set_header Connection "";
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;

        if ($request_method !~ ^(GET|POST|DELETE)$ ) {
            return 405;
        }

        proxy_pass http://backend;
    }



    listen [::]:443 ssl ipv6only=on;
    listen 443 ssl;
    ssl_certificate /usr/local/flux/etc/cert.pem;
    ssl_certificate_key /usr/local/flux/etc/key.pem;
}

# OPTIONAL redirect HTTP requests to HTTPS
server {
    server_name fluxark.example.com *.fluxark.example.com;

    # update to your own public domain
    if ($host = fluxark.example.com) {
        return 301 https://$host$request_uri;
    }

    listen [::]:80;
    listen 80;
    return 404;
}


After editing the configuration file, you must restart nginx

systemctl restart nginx

Caveats

You can omit the local SSH user creation during the installation ( username argument ), but: NOTE After installation all of the local ssh users on the machine will be unavaliable, so in order to access the server again, you must create a new local admin user from the web panel:
After the installation you must store somewhere safe the SECRET KEY and the passwords of the web panel and SSH accounts made.

  • Go to Users -> Create -> And check the Server administrating account checkbox! After setting it up you will be able to connect to the server again via the new account.

  • email is a required field and used as the first account

  • At the end of the installation an account password will be displayed, so don't forget to save it somewhere
  • It's a good practice to have a remote mounted directory for the /home/ dir, as there will be stored the SSH session recordings for every user
  • * The base installation is <1GB and the 80GB space is left for the SSH session recordings and CRON/API output/logs