Vault is a simple, self-hosted, and open-source encrypted data vault. It allows users to securely store and manage their sensitive data with ease.
- Encryption: All data is encrypted to ensure security.
- Self-Hosted: Run Vault on your own server.
- Open Source: Contributions and collaborations are welcome.
- Framework: Next.js
- Package Manager: pnpm
- UI: shadcn/ui (using Radix), Tailwind CSS
- Database: Turso (libSQL / SQLite)
- Database ORM: Drizzle ORM
- Authentication: Custom-built authentication
- Hashing and Encryption: bcrypt, crypto
- Linting: ESLint, Prettier
- Deployment: Vercel
Ensure you have the following installed on your machine:
- Node.js (v18 or higher)
- pnpm
-
Clone the repository:
git clone https://github.com/datejer/vault.git cd vault -
Install dependencies:
pnpm install
-
Configure your environment variables. Create a
.envfile and add the necessary variables (see.env.examplefor reference).
To start the development server, run:
pnpm devOpen http://localhost:3000 with your browser to see the result.
To build the project for production, run:
pnpm buildThen, to start the production server, run:
pnpm startTo generate and run database migrations, use the following commands:
pnpm db:generate
pnpm db:migrateTo run the linter:
pnpm lintTo fix linting issues:
pnpm lint:fixTo format the code with Prettier:
pnpm prettierContributions are welcome! Please fork the repository and create a pull request with your changes. Ensure your code follows the established linting and formatting guidelines. Contributions are subject to the Code of Conduct.
This project is open-source and available under the MIT License.