Initial Setup
Configuring your Envault instance
After installing the dependencies, you need to configure the core services.
Database Setup (Supabase)
Envault relies on Supabase for authentication and database storage.
- Create a new project in the Supabase Dashboard.
- Go to Project Settings > API and copy your:
- Project URL
anonpublic keyservice_rolesecret key (keep this safe!)
Update your .env.local file:
NEXT_PUBLIC_SUPABASE_URL=your_project_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_anon_key
SUPABASE_SERVICE_ROLE_KEY=your_service_keyEncryption Keys
Envault uses a master key to encrypt the database keys. This is critical for security.
Critical Security Warning
You must generate a strong random string for your ENCRYPTION_KEY. If you
lose this key, all data encrypted with it will be irretrievable.
Generate a secure key (e.g., using openssl):
openssl rand -hex 32Add this to your .env.local:
ENCRYPTION_KEY=your_generated_hex_keyRunning the Development Server
Now you are ready to start the application.
npm install -g portless
npm run devOpen https://envault.localhost:1355 with your browser to see the result.
Email Configuration (Optional)
Envault uses Resend to send emails for invites and notifications.
- Sign up for a Resend account and create an API Key.
- Add your key to
.env.local:
RESEND_API_KEY=your_resend_api_keyYou can verify that your email configuration works by sending a test email:
npm run test:email -- your-email@example.comOnce you have email delivery set up, individual users can fine‑tune which alerts they receive via the Notifications section in their account settings. See the Notifications guide for details on the available categories and defaults.