Volamail

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:

git clone https://github.com/volamail/volamail.git

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:

pnpm install

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:

pnpm db migrate

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.

FAQ

On this page