# Running Phoenix on Linux
Phoenix is available as a download for Linux, in the event you'd like to run Phoenix via the API on a Linux machine without using the user interface (also known as running Phoenix "headlessly").
# Compatibility and Package
Ubuntu 18.04 is officially supported, but any recent Debian Linux flavor should work without issues. The build is packaged up as a standard Debian package file (deb).
A valid trial or production license is required to run Phoenix. Both key-based (-k option) and Tilia Cloud user accounts (-u and -p options) are supported.
# Install and run
To install, run:
sudo dpkg -i PhoenixAuto-7.0.deb
Please note your filename can differ from the one above based on your version
Next, go to the folder where the application is installed, /opt/tilialabs/tilia-phoenix-auto
Run the 'phoenix-auto' script which runs the server in the foreground. Control+C (or kill) will prompt the server to cleanly shut itself down. If you run without any options or with -h you will see the list of arguments. A license argument is required, either -k if you are using a license key, or both -u and -p for a tilia Cloud user account
sudo -u tilialabs ./tilia-phoenix-auto -k LICENSE-KEY
Here you need to provide a valid Phoenix license key with the -k option in order for the server to start. This also requires internet access to validate the license.
By default the server will listen on port 8022 but you can specify a different port using the -p argument
sudo -u tilialabs ./tilia-phoenix-auto -k ABCDE-FGHIJ-KLMNO-PQRST-UVWXY -p 8080
# Swagger documentation
Once the server is started it will accept requests from any IP address. To access the Live Docs, simply navigate to the IP and port where Phoenix is running, e.g. http://10.0.0.10:8022/
And the Swagger JSON is at /phoenix/swagger.json: http://10.0.0.10:8022/phoenix/swagger.json
The REST API has methods for creating/editing presses, stocks, and plates, but to get up and running fast you can also import an existing Phoenix library (.phxlib file) exported from the desktop version of Phoenix.
To import a library, use the option -l to import the library into the server when it starts:
sudo -u tilialabs ./tilia-phoenix-auto -k LICENSE-KEY -l /path/to/phoenix/library.phxlib
Each time you use the '-l' option it will overwrite all libraries on the server so you do not want to specify this option each time you start the server if you are making changes to libraries on the server itself via the REST API.
# Users and permissions
The deb package creates a system user called tilialabs and a group with the same name. This new user does not have login rights or a home directory and is intended to allow you to control access to Phoenix-related files as well as the files the Phoenix server can access.
The tilialabs user is in only the one group, tilialabs. You might need to add this user to other group(s) to give the server access to artwork files. For example, if a mounted network share contains artwork files to be ganged up by the server and the "foo" group has read access to this folder then you will need to change permissions to grant access to tilialabs. One way is to add the user to the foo group like this:
sudo usermod -a -G foo tilialabs
# Uninstall & Cleanup
To uninstall, run dpkg again with the remove (-r) flag:
sudo dpkg -r phoenix-auto
This will remove all application files from /opt.
Aside from the tilialabs user and group, the deb package also creates the /var/lib/tilialabs and /var/log/tilialabs folders to store Phoenix libraries and logs respectively. These folders are left untouched when phoenix-auto package is removed along with the tilialabs user and group. The reason is to handle upgrades where we want to keep this application data around.
To do a full cleanup of everything on your Linux box you can do something like the following in a bash script:
#!/bin/bash dpkg -r phoenix-auto rm -rf /var/log/tilialabs rm -rf /var/lib/tilialabs deluser tilialabs
The only other folder Phoenix will use is /tmp for temporary files.