Files
api-golang/.env.example
Flavio Fois fa1f65baf7
Some checks failed
Build & Publish Docker Image / build-and-push (push) Failing after 33s
add support for SQLite as an alternative database backend
Implement SQLite support using the pure Go `modernc.org/sqlite` driver and update the migration system to handle driver-specific schemas. Users can now choose between MySQL and SQLite by setting the `DB_DRIVER` environment variable.
2026-03-29 17:46:27 +02:00

43 lines
995 B
Plaintext

# Server Settings
PORT=8080
# Infrastruttura Docker (Traefik + MySQL)
API_DOMAIN=api.esempio.com
ACME_EMAIL=tua@email.com
MYSQL_ROOT_PASSWORD=password-sicura
# DB Settings
# DB_DRIVER: "mysql" (default) o "sqlite"
DB_DRIVER=mysql
# MySQL
DB_DSN=root:secret@tcp(127.0.0.1:3306)/emly?parseTime=true&loc=UTC
DB_MAX_OPEN_CONNS=25
DB_MAX_IDLE_CONNS=5
DB_CONN_MAX_LIFETIME=5
DATABASE_NAME=emly
# SQLite (usare invece di MySQL: DB_DRIVER=sqlite, DB_DSN=./data.db, DATABASE_NAME non necessario)
# DB_DSN=./data.db
# API Keys
API_KEY=key-one
ADMIN_KEY=admin-key-one
# Rate Limiting — Traefik edge (condiviso tra repliche)
TRAEFIK_RL_AVERAGE=30
TRAEFIK_RL_BURST=10
TRAEFIK_RL_PERIOD=1m
# Rate Limiting — App (unauthenticated: no X-API-Key / X-Admin-Key)
RL_UNAUTH_MAX_REQS=10
RL_UNAUTH_WINDOW=5m
RL_UNAUTH_MAX_FAILS=5
RL_UNAUTH_BAN_DUR=15m
# Rate Limiting — App (authenticated: X-API-Key or X-Admin-Key present)
RL_AUTH_MAX_REQS=100
RL_AUTH_WINDOW=1m
RL_AUTH_MAX_FAILS=20
RL_AUTH_BAN_DUR=5m