Skip to content

enesflow/open-prisma-data-proxy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

open-prisma-data-proxy

Open source alternative to Prisma Data Proxy and Prisma Accelerate

What is this?

Prisma offers Data Proxy (and Accelerate which offers caching) that allows you to connect to your database from a serverless environment like Cloudflare Workers or Netlify Functions. This is a great solution for serverless environments that don't allow you to connect to your database directly. But as from my experience, Data Proxy and Accelerate have some downsides:

  • It's not open source
  • Long cold start times
  • Slow response times

This project aims to be an open source alternative to Prisma Data Proxy and Prisma Accelerate.

Local development

# Clone the repository
git clone https://github.com/enesflow/open-prisma-data-proxy.git
# Put your schema.prisma file in prisma/schema.prisma
mkdir "prisma"
cp "path/to/schema.prisma" "prisma/schema.prisma"
# Set environment variables (see below)
touch ".env"
# Install dependencies
bun install
# The prisma client should be generated automatically
# Start the server
bun dev

Docker support is coming soon

Environment variables

Name Description Required Default
DATABASE_URL The URL to your database Yes
TOKEN The token to authenticate requests Yes
SELF_SIGNED_CERT Set to true if you use a self signed certificate for local development No false

Self-signed certificate

# Set SELF_SIGNED_CERT to true in your .env file
mkdir "certs"
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout "./certs/selfsigned.key" -out "./certs/selfsigned.crt"

Note: To not get "self-signed certificate" errors in your application, set NODE_TLS_REJECT_UNAUTHORIZED=0 in your application. Example:

cd "path/to/your/application"
NODE_TLS_REJECT_UNAUTHORIZED=0 bun dev

About

Open source prisma data proxy

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published