Some checks failed
Build & Publish Docker Image / build-and-push (push) Failing after 33s
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.
43 lines
995 B
Plaintext
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
|