https://github.com/zeropsio/recipe-nodejs
https://github.com/zeropsio/recipe-nodejs
Last synced: 12 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/zeropsio/recipe-nodejs
- Owner: zeropsio
- License: mit
- Created: 2024-06-09T10:54:05.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2025-02-03T23:06:04.000Z (over 1 year ago)
- Last Synced: 2025-06-30T10:07:29.901Z (12 months ago)
- Language: TypeScript
- Size: 59.6 KB
- Stars: 1
- Watchers: 2
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Zerops x Node.js
This is the most bare-bones example of Node.js app running on [Zerops](https://zerops.io) — as few libraries as possible, just a simple endpoint with connnect, read and write to a Zerops PostgreSQL database.

## Deploy on Zerops
You can either click the deploy button to deploy directly on Zerops, or manually copy the [import yaml](https://github.com/zeropsio/recipe-nodejs/blob/main/zerops-project-import.yml) to the import dialog in the Zerops app.
[](https://app.zerops.io/recipe/nodejs)
## Recipe features
- Node.js / Express.js app running on a load balanced **Zerops Node.js** service
- Zerops **PostgreSQL 16** service as database
- Healthcheck setup example
- Utilization of Zerops' built-in **environment variables** system
- Utilization of Zerops' built-in **log management**
## Production vs. development
Base of the recipe is ready for production, the difference comes down to:
- Use highly available version of the PostgreSQL database (change `mode` from `NON_HA` to `HA` in recipe YAML, `db` service section)
- Use at least two containers for the Node.js service to achieve high reliability and resilience (add `minContainers: 2` in recipe YAML, `api` service section)
Futher things to think about when running more complex, highly available Node.js production apps on Zerops:
- containers are volatile - use Zerops object storage to store your files
- use Zerops Redis (KeyDB) for caching, storing sessions and pub/sub messaging
- use more advanced logging lib, such as [winston](https://github.com/winstonjs/winston)
Need help setting your project up? Join [Zerops Discord community](https://discord.com/invite/WDvCZ54).