mirror of
				https://github.com/owncast/owncast.git
				synced 2025-10-31 10:08:10 +08:00 
			
		
		
		
	 19e86b8c04
			
		
	
	19e86b8c04
	
	
	
		
			
			* First pass at centralized database reference. Closes #282 * Add verbose logging option to launch.json * Clear current broadcaster on stream end. Closes #285 * Fix typo in verbose launch args * Add support for purging tailwind styles. For #224 * Don't need to pass db as param since it is stored * Commit updated Javascript packages Co-authored-by: Owncast <owncast@owncast.online>
		
			
				
	
	
		
			87 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			87 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| package main
 | |
| 
 | |
| import (
 | |
| 	"flag"
 | |
| 	"fmt"
 | |
| 
 | |
| 	"github.com/sirupsen/logrus"
 | |
| 	log "github.com/sirupsen/logrus"
 | |
| 
 | |
| 	"github.com/owncast/owncast/config"
 | |
| 	"github.com/owncast/owncast/core"
 | |
| 	"github.com/owncast/owncast/core/data"
 | |
| 	"github.com/owncast/owncast/metrics"
 | |
| 	"github.com/owncast/owncast/router"
 | |
| )
 | |
| 
 | |
| // the following are injected at build-time
 | |
| var (
 | |
| 	//GitCommit is the commit which this version of owncast is running
 | |
| 	GitCommit = "unknown"
 | |
| 	//BuildVersion is the version
 | |
| 	BuildVersion = "0.0.0"
 | |
| 	//BuildType is the type of build
 | |
| 	BuildType = "localdev"
 | |
| )
 | |
| 
 | |
| func main() {
 | |
| 	configureLogging()
 | |
| 
 | |
| 	log.Infoln(getVersion())
 | |
| 
 | |
| 	configFile := flag.String("configFile", "config.yaml", "Config File full path. Defaults to current folder")
 | |
| 	dbFile := flag.String("database", "", "Path to the database file.")
 | |
| 	enableDebugOptions := flag.Bool("enableDebugFeatures", false, "Enable additional debugging options.")
 | |
| 	enableVerboseLogging := flag.Bool("enableVerboseLogging", false, "Enable additional logging.")
 | |
| 
 | |
| 	flag.Parse()
 | |
| 
 | |
| 	if *enableDebugOptions {
 | |
| 		logrus.SetReportCaller(true)
 | |
| 	}
 | |
| 
 | |
| 	if *enableVerboseLogging {
 | |
| 		log.SetLevel(log.TraceLevel)
 | |
| 	} else {
 | |
| 		log.SetLevel(log.InfoLevel)
 | |
| 	}
 | |
| 
 | |
| 	if err := config.Load(*configFile, getVersion()); err != nil {
 | |
| 		panic(err)
 | |
| 	}
 | |
| 	config.Config.EnableDebugFeatures = *enableDebugOptions
 | |
| 
 | |
| 	if *dbFile != "" {
 | |
| 		config.Config.DatabaseFilePath = *dbFile
 | |
| 	} else if config.Config.DatabaseFilePath == "" {
 | |
| 		config.Config.DatabaseFilePath = config.Config.GetDataFilePath()
 | |
| 	}
 | |
| 
 | |
| 	go metrics.Start()
 | |
| 
 | |
| 	data.SetupPersistence()
 | |
| 
 | |
| 	// starts the core
 | |
| 	if err := core.Start(); err != nil {
 | |
| 		log.Error("failed to start the core package")
 | |
| 		panic(err)
 | |
| 	}
 | |
| 
 | |
| 	if err := router.Start(); err != nil {
 | |
| 		log.Error("failed to start/run the router")
 | |
| 		panic(err)
 | |
| 	}
 | |
| 
 | |
| }
 | |
| 
 | |
| //getVersion gets the version string
 | |
| func getVersion() string {
 | |
| 	return fmt.Sprintf("Owncast v%s-%s (%s)", BuildVersion, BuildType, GitCommit)
 | |
| }
 | |
| 
 | |
| func configureLogging() {
 | |
| 	log.SetFormatter(&log.TextFormatter{
 | |
| 		FullTimestamp: true,
 | |
| 	})
 | |
| }
 |