aboutsummaryrefslogtreecommitdiff
path: root/main.go
blob: c99a8b8e899303c931f72702d5ad9adc9d589357 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
package main

import (
	"log"
	"net/http"
	"os"

	_ "embed"

	_ "github.com/mattn/go-sqlite3"
)

const (
	ENV_VAR_HTTP_USERNAME = "HTTP_USERNAME"
	ENV_VAR_HTTP_PASSWORD = "HTTP_PASSWORD"
)

func main() {
	if os.Getenv(ENV_VAR_HTTP_USERNAME) == "" || os.Getenv(ENV_VAR_HTTP_PASSWORD) == "" {
		log.Fatalf("http username and password cannot be empty")
	}

	config := &AppConfig{
		HttpUsername:      os.Getenv(ENV_VAR_HTTP_USERNAME),
		HttpPassword:      os.Getenv(ENV_VAR_HTTP_PASSWORD),
		PicturesDirectory: "pictures",
	}
	app, err := NewApp(config)
	if err != nil {
		log.Fatalf("failed to create app: %v\n", err)
	}
	defer app.Close()

	mux := app.Mux()
	if err := http.ListenAndServe("0.0.0.0:8000", mux); err != nil {
		log.Fatalf("http.ListenAndServe failed: %v", err)
	}
}