19.0.0 released Nov 08, 2023
Deploying application

You can deploy Vely applications in different ways.
Using containers (such as with docker or podman) is an easy, reliable and portable way of deploying a Vely application. See  containerize-application.

This method is also applicable for deployment to Internet of Things (IOT) systems, such as for example Raspberry PI Operating Systems often used for devices. For IOT, Vely can be deployed both on servers and devices.
Installing from source
You can also deploy a Vely application by installing it from source; see application-setup. After installation, you may delete the source code and remove generated C code:
vv -c

Installing from binary
The binary for your application can be copied to another computer with the same Operating System and with Vely installed, provided the Operating System has compatible libraries; in practice this means the same major Operating System version and the same or higher minor version. The same is true for Vely version; you must have the same major Vely version and the same or higher minor version.

You must install Vely first on the target machine and then create the application, for instance:
sudo vf -i -u $(whoami) <app name>

Next you must copy the binaries for your application from source to target, to the same location. Assuming application name is <app name>, the binaries are:
#Fast CGI binary:
/var/lib/vv/bld/<app name>.fcgi

#command line and CGI binary:
/var/lib/vv/bld/<app name>

For an application that does not use any database(s) and does not need any additional files, this is enough to deploy the application to a target machine.

If you use database(s), you must install such database(s) and migrate any needed data, and copy the database-config-files, meaning the following directory:
/var/lib/vv/<app name>/app/db

If you use SQLite, you can just copy the database file as it is portable; generally such file would be in the application's home directory. Since the application's home directory is:
/var/lib/vv/<app name>/app

you would copy any custom files and directories you have created and that your application may need. Note that all files and directories copied must be owned by the application owner, i.e. the user used in application creation command above (see vf).
Multi-user and multi-application environment
Each application owner (i.e. the user used in application creation with -u flag, see vf) can have any number of applications. At the same time, different application owners can create any number of applications of their own; the application directory for each application is owned by its respective owner with 700 permissions, meaning different users cannot access application files of other owners (see how-vely-works). Similarly, application servers (i.e. FastCGI servers) run under the application owner permissions, and can only be managed by its owner.
See also
See all

You are free to copy, redistribute and adapt this web page (even commercially), as long as you give credit and provide a dofollow link back to this page - see full license at CC-BY-4.0. Copyright (c) 2019-2023 Dasoftver LLC. Vely and elephant logo are trademarks of Dasoftver LLC. The software and information on this web site are provided "AS IS" and without any warranties or guarantees of any kind. Icons from table-icons.io copyright PaweĊ‚ Kuna, licensed under MIT license.