Nöbetci Configuration

Nöbetci Configuration

You can set settings below using environment variables or placing them in .env file.

Basic

VariableDescription
UVICORN_HOSTBind application to this host (default: 0.0.0.0)
UVICORN_PORTBind application to this port (default: 8307)
UVICORN_UDSBind application to a UNIX domain socket
UVICORN_SSL_CERTFILESSL certificate file to have application on https
UVICORN_SSL_KEYFILESSL key file to have application on https
SQLALCHEMY_DATABASE_URLDatabase URL (SQLAlchemy’s docs)
JWT_ACCESS_TOKEN_EXPIRE_MINUTESExpire time for the Access Tokens in minutes, 0 considered as infinite (default: 1440)

Limit Configurations

VariableDescription
DEFAULT_LIMITDefault limit for unrecorded users (0 to unlimited)(default: 0)
BAN_INTERVALBan time for ip (default: 10)
STLSame time limit (default: 10)
IUL
BAN_LAST_USERBan last connected ip (default: False)

Panel Configuration

VariableDescription
PANEL_ADDRESSPanel Address (Must be without https:// or http:// : pnl.example.com)
PANEL_USERNAMEPanel username
PANEL_PASSWORDPanel password

API

VariableDescription
SECRET_KEYSecret key for JWT
API_USERNAMEAPI username
API_PASSWORDAPI password
ALGORITHMJWT authentication encryption algorithm (default: “HS256”)

Telegram

VariableDescription
TELEGRAM_API_TOKENTelegram bot API token (get token from @botfather)
TELEGRAM_ADMIN_IDNumeric Telegram ID of admin (use @myidbot to found your ID)

Development and Documentation

VariableDescription
DOCSWhether API documents should be available on /docs and /redoc or not (default: False)
DEBUGDebug mode for development (default: False)

.env File Example

UVICORN_HOST = "0.0.0.0"
UVICORN_PORT = 8307
UVICORN_UDS: "/run/nobetci.socket"
UVICORN_SSL_CERTFILE = "/var/lib/nobetci/certs/example.com/fullchain.pem"
UVICORN_SSL_KEYFILE = "/var/lib/nobetci/certs/example.com/key.pem"
BAN_INTERVAL=300
DEFAULT_LIMIT=0
STL=10
IUL=50
PANEL_USERNAME="user"
PANEL_PASSWORD="pass"
PANEL_ADDRESS="address"
SECRET_KEY="super_secret"
API_USERNAME="user"
API_PASSWORD="pass"
TELEGRAM_API_TOKEN = 123456789:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
TELEGRAM_ADMIN_ID = 987654321, 123456789
SQLALCHEMY_DATABASE_URL = "sqlite:///db.sqlite3"
SQLALCHEMY_CONNECTION_POOL_SIZE = 10
SQLALCHEMY_CONNECTION_MAX_OVERFLOW = -1
DOCS=true
DEBUG=true
ACCESS_TOKEN_EXPIRE_MINUTES = 1440
ALGORITHM=HS256