pssecret-server/README.md

76 lines
2.1 KiB
Markdown
Raw Normal View History

2022-06-09 22:08:36 +00:00
# Rectes
2022-06-12 12:45:42 +00:00
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
2022-06-09 22:08:36 +00:00
Rectes (anagram from "secret") is self-hosted service to share secrets (like passwords) with somebody
over the network, but don't want them to appear in chats, unencrypted e-mails, etc.
This service tries to be as anonymous as possible. The only personal information that will be stored
on a server will be IP address of the client that made request to the server.
Service is built with Python, FastAPI and is using Redis for data storage.
2022-06-12 12:44:27 +00:00
2022-06-12 21:56:09 +00:00
## Installation
### Requirements
2022-12-17 08:37:41 +00:00
- Python 3.11+
2022-06-12 21:56:09 +00:00
- Redis
- Python development libraries (optional, only needed for `hiredis` module installation)
### How to install
#### TL/DR
2022-12-17 08:54:22 +00:00
```bash
2022-06-12 21:56:09 +00:00
$ git clone git@git.ivnglkv.ru:ivnglkv/rectes.git
$ python3 -m venv venv
$ . ./venv/bin/activate
2022-12-17 08:53:50 +00:00
$ pip install .
2022-06-12 21:56:09 +00:00
```
---
Steps to install Rectes:
1. Clone repository
2. (optional) Create virtual environment
3. Install package
### Running Rectes server
After installation is done, you can start rectes with `rectes` command.
The web server will be started with `uvicorn` ASGI web server.
2022-12-17 08:54:22 +00:00
```bash
$ rectes
```
2022-06-12 21:56:09 +00:00
2022-12-17 08:53:50 +00:00
### Configuration
Configuration is done through config file. By default, path is `/etc/rectes/rectes.toml`.
You can override this by setting environment variable `RECTES_CONF_FILE` value to actual file
location, i.e.:
```bash
$ RECTES_CONF_FILE=/home/user/.conf/rectes.toml rectes
```
You can find all available configuration options in the example file, located
2022-12-17 08:57:09 +00:00
at [conf/rectes.toml.example](conf/rectes.toml.example) under Git root.
2022-12-17 08:53:50 +00:00
2022-06-12 12:44:27 +00:00
## Contributing
Codestyle is enforced with Black, and additional checks are done with the help of pre-commit-hooks,
Flake8 and isort. Prior to making any commits, install `pre-commit` tool and install hooks:
2022-12-17 08:54:22 +00:00
```bash
2022-06-12 12:44:27 +00:00
# Alternatively, you could use 'pip install ".[development]"'
$ pip install pre-commit==2.19.0
$ pre-commit install
```
This way you will always be sure that new code follows project guidelines.
This project is using trunk-based branching strategy with the `main` as trunk branch.