Deploying application
You can deploy Vely applications in different ways.
Containers
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
Fedora IOT or with
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:
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
General (
deploying_application how_vely_works quality_control rename_files SELinux vely vely_architecture vely_removal vf vv why_C_and_Vely )
SEE ALL (
documentation)