...
Within the api folder, the file packages/api/src/jobs/index.js
defines a Node service that is run separately, as if it were a third package. This service monitors Redis-based work queues to receive and process requests for exports of certification information.
Deployments
Each of the three packages is deployed to the LiteFarm production environment, and to a pre-production environment generally known as “beta” (though it is not used for traditional beta testing).
These deployments share some components.
...
The production environment consists of:
litefarmapp
, a Digital Ocean Droplet that:runs the
webapp
package (behind an Nginx reverse proxy) in a Docker container assigned the hostnameapp.litefarm.org
runs the
api
package in a Docker container assigned the hostnameapi.app.litefarm.org
runs PostgreSQL in a Docker container
provides file storage for the database contents and backups
litefarm-imaginary
, a Digital Ocean Droplet that:provides file storage for ? images
runs the “exports package” jobs scheduler Node service
runs the Redis-based work queues used by the API server to submit export jobs to the scheduler
runs the image manipulation microservice imaginary in a Docker container
runs an Nginx web server, hostname
image.litefarm.org
, that:serves images ….?
reverse proxies access to a Docker container running the image manipulation microservice imaginary
Digital Ocean Spaces (object storage “buckets”) that provide storage for …
The pre-production environment consists of:
liteformbeta
, a Droplet that duplicates the services onlitefarmapp
, with hostnamesbeta.litefarm.org
andapi.beta.litefarm.org
export-beta
, a Droplet that duplicates the services of onlitefarm-imaginary
, with one exception 🗒Digital Ocean Spaces (object storage “buckets”) that provide storage for …
🗒 All deployments-- production, pre-production, and local development-- use the single instance of the imaginary microservice image.litefarm.org