1diff --git a/build.yml b/build.yml
2index efb5f500acbd0739e86b6f21755bfb68147d821b..4917a59cebb6d07848cca85956588dcd98d7b6d9 100644
3--- a/build.yml
4+++ b/build.yml
5@@ -13,13 +13,14 @@
6 environment:
7 deploy: builds@gabrielgio.me
8 target: artifacts.gabrielgio.me/midr/
9+ version: v0.1.1
10
11 tasks:
12 - archive: |
13 cd midr
14 git archive \
15- -o midr-v0.1.0.tar.gz \
16- --prefix=midr-v0.1.0/ HEAD
17+ -o midr-$version.tar.gz \
18+ --prefix=midr-$version/ HEAD
19
20 - deploy: |
21 cd midr
22diff --git a/db/db.go b/db/db.go
23index 948f154b5d8ccc83966dd02adfe3ea8b0cba6426..4728aa71622267539f0dea931707c969a3796338 100644
24--- a/db/db.go
25+++ b/db/db.go
26@@ -1,6 +1,8 @@
27 package db
28
29 import (
30+ "path"
31+
32 "gorm.io/driver/sqlite"
33 "gorm.io/gorm"
34 )
35@@ -10,8 +12,10 @@ DB *gorm.DB
36 err error
37 )
38
39-func ConnectDb() {
40- DB, err = gorm.Open(sqlite.Open("main.db"), &gorm.Config{})
41+func ConnectDb(folder string) {
42+ dbPath := path.Join(folder, "main.db")
43+
44+ DB, err = gorm.Open(sqlite.Open(dbPath), &gorm.Config{})
45
46 if err != nil {
47 panic("failed to connect to the database.")
48diff --git a/main.go b/main.go
49index c763c5adbc4fc791c9bb06c86accc53feb37b4d9..247d75166f18df357e0f099c73d4d6907e82879c 100644
50--- a/main.go
51+++ b/main.go
52@@ -2,19 +2,30 @@ package main
53
54 import (
55 "embed"
56+ "flag"
57 "fmt"
58
59 "git.sr.ht/~gabrielgio/midr/db"
60 "git.sr.ht/~gabrielgio/midr/routes"
61+ "github.com/gin-gonic/gin"
62 )
63
64 var Version = "development"
65+var dataDir = flag.String("d", ".", "Folder where midr will store the data")
66+var production = flag.Bool("p", false, "Set production")
67
68 //go:embed assets/* templates/*
69 var f embed.FS
70
71 func main() {
72+ flag.Parse()
73 fmt.Println("Version:\t", Version)
74- db.ConnectDb()
75+ fmt.Println("Datadir:\t", *dataDir)
76+
77+ if *production {
78+ gin.SetMode(gin.ReleaseMode)
79+ }
80+
81+ db.ConnectDb(*dataDir)
82 routes.HandleRequests(f)
83 }