Something went wrong. Try again.
Lightweight and easily self-hostable Git forge.
Something went wrong. Try again.
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556package main
import ( "flag" "fmt" "log" "net/http" "os" "time"
"farga/app" "farga/config" "farga/db" "farga/db/types" "farga/ssh")
func main() { config := config.New() d, err := db.New() if err != nil { panic(err) }
newAdmin := flag.Bool("new-admin", false, "Create an invite which will set the user as Admin on registration.") flag.Parse()
if *newAdmin { invite, err := d.NewInvite(db.NewInviteOptions{ Length: config.InviteTokenLength, Duration: time.Hour, Role: uint(types.RoleAdmin), })
if err != nil { log.Fatal(err) }
fmt.Printf("Your ADMIN invite token is: '%s'. DO NOT SHARE IT.\n", invite.Token) os.Exit(0) }
fmt.Println(config.PublicUrl)
app := app.New(d, config)
go d.CleanupTicker() go ssh.ServeSSH(d, config.SSHPort)
fmt.Printf("Serving website on http://%s:%v\n", config.Domain, config.Port) err = http.ListenAndServe(fmt.Sprintf(":%v", config.Port), app.Handler) if err != nil { panic(err) }}