.. program:: jetstream server

Quick Reference
===============

Server Installation
~~~~~~~~~~~~~~~~~~~

Install Server
--------------

.. tabs::

    .. group-tab:: Rocky

        ``sudo rpm -i go-jetstream-<version>.x86_64.rpm``

    .. group-tab:: Ubuntu

        ``sudo dpkg -i go-jetstream_<version>.deb``

    .. group-tab:: macOS

        Double click on ``go-jetstream-<version>.pkg``

Update Server
-------------

.. tabs::

    .. group-tab:: Rocky

        ``sudo rpm -U go-jetstream-<version>.x86_64.rpm``

    .. group-tab:: Ubuntu

        ``sudo dpkg -i go-jetstream_<version>.deb``

    .. group-tab:: macOS

        Double click on ``go-jetstream-<version>.pkg``

Uninstall Server
----------------

.. tabs::

    .. group-tab:: Rocky

        ``sudo rpm -e go-jetstream``

    .. group-tab:: Ubuntu

        ``sudo dpkg -P go-jetstream``

    .. group-tab:: macOS

        .. code-block:: shell-session

            sudo launchctl bootout system /usr/local/jetstream/etc/io.gojetstream.jetstream-server.plist
            sudo launchctl disable system/io.gojetstream.jetstream-server
            sudo rm -rf /usr/local/jetstream
            sudo rm -rf /var/lib/jetstream

Server Service
~~~~~~~~~~~~~~

Start Service
-------------

.. tabs::

    .. group-tab:: Rocky

        ``sudo systemctl start jetstream-server``

    .. group-tab:: Ubuntu

        ``sudo systemctl start jetstream-server``

    .. group-tab:: macOS

        ``sudo launchctl bootstrap system /usr/local/jetstream/etc/io.gojetstream.jetstream-server.plist``

Restart Service
---------------

.. tabs::

    .. group-tab:: Rocky

        ``sudo systemctl restart jetstream-server``

    .. group-tab:: Ubuntu

        ``sudo systemctl restart jetstream-server``

    .. group-tab:: macOS

        ``sudo launchctl kickstart -k system/io.gojetstream.jetstream-server``

Stop Service
------------

.. tabs::

    .. group-tab:: Rocky

        ``sudo systemctl stop jetstream-server``

    .. group-tab:: Ubuntu

        ``sudo systemctl stop jetstream-server``

    .. group-tab:: macOS

        ``sudo launchctl bootout system /usr/local/jetstream/etc/io.gojetstream.jetstream-server.plist``

Enable Service on Boot
----------------------

.. tabs::

    .. group-tab:: Rocky

        ``sudo systemctl enable jetstream-server``

    .. group-tab:: Ubuntu

        ``sudo systemctl enable jetstream-server``

    .. group-tab:: macOS

        ``sudo launchctl enable system/io.gojetstream.jetstream-server``

Disable Service on Boot
-----------------------

.. tabs::

    .. group-tab:: Rocky

        ``sudo systemctl disable jetstream-server``

    .. group-tab:: Ubuntu

        ``sudo systemctl disable jetstream-server``

    .. group-tab:: macOS

        ``sudo launchctl disable system/io.gojetstream.jetstream-server``

Logging
~~~~~~~

View Server Log
---------------

.. tabs::

    .. group-tab:: Rocky

        ``journalctl -u jetstream-server``

    .. group-tab:: Ubuntu

        ``journalctl -u jetstream-server``

    .. group-tab:: macOS

        View file :file:`/var/log/jetstream-server.log`

Check Service
-------------

.. tabs::

    .. group-tab:: Rocky

        ``sudo systemctl status -l jetstream-server``

    .. group-tab:: Ubuntu

        ``sudo systemctl status -l jetstream-server``

    .. group-tab:: macOS

        ``sudo launchctl print system/io.gojetstream.jetstream-server``

Configuration
~~~~~~~~~~~~~

Configuration File
------------------

.. tabs::

    .. group-tab:: Rocky

        :file:`/etc/jetstream-server.rsp`

    .. group-tab:: Ubuntu

        :file:`/etc/jetstream-server.rsp`

    .. group-tab:: macOS

        :file:`/usr/local/jetstream/etc/jetstream-server.rsp`

Command Line Interface
----------------------

.. tabs::

    .. group-tab:: Rocky

        :file:`/usr/local/bin/jetstream`

    .. group-tab:: Ubuntu

        :file:`/usr/local/bin/jetstream`

    .. group-tab:: macOS

        :file:`/usr/local/jetstream/bin/jetstream`

Firewalls
~~~~~~~~~

Add OS Firewall Exception
-------------------------

.. tabs::

    .. group-tab:: Rocky

        .. code-block:: shell-session

            sudo firewall-cmd --permanent --zone=public --add-port=8886/tcp --add-port=8886/udp
            sudo systemctl restart firewalld

    .. group-tab:: Ubuntu

        ``sudo ufw allow 8886``

    .. group-tab:: macOS

        Navigate to :menuselection:`System Preferences --> Security \& Privacy --> Firewall` and add an exception for :program:`jetstream`
