mirror of
https://github.com/TracksApp/tracks.git
synced 2025-12-16 15:20:13 +01:00
Add CLI flags for port, host, and database configuration
- Added --port flag to override SERVER_PORT - Added --host flag to override SERVER_HOST - Added --db flag to override DB_DRIVER - Added --db-name flag to override DB_NAME CLI flags take precedence over environment variables for easier deployment without Docker.
This commit is contained in:
parent
9b0428638c
commit
4aaa889634
1 changed files with 22 additions and 0 deletions
|
|
@ -1,6 +1,7 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"flag"
|
||||
"fmt"
|
||||
"log"
|
||||
|
||||
|
|
@ -13,12 +14,33 @@ import (
|
|||
)
|
||||
|
||||
func main() {
|
||||
// Parse command line flags
|
||||
port := flag.Int("port", 0, "Port to run the server on (overrides SERVER_PORT env var)")
|
||||
host := flag.String("host", "", "Host to bind to (overrides SERVER_HOST env var)")
|
||||
dbDriver := flag.String("db", "", "Database driver: sqlite, mysql, or postgres (overrides DB_DRIVER)")
|
||||
dbName := flag.String("db-name", "", "Database name or path (overrides DB_NAME)")
|
||||
flag.Parse()
|
||||
|
||||
// Load configuration
|
||||
cfg, err := config.Load()
|
||||
if err != nil {
|
||||
log.Fatal("Failed to load configuration:", err)
|
||||
}
|
||||
|
||||
// Override config with CLI flags if provided
|
||||
if *port != 0 {
|
||||
cfg.Server.Port = *port
|
||||
}
|
||||
if *host != "" {
|
||||
cfg.Server.Host = *host
|
||||
}
|
||||
if *dbDriver != "" {
|
||||
cfg.Database.Driver = *dbDriver
|
||||
}
|
||||
if *dbName != "" {
|
||||
cfg.Database.Name = *dbName
|
||||
}
|
||||
|
||||
// Initialize database
|
||||
if err := database.Initialize(&cfg.Database); err != nil {
|
||||
log.Fatal("Failed to initialize database:", err)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue