The Divio server architecture consists of the following core components:
- Divio Cloud (with a test and live-server)
- Divio Shell (with one local server)
In our workflow, we recommend that all changes go through the test server first, where they can be verified, before they are applied to the live server.
To efficiently work on your projects we have created two different tools to support your workflow. Both allow you to run Divio Cloud projects locally in our Docker environment, manage your Cloud projects and upload and download code and configuration changes:
- Divio app - a graphical user interface (learn more about Using the Divio app)
divio-cli- a Command-Line Interface application (learn more about the Divio CLI)
Note that while you can download the Divio CLI via PyPi, the Desktop App also allows you to install it on your system (and automatically takes care of the setup process).
Your Divio Cloud and local servers are in Docker, one of the foremost containerisation technologies. Docker isolates application code from the host operating system, allowing it to run independently on different systems. This has two main benefits:
- You can run the same server environment on your local computer, the test server or the live server without worrying about inconsistent system environments or behaviour.
- You can test new app or database changes on the local or test server before you deploying to live.
Components of a Divio Cloud project
Your Divio Cloud projects contain:
- Application source-code and configuration files
- Database records
- Media files (similar to static files, but user-uploaded)
Although hosted on our systems, these components are your property and we ensure that they are always fully accessible to you.
Files maintained in Git
The static files, templates, application source-code and the configuration files are stored in a Git repository. These files are created during project creation automatically and you can clone them to your local computer with the Divio app or the Divio CLI.
Your database can be exported either from the local project or from the Divio Cloud Control Panel.
User-uploaded and site-generated media files can similarly be exported from the local project or via the Control Panel.