ファイルは正しい場所に置く #12
This commit is contained in:
parent
c6b78fa0c8
commit
96c4ff2d42
26
Makefile
26
Makefile
|
@ -1,6 +1,18 @@
|
|||
NAME=gitlin
|
||||
VERSION=1.0.0
|
||||
#VERSION=$(cat utils/version.go | grep "var Ver" | awk '{print $4}' | sed "s/\"//g")
|
||||
# Linux、Solaris、Haiku
|
||||
PREFIX=/usr
|
||||
# FreeBSD、OpenBSD
|
||||
#PREFIX=/usr/local
|
||||
# NetBSD
|
||||
#PREFIX=/usr/pkg
|
||||
# Linux、OpenBSD、Solaris、Haiku
|
||||
CNFPREFIX=/etc
|
||||
# FreeBSD
|
||||
#CNFPREFIX=/usr/local/etc
|
||||
# NetBSD
|
||||
#CNFPREFIX=/usr/pkg/etc
|
||||
CC=CGO_ENABLED=0 go build
|
||||
# リリース。なし=デバッグ。
|
||||
RELEASE=-ldflags="-s -w" -buildvcs=false
|
||||
|
@ -19,4 +31,16 @@ dist: clean
|
|||
tar zcfv ${NAME}-${VERSION}.tar.gz ${NAME}-${VERSION}
|
||||
rm -rf ${NAME}-${VERSION}
|
||||
|
||||
.PHONY: all options clean dist
|
||||
install:
|
||||
mkdir -p ${DESTDIR}${PREFIX}/bin
|
||||
cp -f ${NAME} ${DESTDIR}${PREFIX}/bin
|
||||
chmod 755 ${DESTDIR}${PREFIX}/bin/${NAME}
|
||||
mkdir -p ${DESTDIR}${CNFPREFIX}/${NAME}
|
||||
chmod 755 ${DESTDIR}${CNFPREFIX}/${NAME}
|
||||
|
||||
uninstall:
|
||||
rm -f ${DESTDIOR}${PREFIX}/bin/${NAME}\
|
||||
${DESTDIR}${MANPREFIX}/man1/${NAME}.1\
|
||||
${DESTDIR}${CNFPREFIX}/${NAME}
|
||||
|
||||
.PHONY: all options clean dist install uninstall
|
||||
|
|
|
@ -4,9 +4,8 @@ import (
|
|||
"fmt"
|
||||
"os"
|
||||
|
||||
"gitler.moe/suwako/gitlin/utils"
|
||||
"github.com/spf13/cobra"
|
||||
|
||||
_ "github.com/joho/godotenv/autoload"
|
||||
)
|
||||
|
||||
var envCmd = &cobra.Command{
|
||||
|
@ -19,6 +18,7 @@ var envCmd = &cobra.Command{
|
|||
}
|
||||
|
||||
func init() {
|
||||
utils.LoadCnf()
|
||||
rootCmd.AddCommand(envCmd)
|
||||
}
|
||||
|
||||
|
@ -41,4 +41,6 @@ func env() {
|
|||
fmt.Println("ISP/Hosting provider: " + os.Getenv("GITLIN_INSTANCE_PROVIDER"))
|
||||
// Cloudflare status
|
||||
fmt.Println("Cloudflare status: " + os.Getenv("GITLIN_INSTANCE_CLOUDFLARE"))
|
||||
// viewsのルートフォルダ
|
||||
fmt.Println("viewsのルートフォルダ: " + os.Getenv("GITLIN_VIEWS_ROOT"))
|
||||
}
|
||||
|
|
|
@ -3,6 +3,7 @@ package gitlin
|
|||
import (
|
||||
"fmt"
|
||||
"os"
|
||||
"os/user"
|
||||
|
||||
"github.com/spf13/cobra"
|
||||
)
|
||||
|
@ -21,18 +22,22 @@ func init() {
|
|||
}
|
||||
|
||||
type Vars struct {
|
||||
IPLogging bool
|
||||
URLLogging bool
|
||||
UserAgentLogging bool
|
||||
DiagnosticLogging bool
|
||||
PrivacyPolicy string
|
||||
InstanceCountry string
|
||||
InstanceProvider string
|
||||
CloudflareStatus string
|
||||
Proxying string
|
||||
IPLogging, URLLogging, UserAgentLogging, DiagnosticLogging bool
|
||||
PrivacyPolicy, InstanceCountry, InstanceProvider, CloudflareStatus, Proxying, ViewsRoot string
|
||||
}
|
||||
|
||||
func setup() {
|
||||
cur, err := user.Current()
|
||||
if err != nil {
|
||||
fmt.Println("現在のユーザーのUIDを見つけられませんでした。", err)
|
||||
return
|
||||
}
|
||||
|
||||
if cur.Uid != "0" {
|
||||
fmt.Println("rootとして実行して下さい。 sudo gitlin setup 又は doas gitlin setup")
|
||||
return
|
||||
}
|
||||
|
||||
fmt.Println("Gitlin setup wizard")
|
||||
fmt.Println("This wizard will help you setup your Gitlin instance.")
|
||||
|
||||
|
@ -40,7 +45,7 @@ func setup() {
|
|||
vars := Vars{}
|
||||
|
||||
// ask user for information about IP logging
|
||||
fmt.Print("Do you log IP addresses of users? (y/n) ")
|
||||
fmt.Print("Do you log IP addresses of users? (y/N) ")
|
||||
var ipLogging string
|
||||
fmt.Scanln(&ipLogging)
|
||||
if ipLogging == "y" {
|
||||
|
@ -52,7 +57,7 @@ func setup() {
|
|||
}
|
||||
|
||||
// ask user for information about URL request logging
|
||||
fmt.Print("Do you log URL requests of users? (y/n) ")
|
||||
fmt.Print("Do you log URL requests of users? (y/N) ")
|
||||
var urlLogging string
|
||||
fmt.Scanln(&urlLogging)
|
||||
if urlLogging == "y" {
|
||||
|
@ -62,7 +67,7 @@ func setup() {
|
|||
}
|
||||
|
||||
// ask user for information about User-Agent logging
|
||||
fmt.Print("Do you log your users User-Agent? (y/n) ")
|
||||
fmt.Print("Do you log your users User-Agent? (y/N) ")
|
||||
var uaLogging string
|
||||
fmt.Scanln(&uaLogging)
|
||||
if uaLogging == "y" {
|
||||
|
@ -72,7 +77,7 @@ func setup() {
|
|||
}
|
||||
|
||||
// ask user for information about diagnostic information logging
|
||||
fmt.Print("Do you log diagnostic information? (y/n) ")
|
||||
fmt.Print("Do you log diagnostic information? (y/N) ")
|
||||
var diagLogging string
|
||||
fmt.Scanln(&diagLogging)
|
||||
if diagLogging == "y" {
|
||||
|
@ -82,7 +87,7 @@ func setup() {
|
|||
}
|
||||
|
||||
// ask user about privacy policy
|
||||
fmt.Print("Do you have a privacy policy? (y/n) ")
|
||||
fmt.Print("Do you have a privacy policy? (y/N) ")
|
||||
var privacyPolicy string
|
||||
fmt.Scanln(&privacyPolicy)
|
||||
if privacyPolicy == "y" {
|
||||
|
@ -116,7 +121,7 @@ func setup() {
|
|||
}
|
||||
|
||||
// ask user about Cloudflare status
|
||||
fmt.Print("Are you using Cloudflare? (y/n) ")
|
||||
fmt.Print("Are you using Cloudflare? (y/N) ")
|
||||
var cloudflare string
|
||||
fmt.Scanln(&cloudflare)
|
||||
if cloudflare == "y" {
|
||||
|
@ -126,20 +131,27 @@ func setup() {
|
|||
}
|
||||
|
||||
// ask user whether they want proxying enabled
|
||||
fmt.Print("Do you want proxying enabled? (y/n) ")
|
||||
fmt.Print("Do you want proxying enabled? (Y/n) ")
|
||||
var proxying string
|
||||
fmt.Scanln(&proxying)
|
||||
if proxying == "y" {
|
||||
if proxying == "y" || proxying == "" {
|
||||
vars.Proxying = "true"
|
||||
} else {
|
||||
vars.Proxying = "false"
|
||||
}
|
||||
|
||||
// save to .env file
|
||||
fmt.Println("Saving environment variables to .env file...")
|
||||
f, err := os.Create(".env")
|
||||
fmt.Print("viewsのルートフォルダはどちらですか? (デフォルト: /var/www/htdocs/gitlin/views )")
|
||||
var viewdir string
|
||||
fmt.Scanln(&viewdir)
|
||||
if viewdir == "" {
|
||||
vars.ViewsRoot = "/var/www/htdocs/gitlin/views"
|
||||
}
|
||||
|
||||
// save to gitlin.conf file
|
||||
fmt.Println("Saving environment variables to config file...")
|
||||
f, err := os.Create("/etc/gitlin/gitlin.conf")
|
||||
if err != nil {
|
||||
fmt.Println("Error creating .env file: ", err)
|
||||
fmt.Println("Error creating config file: ", err)
|
||||
os.Exit(1)
|
||||
}
|
||||
defer f.Close()
|
||||
|
@ -156,7 +168,8 @@ func setup() {
|
|||
f.WriteString("GITLIN_INSTANCE_COUNTRY=" + vars.InstanceCountry + "\n")
|
||||
f.WriteString("GITLIN_INSTANCE_PROVIDER=" + vars.InstanceProvider + "\n")
|
||||
f.WriteString("GITLIN_INSTANCE_CLOUDFLARE=" + vars.CloudflareStatus + "\n")
|
||||
f.WriteString("GITLIN_PROXYING_ENABLED=" + vars.Proxying)
|
||||
f.WriteString("GITLIN_PROXYING_ENABLED=" + vars.Proxying + "\n")
|
||||
f.WriteString("GITLIN_VIEWS_ROOT=" + vars.ViewsRoot + "\n")
|
||||
|
||||
println("All done! You can now start your Gitlin instance with 'gitlin serve'.")
|
||||
println("You can review the environment variables with 'gitlin env'.")
|
||||
|
|
|
@ -18,12 +18,15 @@ import (
|
|||
// "github.com/gofiber/fiber/v2/middleware/logger"
|
||||
"github.com/gofiber/fiber/v2/middleware/recover"
|
||||
"github.com/gofiber/template/html"
|
||||
|
||||
_ "github.com/joho/godotenv/autoload"
|
||||
)
|
||||
|
||||
func Serve(port string) {
|
||||
engine := html.New("./views", ".html")
|
||||
utils.LoadCnf()
|
||||
viewsroot, ok := os.LookupEnv("GITLIN_VIEWS_ROOT")
|
||||
if !ok {
|
||||
log.Fatal("viewsのルートフォルダがないようです")
|
||||
}
|
||||
engine := html.New(viewsroot, ".html")
|
||||
|
||||
engine.AddFunc(
|
||||
// Add unescape function. This is needed to render HTML from Markdown.
|
||||
|
|
Loading…
Reference in New Issue