Configuration
Pruvon uses a YAML configuration file. In production the default path is /etc/pruvon.yml.
Start from the example file:
cp pruvon.yml.example pruvon.yml
go run ./cmd/app -server -config pruvon.ymlAfter changing /etc/pruvon.yml on an installed system, restart the service:
sudo systemctl restart pruvonExample Configuration
admin:
username: admin
password: "$2a$10$Pm8hoUAYMIgL9PWb..KzOeveml0.48arbqds4Qr.r7B38IjJjPQNa"
github:
client_id: ""
client_secret: ""
users: []
pruvon:
listen: 127.0.0.1:8080
dokku: {}
server: null
backup:
backup_dir: "/var/lib/dokku/data/pruvon-backup"
do_weekly: 0
do_monthly: 1
db_types:
- "postgres"
- "mariadb"
- "mongo"
- "redis"
keep_daily_days: 7
keep_weekly_num: 6
keep_monthly_num: 3Admin Credentials
admin.username is the local login name.
admin.password must be a bcrypt hash, not a plain-text password. Replace the example value before real use.
Example hash generation with htpasswd:
htpasswd -bnBC 10 "" "replace-this-password" | tr -d ':\n'GitHub Authentication
If you want GitHub login, set these values:
github:
client_id: "your-github-oauth-client-id"
client_secret: "your-github-oauth-client-secret"
users:
- "alice"
- "bob"Only the GitHub usernames listed in github.users are allowed to log in.
Listen Address
Recommended default:
pruvon:
listen: 127.0.0.1:8080Bind to localhost and put Pruvon behind a private-access proxy or VPN. Do not bind directly to a public interface unless you fully understand the risk and have additional network controls in place.
Backup Settings
Example with weekly and monthly retention:
backup:
backup_dir: "/var/lib/dokku/data/pruvon-backup"
do_weekly: 1
do_monthly: 1
db_types:
- "postgres"
- "redis"
keep_daily_days: 7
keep_weekly_num: 8
keep_monthly_num: 6Notes:
backup_dirshould remain on persistent storagedb_typescontrols which Dokku service types are includeddo_weeklyanddo_monthlyenable additional backup schedules- retention fields control how many old backups are kept
Minimal Production Example
admin:
username: admin
password: "$2a$10$replace-with-your-own-bcrypt-hash"
github:
client_id: ""
client_secret: ""
users: []
pruvon:
listen: 127.0.0.1:8080
dokku: {}
server: null
backup:
backup_dir: "/var/lib/dokku/data/pruvon-backup"
do_weekly: 0
do_monthly: 1
db_types:
- "postgres"
- "mariadb"
- "mongo"
- "redis"
keep_daily_days: 7
keep_weekly_num: 6
keep_monthly_num: 3Read Security before making the UI reachable from anywhere except localhost.