Add support for specifying the path for chat db. Closes #61

This commit is contained in:
Gabe Kangas 2020-07-15 17:20:47 -07:00
parent 26e4092295
commit a8fe8a1cfa
4 changed files with 26 additions and 15 deletions

View File

@ -15,18 +15,19 @@ import (
var Config *config
type config struct {
IPFS ipfs `yaml:"ipfs"`
PublicHLSPath string `yaml:"publicHLSPath"`
PrivateHLSPath string `yaml:"privateHLSPath"`
VideoSettings videoSettings `yaml:"videoSettings"`
Files files `yaml:"files"`
FFMpegPath string `yaml:"ffmpegPath"`
WebServerPort int `yaml:"webServerPort"`
S3 s3 `yaml:"s3"`
InstanceDetails InstanceDetails `yaml:"instanceDetails"`
VersionInfo string `yaml:"-"`
DisableWebFeatures bool `yaml:"disableWebFeatures"`
EnableDebugFeatures bool `yaml:"-"`
ChatDatabaseFilePath string `yaml:"chatDatabaseFile"`
DisableWebFeatures bool `yaml:"disableWebFeatures"`
EnableDebugFeatures bool `yaml:"-"`
FFMpegPath string `yaml:"ffmpegPath"`
Files files `yaml:"files"`
IPFS ipfs `yaml:"ipfs"`
InstanceDetails InstanceDetails `yaml:"instanceDetails"`
PrivateHLSPath string `yaml:"privateHLSPath"`
PublicHLSPath string `yaml:"publicHLSPath"`
S3 s3 `yaml:"s3"`
VersionInfo string `yaml:"-"`
VideoSettings videoSettings `yaml:"videoSettings"`
WebServerPort int `yaml:"webServerPort"`
}
// InstanceDetails defines the user-visible information about this particular instance.

View File

@ -9,6 +9,8 @@ import (
//Setup sets up the chat server
func Setup(listener models.ChatListener) {
setupPersistence()
messages := []models.ChatMessage{}
clients := make(map[string]*Client)
addCh := make(chan *Client)

View File

@ -5,6 +5,7 @@ import (
"os"
"time"
"github.com/gabek/owncast/config"
"github.com/gabek/owncast/models"
"github.com/gabek/owncast/utils"
_ "github.com/mattn/go-sqlite3"
@ -13,11 +14,11 @@ import (
var _db *sql.DB
func init() {
file := "./chat.db"
func setupPersistence() {
file := config.Config.ChatDatabaseFilePath
// Create empty DB file if it doesn't exist.
if !utils.DoesFileExists(file) {
log.Traceln("Creating new chat history database...")
log.Traceln("Creating new chat history database at", file)
_, err := os.Create(file)
if err != nil {

View File

@ -28,6 +28,7 @@ func main() {
log.Infoln(getVersion())
configFile := flag.String("configFile", "config.yaml", "Config File full path. Defaults to current folder")
chatDbFile := flag.String("chatDatabase", "", "Path to the chat database file.")
enableDebugOptions := flag.Bool("enableDebugFeatures", false, "Enable additional debugging options.")
enableVerboseLogging := flag.Bool("enableVerboseLogging", false, "Enable additional logging.")
@ -48,6 +49,12 @@ func main() {
}
config.Config.EnableDebugFeatures = *enableDebugOptions
if *chatDbFile != "" {
config.Config.ChatDatabaseFilePath = *chatDbFile
} else if config.Config.ChatDatabaseFilePath == "" {
config.Config.ChatDatabaseFilePath = "chat.db"
}
// starts the core
if err := core.Start(); err != nil {
log.Error("failed to start the core package")