No description
- Python 72.1%
- JavaScript 9.4%
- PLpgSQL 9.1%
- CSS 5.1%
- HTML 4.3%
| src | ||
| www | ||
| .env.template | ||
| .gitignore | ||
| model.sql | ||
| README.md | ||
Argos
Servidor NVR muito simples. Funciona em conjunto com o Kerberos.io Agent.
Funcionamento
Lista, indexa e gerencia o ciclo de vida das gravações de segurança. Fornece as gravações em um portal web a partir de filtros (câmera e período).
Configuração
Backend FastAPI e PostgreSQL
$ python -m venv .venv
$ source .venv/bin/activate
$ pip install "fastapi[standard]"
$ pip install "psycopg[binary]"
$ pip install pydantic-settings
$ pip install argon2-cffi
Adicionar no arquivo .env
RECORDINGS_PATH: Caminho da pasta onde as gravações devem ser salvas
DATABASE_NAME: Nome do banco de dados
DATABASE_USER: Usuário do banco de dados
DATABASE_PASSWORD: Senha do usuário do banco de dados
Banco de dados
Rodar os comandos DDL do arquivo model.sql
Adicionar as câmeras na tabela:
INSERT INTO argos.camera (nm_camera, model, files_path, storage_limit)
VALUES
(
'Nome da câmera', -- Nome que você dá à câmera. ex: Pátio, Escritório, Portão 1, etc.
'Modelo da câmera', -- Modelo. Ex: Intelbras IM5, TP-Link Tapo TC60, etc.
'endereço das gravações do Kerberos.io Agent', -- Endereço da pasta onde o Kerberos.io Agent salva as gravações.
100_000_000 -- Limite em bytes do armazenamento, quando estourado o limite, as gravações mais antigas serão apagadas.
);
/*
User admin, senha 123456. Usado inicialmente para criar outra conta.
Necessário desativar ou trocar a senha, serão criados endpoints pra isso futuramente, por enquanto deve ser feito via SQL
*/
INSERT INTO argos."user" (nm_user, pwd_hash)
VALUES
(
'admin',
'$argon2id$v=19$m=65536,t=3,p=4$hlbqMh5IPHg+E1/XxUCpiw$yadLvq/Yh5Lvg4ZRyT5rEgl/5xFmIwI2Pn6x5VT1Je4'
);