diff --git a/README.md b/README.md index e966c11..668388c 100644 --- a/README.md +++ b/README.md @@ -1 +1,40 @@ -PassLocker +# PassLocker + +Another secret keys storage tool. +> Please **use this project locally** for more security. + +**Content:** +1. [Technology stack](#stack) +2. [Download the project](#download) +3. [Setup environment variables](#envs) +4. [Run with Docker](#run) +--------- +## Technology stack +[![FastAPI](https://img.shields.io/badge/FastAPI-005571?style=for-the-badge&logo=fastapi)](https://fastapi.tiangolo.com/)[![Angular](https://img.shields.io/badge/angular-%23DD0031.svg?style=for-the-badge&logo=angular&logoColor=white)](https://angular.io/)[![Postgres](https://img.shields.io/badge/postgres-%23316192.svg?style=for-the-badge&logo=postgresql&logoColor=white)](https://www.postgresql.org/)[![Nginx](https://img.shields.io/badge/nginx-%23009639.svg?style=for-the-badge&logo=nginx&logoColor=white)](https://nginx.org/)[![Docker](https://img.shields.io/badge/docker-%230db7ed.svg?style=for-the-badge&logo=docker&logoColor=white)](https://www.docker.com/) + +## Download +``` +git clone https://github.com/TheDim0n/PassLocker.git passlocker +cd passlocker +git submodule update --init +``` + +## Environments +Create `.env` file in project directory: +``` +SECRET_KEY= # secret key for generating JWT +DEFAULT_USER_LOGIN= # your username, must be at least 4 characters +DEFAULT_USER_PASSWORD= # your password, must be at least 8 characters +ACCESS_TOKEN_EXPIRES_MINUTES= # JWT lifetime in minutes +PROXY_PORT= # published port (of your machine) +``` +## Run with Docker +``` +docker-compose up -d +``` +or +``` +docker-compose up --build -d +``` +Navigate to `http://localhost:` +> Docs available at `http://localhost:/api/docs` or `http://localhost:/api/redoc` diff --git a/backend b/backend index e5a787e..ac91c99 160000 --- a/backend +++ b/backend @@ -1 +1 @@ -Subproject commit e5a787e7a785b703a82de08add4d439bbc777d48 +Subproject commit ac91c99238360e48fe517ab18e68d11c8b4d7624 diff --git a/docker-compose.override.yml b/docker-compose.override.yml index aa313cc..5a23aa8 100644 --- a/docker-compose.override.yml +++ b/docker-compose.override.yml @@ -14,10 +14,11 @@ services: environment: DATABASE_URL: 'postgresql+psycopg2://postgres:password@database:5432/passlocker_db' DEBUG: 0 - SECRET_KEY: 'secret' - DEFAULT_USER_LOGIN: test - DEFAULT_USER_PASSWORD: password - ACCESS_TOKEN_EXPIRES_MINUTES: 60 + ROOT_PATH: /api + SECRET_KEY: ${SECRET_KEY?} + DEFAULT_USER_LOGIN: ${DEFAULT_USER_LOGIN?} + DEFAULT_USER_PASSWORD: ${DEFAULT_USER_PASSWORD?} + ACCESS_TOKEN_EXPIRES_MINUTES: ${ACCESS_TOKEN_EXPIRES_MINUTES?} depends_on: - database frontend: @@ -25,7 +26,7 @@ services: proxy: build: ./proxy ports: - - 85:80 + - ${PROXY_PORT?}:80 volumes: pg_data: {} diff --git a/docker-compose.prod.yml b/docker-compose.prod.yml index 7c305e5..f3c1674 100644 --- a/docker-compose.prod.yml +++ b/docker-compose.prod.yml @@ -10,10 +10,12 @@ services: DEFAULT_USER_PASSWORD: ${DEFAULT_USER_PASSWORD?} ACCESS_TOKEN_EXPIRES_MINUTES: ${ACCESS_TOKEN_EXPIRES_MINUTES?} DEBUG: 0 - resources: - limits: - cpu: 0.5 - memory: 100M + ROOT_PATH: /api + deploy: + resources: + limits: + cpus: '0.5' + memory: 100M proxy: ports: - ${PROXY_PORT?}:80 diff --git a/frontend b/frontend index 8bd4a63..3f377c5 160000 --- a/frontend +++ b/frontend @@ -1 +1 @@ -Subproject commit 8bd4a6359f64a29703f6ba92ce09b786ef3ff150 +Subproject commit 3f377c52ec6d80fa35780ad5b862030a2d1c3392