Simplify Heroku deployment

This commit is contained in:
Frédéric Guillot 2018-04-15 20:27:10 -07:00
parent 45dde0cf4a
commit 0429bbb19d
3 changed files with 28 additions and 0 deletions

View File

@ -20,6 +20,10 @@
# name = "github.com/x/y" # name = "github.com/x/y"
# version = "2.4.0" # version = "2.4.0"
[metadata.heroku]
root-package = "github.com/miniflux/miniflux"
go-version = "go1.10"
ensure = "false"
[[constraint]] [[constraint]]
name = "github.com/PuerkitoBio/goquery" name = "github.com/PuerkitoBio/goquery"

View File

@ -67,5 +67,15 @@ func Parse() {
return return
} }
// Run migrations and start the deamon.
if cfg.RunMigrations() {
store.Migrate()
}
// Create admin user and start the deamon.
if cfg.CreateAdmin() {
createAdmin(store)
}
daemon.Run(cfg, store) daemon.Run(cfg, store)
} }

View File

@ -110,6 +110,10 @@ func (c *Config) DatabaseMaxConnections() int {
// ListenAddr returns the listen address for the HTTP server. // ListenAddr returns the listen address for the HTTP server.
func (c *Config) ListenAddr() string { func (c *Config) ListenAddr() string {
if port := os.Getenv("PORT"); port != "" {
return ":" + port
}
return c.get("LISTEN_ADDR", defaultListenAddr) return c.get("LISTEN_ADDR", defaultListenAddr)
} }
@ -183,6 +187,16 @@ func (c *Config) HasHSTS() bool {
return c.get("DISABLE_HSTS", "") == "" return c.get("DISABLE_HSTS", "") == ""
} }
// RunMigrations returns true if the environment variable RUN_MIGRATIONS is not empty.
func (c *Config) RunMigrations() bool {
return c.get("RUN_MIGRATIONS", "") != ""
}
// CreateAdmin returns true if the environment variable CREATE_ADMIN is not empty.
func (c *Config) CreateAdmin() bool {
return c.get("CREATE_ADMIN", "") != ""
}
// NewConfig returns a new Config. // NewConfig returns a new Config.
func NewConfig() *Config { func NewConfig() *Config {
return &Config{IsHTTPS: os.Getenv("HTTPS") != ""} return &Config{IsHTTPS: os.Getenv("HTTPS") != ""}