Initial commit
This commit is contained in:
65
backend/main.go
Normal file
65
backend/main.go
Normal file
@@ -0,0 +1,65 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"flag"
|
||||
"os"
|
||||
|
||||
"github.com/rs/zerolog"
|
||||
"github.com/rs/zerolog/log"
|
||||
|
||||
"codeberg.org/pluja/whishper/api"
|
||||
"codeberg.org/pluja/whishper/database"
|
||||
"codeberg.org/pluja/whishper/monitor"
|
||||
)
|
||||
|
||||
func main() {
|
||||
// Logging
|
||||
log.Logger = log.Output(zerolog.ConsoleWriter{Out: os.Stderr})
|
||||
zerolog.SetGlobalLevel(zerolog.InfoLevel)
|
||||
|
||||
listenAddr := flag.String("addr", ":8080", "server listen address")
|
||||
uploadDir := flag.String("updir", "/app/uploads", "upload directory")
|
||||
asrEndpoint := flag.String("asr", "transcription-api:8000", "asr endpoint, i.e. localhost:9888")
|
||||
dbHost := flag.String("db", "mongo:27017", "database endpoint host, i.e. localhost:27017")
|
||||
translationEndpoint := flag.String("translation", "translate:5000", "translation endpoint, i.e. localhost:5000")
|
||||
dev := flag.Bool("dev", false, "development mode")
|
||||
flag.Parse()
|
||||
|
||||
// Set environment variables
|
||||
if os.Getenv("UPLOAD_DIR") == "" {
|
||||
os.Setenv("UPLOAD_DIR", *uploadDir)
|
||||
}
|
||||
if os.Getenv("ASR_ENDPOINT") == "" {
|
||||
os.Setenv("ASR_ENDPOINT", *asrEndpoint)
|
||||
}
|
||||
if os.Getenv("TRANSLATION_ENDPOINT") == "" {
|
||||
os.Setenv("TRANSLATION_ENDPOINT", *translationEndpoint)
|
||||
}
|
||||
if os.Getenv("DB_ENDPOINT") == "" {
|
||||
os.Setenv("DB_ENDPOINT", *dbHost)
|
||||
}
|
||||
|
||||
// Configure dev mode
|
||||
if *dev {
|
||||
log.Logger = log.Output(
|
||||
zerolog.ConsoleWriter{
|
||||
Out: os.Stdout,
|
||||
TimeFormat: "15:04:05",
|
||||
},
|
||||
).With().Caller().Logger()
|
||||
zerolog.SetGlobalLevel(zerolog.DebugLevel)
|
||||
}
|
||||
|
||||
log.Debug().Msg("DEV MODE IS ON")
|
||||
log.Debug().Msgf("ListenAddr: %v", *listenAddr)
|
||||
log.Debug().Msgf("UploadDir: %v", *uploadDir)
|
||||
log.Debug().Msgf("AsrEndpoint: %v", *asrEndpoint)
|
||||
log.Debug().Msgf("TranslationEndpoint: %v", *translationEndpoint)
|
||||
log.Debug().Msgf("DbHost: %v", *dbHost)
|
||||
|
||||
dabs := database.NewMongoDb()
|
||||
server := api.NewServer(*listenAddr, dabs)
|
||||
go monitor.StartMonitor(server)
|
||||
server.NewTranscriptionCh <- true
|
||||
server.Run()
|
||||
}
|
||||
Reference in New Issue
Block a user