wireguard.go 768 B

1234567891011121314151617181920212223242526272829303132
  1. package docker
  2. import (
  3. "fmt"
  4. "goseg/config"
  5. "os"
  6. "path/filepath"
  7. )
  8. func LoadWireguard() error {
  9. logger.Info("Loading Startram Wireguard container")
  10. confPath := filepath.Join(config.BasePath, "settings", "wireguard.json")
  11. _, err := os.Open(confPath)
  12. if err != nil {
  13. // create a default if it doesn't exist
  14. err = config.CreateDefaultWGConf()
  15. if err != nil {
  16. // error if we can't create it
  17. errmsg := fmt.Sprintf("Unable to create WG config! %v", err)
  18. logger.Error(errmsg)
  19. panic(errmsg)
  20. }
  21. }
  22. logger.Info("Running Wireguard")
  23. info, err := StartContainer("wireguard", "wireguard")
  24. if err != nil {
  25. logger.Error(fmt.Sprintf("Error starting wireguard: %v", err))
  26. return err
  27. }
  28. config.UpdateContainerState("wireguard", info)
  29. return nil
  30. }