Deveo software is composed of popular and powerful open source technologies, which are used in todays most advanced cloud solutions. The architecture is layered- each component has its own role in serving user requests.
The entire stack is provided as a stand-alone native operating system package, also known as a Combo setup. Alternatively, Deveo stack can be split into a number of servers, known as a Cluster setup, and further expanded to a HA cluster. Regardless of the deployment type, the logical layers are as follows:
Nginx proxy sits at front and handles all user requests. Based on the operation type (static page, version control system, or Web application) requests are forwarded to the appropriate component.
Deveo consists of two major components. On the front-end is Ember powered application responsible for providing UI to Deveo APIs. Back-end is powered by Ruby on Rails, which exposes RESTful APIs and Deveo Admin UI. It's important to note, Deveo adheres to an API-first strategy. Any functionality seen in the Deveo UI can be achieved programatically with Deveo APIs.
Deveo relies on various open source packages that are bundled with Deveo On-Premises. Packages are precompiled for Deveo supported operating systems, and are completely isolated from the rest of the system. The below is the list of some of the packages bundled with Deveo:
- Git, Subversion, Mercurial - Deveo supported Version Control Systems.
- Resque - Handles background jobs.
- GraphicsMagick - Processes images uploaded to Deveo.
Deveo closely follows Linux File System Hierarchy Standard for its data and bundled packages. Here is the layout of the file system hierarchy Deveo uses:
/opt/deveoThe root folder for application and its dependencies.
/opt/deveo/binThe admin provided utilities and tools (see Deveo control).
/var/opt/deveo/sharedThe data directory with all user data, such as repositories and uploads.
/var/opt/deveo/dbThe database directory.
/var/opt/deveo/backupsThe directory where backups are stored.
/var/log/deveoApplication and system logs.
For a detailed list of system wide configuration files that Deveo touches, see System overrides section.