fix: --local/--provision works
This commit is contained in:
parent
9f3ab0de9e
commit
9a513a0700
|
@ -135,17 +135,19 @@ func newLocalServer(c *cli.Context, domainName string) error {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
if _, err := exec.LookPath("docker"); err != nil {
|
if provision {
|
||||||
if provision {
|
if _, err := exec.LookPath("docker"); err != nil {
|
||||||
if err := installDockerLocal(c); err != nil {
|
if err := installDockerLocal(c); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
if err := initSwarm(c, cl, domainName); err != nil {
|
}
|
||||||
|
if err := initSwarmLocal(c, cl, domainName); err != nil {
|
||||||
|
if !strings.Contains(err.Error(), "proxy already exists") {
|
||||||
logrus.Fatal(err)
|
logrus.Fatal(err)
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
logrus.Warn("no docker installation found, use '-p' to provision")
|
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
logrus.Warn("no docker installation found, use '-p' to provision")
|
||||||
}
|
}
|
||||||
|
|
||||||
if traefik {
|
if traefik {
|
||||||
|
@ -241,6 +243,28 @@ func installDocker(c *cli.Context, cl *dockerClient.Client, sshCl *simplessh.Cli
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func initSwarmLocal(c *cli.Context, cl *dockerClient.Client, domainName string) error {
|
||||||
|
initReq := swarm.InitRequest{ListenAddr: "0.0.0.0:2377"}
|
||||||
|
if _, err := cl.SwarmInit(c.Context, initReq); err != nil {
|
||||||
|
if !strings.Contains(err.Error(), "is already part of a swarm") {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
logrus.Infof("initialised swarm mode on local server")
|
||||||
|
|
||||||
|
netOpts := types.NetworkCreate{Driver: "overlay", Scope: "swarm"}
|
||||||
|
if _, err := cl.NetworkCreate(c.Context, "proxy", netOpts); err != nil {
|
||||||
|
if !strings.Contains(err.Error(), "is already part of a swarm") {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
logrus.Infof("swarm overlay network created on local server")
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
func initSwarm(c *cli.Context, cl *dockerClient.Client, domainName string) error {
|
func initSwarm(c *cli.Context, cl *dockerClient.Client, domainName string) error {
|
||||||
// comrade librehosters DNS resolver -> https://www.privacy-handbuch.de/handbuch_93d.htm
|
// comrade librehosters DNS resolver -> https://www.privacy-handbuch.de/handbuch_93d.htm
|
||||||
freifunkDNS := "5.1.66.255:53"
|
freifunkDNS := "5.1.66.255:53"
|
||||||
|
@ -283,7 +307,9 @@ func initSwarm(c *cli.Context, cl *dockerClient.Client, domainName string) error
|
||||||
|
|
||||||
netOpts := types.NetworkCreate{Driver: "overlay", Scope: "swarm"}
|
netOpts := types.NetworkCreate{Driver: "overlay", Scope: "swarm"}
|
||||||
if _, err := cl.NetworkCreate(c.Context, "proxy", netOpts); err != nil {
|
if _, err := cl.NetworkCreate(c.Context, "proxy", netOpts); err != nil {
|
||||||
return err
|
if !strings.Contains(err.Error(), "is already part of a swarm") {
|
||||||
|
return err
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
logrus.Infof("swarm overlay network created on %s", domainName)
|
logrus.Infof("swarm overlay network created on %s", domainName)
|
||||||
|
|
Loading…
Reference in New Issue