Backend API and admin panel for self-hosted credentials manager with role-based access control (RBAC).
- User management and authentication using JWT
- Role-based access control (RBAC) and role management
- Applications management
- Credentials management and encryption using AES
- Language - Go
- Framework - Fiber
- ORM - Gorm
- CLI framework - urfave/cli
- JWT - golang-jwt
- UUID - google/uuid
- AES Encryption - crypto/aes
- Download and install Docker and Docker compose
- Clone the repository using the following command -
git clone https://github.com/Dhruv9449/tizori-backend.git
Configure the env files present in /tizori/.env/
For local environment use .local
and for production use .production
Following environment variables need to be configured -
FIBER_PORT
- Value of port used by the web api in the form:<PORT>
, default value is:3000
DEBUG
- Set totrue
for local environment,false
for production environmentPOSTGRES_URL
- Set topostgres://<POSTGRES_USER>:<POSTGRES_PASSWORD>@postgres:<POSTGRES_PORT>/<POSTGRES_DB>
POSTGRES_USER
- Username for postgres databasePOSTGRES_PASSWORD
- Password for postgres databasePOSTGRES_DB
- Name of the postgres databasePOSTGRES_HOST
- Hostname for postgres database, default value ispostgres
POSTGRES_PORT
- Port for postgres database, default value is5432
JWT_SECRET
- JWT secret key that will be used to sign the tokensAES_KEY
- AES key used for encryption and decryption of credentials
Use the following command to seed the database with initial roles data -
./tizori.sh seed
Use the following command to run the application -
./tizori.sh up
tizori.cmd up
Use the following command to stop the application -
./tizori.sh down
tizori.cmd down
Use the following command to run the CLI application -
./tizori.sh cli <command>
tizori.cmd cli <command>
Dhruv Shah |
Made with โค๏ธ by Dhruv Shah