Deploying Volamail
This article will walk you through the essentials of self-hosting Volamail.
This guide is a work in progress. It's not complete yet. If you encounter any issues, pleace reach out to us on Discord or at info@volamail.com.
Prerequisites
You're gonna need a few things ready before you start:
- A PostgreSQL instance that you can connect to via connection URL (we use Supabase)
- An AWS account with an S3 bucket and Amazon SES configured in the same region. You'll need to generate an IAM user with access to these services (we recommend this guide by SST)
Hosting the web app
The web app is a SolidStart project and as such it can be deployed almost anywhere. The cloud hosted version of the web app is app.volamail.com and it's running on Vercel, but you can choose whatever works for you.
Here's a step-by-step guide on how to deploy the web app:
Clone the repo
First you'll need to clone the repo:
The actual dashboard is inside the apps/app
folder. So you'll need to navigate to that folder.
Install dependencies
Next you'll need to install the dependencies with pnpm
:
Copy the .env.example file to a .env file and fill it out
The .env.example
file should contain comments on the relevant environment variables.
Run DB migrations
To run the database migrations you'll need to run:
This command will use the DATABASE_URL
from the .env
file so make sure it's set up correctly.
Try the development server
When you run pnpm dev
you should see the dashboard running at http://localhost:3000.
You can start creating a user by logging in at http://localhost:3000/login and see if everything works.
Deploying the app
As mentioned before, the web app is a SolidStart project and the way it's deployed depends on the infrastructure you're using. Please follow the appropriate guide for your infrastructure from the Deploy section on the Nitro docs.