https://github.com/datejer/vault
Simple, self-hosted and open-source encrypted data vault.
https://github.com/datejer/vault
Last synced: 12 months ago
JSON representation
Simple, self-hosted and open-source encrypted data vault.
- Host: GitHub
- URL: https://github.com/datejer/vault
- Owner: datejer
- Created: 2024-06-10T11:18:16.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2025-03-02T12:00:41.000Z (about 1 year ago)
- Last Synced: 2025-03-02T13:18:55.819Z (about 1 year ago)
- Language: TypeScript
- Homepage: https://vault.dudek.sh
- Size: 485 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Vault
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.
## Table of Contents
- [Vault](#vault)
- [Table of Contents](#table-of-contents)
- [Features](#features)
- [Tech Stack](#tech-stack)
- [Getting Started](#getting-started)
- [Prerequisites](#prerequisites)
- [Installation](#installation)
- [Running the Development Server](#running-the-development-server)
- [Building for Production](#building-for-production)
- [Database Migrations](#database-migrations)
- [Linting and Formatting](#linting-and-formatting)
- [Contributing](#contributing)
- [License](#license)
- [Acknowledgements](#acknowledgements)
## Features
- **Encryption**: All data is encrypted to ensure security.
- **Self-Hosted**: Run Vault on your own server.
- **Open Source**: Contributions and collaborations are welcome.
## Tech Stack
- **Framework**: [Next.js](https://nextjs.org/)
- **Package Manager**: [pnpm](https://pnpm.io/)
- **UI**: [shadcn/ui](https://ui.shadcn.com/) (using [Radix](https://www.radix-ui.com/)), [Tailwind CSS](https://tailwindcss.com/)
- **Database**: [Turso (libSQL / SQLite)](https://turso.tech/)
- **Database ORM**: [Drizzle ORM](https://github.com/drizzle-team/drizzle-orm)
- **Authentication**: Custom-built authentication
- **Hashing and Encryption**: [bcrypt](https://www.npmjs.com/package/bcrypt), [crypto](https://nodejs.org/api/crypto.html)
- **Linting**: [ESLint](https://eslint.org/), [Prettier](https://prettier.io/)
- **Deployment**: [Vercel](https://vercel.com/)
## Getting Started
### Prerequisites
Ensure you have the following installed on your machine:
- Node.js (v18 or higher)
- pnpm
### Installation
1. Clone the repository:
```sh
git clone https://github.com/datejer/vault.git
cd vault
```
2. Install dependencies:
```sh
pnpm install
```
3. Configure your environment variables. Create a `.env` file and add the necessary variables (see `.env.example` for reference).
### Running the Development Server
To start the development server, run:
```sh
pnpm dev
```
Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
### Building for Production
To build the project for production, run:
```sh
pnpm build
```
Then, to start the production server, run:
```sh
pnpm start
```
### Database Migrations
To generate and run database migrations, use the following commands:
```sh
pnpm db:generate
pnpm db:migrate
```
### Linting and Formatting
To run the linter:
```sh
pnpm lint
```
To fix linting issues:
```sh
pnpm lint:fix
```
To format the code with Prettier:
```sh
pnpm prettier
```
## Contributing
Contributions 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](CODE_OF_CONDUCT.md).
## License
This project is open-source and available under the [MIT License](LICENSE).
## Acknowledgements
- [Next.js](https://nextjs.org/)
- [shadcn/ui](https://ui.shadcn.dev/)
- [Drizzle ORM](https://github.com/drizzle-team/drizzle-orm)
- [Turso (libSQL / SQLite)](https://turso.tech/)