You will then get from us a tar.gz package including the current stable version of Yarkon Server.
From the public AMI
You can always get the files from the publicly available AMI. Simply start with setting up the FREE Trial in a test environment, then SSH into the server and pull all files from the application folder, which is /var/app/current/. All required files are in this folder and there are no other files required.
Launch your instance
Next, you’d need to start an instance. Yarkon Server works on most Unix distros, and is tested routinely with Debian and Fedora based packages. Note that the instance can be any Unix server – while the natural choice is to run Yarkon Server on an EC2 instance, this is not mandatory, and you can run it on any Unix-like machine.
Install Yarkon on your server
To complete the installation itself, follow these steps:
Create a folder for Yarkon. By AWS convention we recommend using /var/app/current, but you can choose based on your own preference/convention.
Unpack the content of the tar file (or the files you got from the public AMI) into the folder you created. Make sure to have the empty log folder, which is necessary. The package includes a trial license, which you can replace with yours once the server is up.
Verify that the application works by running it. Yarkon is a Unix binary named aphek, and to run it you simply use ./aphek. If all works, a new log file would be created in the folder /log; open it and verify that the startup message is displayed and no errors reported.
Set up for production
To set the server up for production use, you need to ensure the Yarkon application starts on boot up with the proper environment settings. We use the PM2 process manager but you can use whichever you prefer, even a simple startup script.
The PM2 environment file looks like this:
As you can see, the only thing we do in our standard set up is set the port to 80. Of course, you should set the port to whatever you need based on your load balancer or reverse proxy set up. Note that if you do decide to serve on port 80, you’d have to ensure the service user is privileged to do so (ie, sudo setcap cap_net_bind_service=+ep /var/app/current/aphek when using Ubunto).
If you want to use a database other than the default SQLite that comes pre-installed, you can specify it like this:
A more extensive example of optional environment settings can be seen in this docker compose file (the environment variables are the same for the standalone application and the dockerized version):