mirror of
https://github.com/TracksApp/tracks.git
synced 2025-12-16 23:30:12 +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
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"flag"
|
||||||
"fmt"
|
"fmt"
|
||||||
"log"
|
"log"
|
||||||
|
|
||||||
|
|
@ -13,12 +14,33 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
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
|
// Load configuration
|
||||||
cfg, err := config.Load()
|
cfg, err := config.Load()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatal("Failed to load configuration:", err)
|
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
|
// Initialize database
|
||||||
if err := database.Initialize(&cfg.Database); err != nil {
|
if err := database.Initialize(&cfg.Database); err != nil {
|
||||||
log.Fatal("Failed to initialize database:", err)
|
log.Fatal("Failed to initialize database:", err)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue