Netmaker makes networks with WireGuard. Netmaker automates fast, secure, and distributed virtual networks.
Find a file
Abhishek K 20493c5350
Release v1.0.0 (#3567)
* increase offline auto delete node time

* fix egress HA migration (#3555)

* check for node connectivity status

* NM-20: Add more refined event logs. (#3552)

* feat(go): add more refined event logs;

* feat(go): add more refined event logs;

* feat(go): add an api to validate user identity.

* feat(go): move validate-user-identity under user;

* fix(go): prevent disabling basic auth if deployed by operator; (#3561)

* NM-38: User Config Fixes (#3559)

* Build(deps): bump gorm.io/datatypes from 1.2.5 to 1.2.6

Bumps [gorm.io/datatypes](https://github.com/go-gorm/datatypes) from 1.2.5 to 1.2.6.
- [Release notes](https://github.com/go-gorm/datatypes/releases)
- [Commits](https://github.com/go-gorm/datatypes/compare/v1.2.5...v1.2.6)

---
updated-dependencies:
- dependency-name: gorm.io/datatypes
  dependency-version: 1.2.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* Build(deps): bump google.golang.org/api from 0.238.0 to 0.240.0 (#3541)

Bumps [google.golang.org/api](https://github.com/googleapis/google-api-go-client) from 0.238.0 to 0.240.0.
- [Release notes](https://github.com/googleapis/google-api-go-client/releases)
- [Changelog](https://github.com/googleapis/google-api-go-client/blob/main/CHANGES.md)
- [Commits](https://github.com/googleapis/google-api-go-client/compare/v0.238.0...v0.240.0)

---
updated-dependencies:
- dependency-name: google.golang.org/api
  dependency-version: 0.240.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Build(deps): bump github.com/go-playground/validator/v10 (#3539)

Bumps [github.com/go-playground/validator/v10](https://github.com/go-playground/validator) from 10.26.0 to 10.27.0.
- [Release notes](https://github.com/go-playground/validator/releases)
- [Commits](https://github.com/go-playground/validator/compare/v10.26.0...v10.27.0)

---
updated-dependencies:
- dependency-name: github.com/go-playground/validator/v10
  dependency-version: 10.27.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix(go): prevent idp user from being deleted; (#3538)

* fix(go): use correct method for pro;

fixes: User Config nodes are always reported online.

* fix(go): add device id to extclient;

* fix(go): try match device id;

* fix(go): set device id if not set;

* feat(go): return best match offline extclient;

* fix(go): match device id with owner and gateway;

* fix(go): remove check for rac id;

* fix(go): check status on get node status;

* fix(go): allow offline or unknown extclient;

* feat(go): add count db method;

* feat(go): revert change;

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Abhishek K <abhi281342@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Revert "NM-38: User Config Fixes (#3559)" (#3562)

This reverts commit 9d65c62860.

* fix(go): usage report; (#3563)

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Vishal Dalwadi <51291657+VishalDalwadi@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-28 18:11:55 +05:30
.github v1.0.0 release notes (#3530) 2025-06-26 11:35:35 +05:30
auth sync changes on startup, add create relay calls on defaul host 2025-06-23 06:28:43 +05:30
cli remove duplicate cli table pkg 2025-06-24 07:11:46 +05:30
compose v1.0.0 release notes (#3530) 2025-06-26 11:35:35 +05:30
config Merge pull request #3504 from gravitl/depracate-rac-autodisable 2025-06-24 23:43:44 +05:30
controllers Revert "NM-38: User Config Fixes (#3559)" (#3562) 2025-07-24 23:07:25 +05:30
database feat(go): skip setting open connections; 2025-06-10 15:26:42 +05:30
db feat(go): use the same schema; 2025-06-10 10:18:30 +05:30
docker Simplify and unify apk usage in Dockerfiles (#3407) 2025-04-30 02:55:34 +04:00
docs fix: update documentation links to new docs (#3156) 2024-10-17 14:35:36 +04:00
functions fix(go): workflow errors fixes; 2025-06-06 15:42:30 +05:30
k8s v1.0.0 release notes (#3530) 2025-06-26 11:35:35 +05:30
logger ee license check 2023-04-12 10:45:06 -04:00
logic fix(go): usage report; (#3563) 2025-07-25 11:08:05 +05:30
migrate fix egress HA migration (#3555) 2025-07-18 12:33:21 +05:30
models Revert "NM-38: User Config Fixes (#3559)" (#3562) 2025-07-24 23:07:25 +05:30
mq set location if empty on checkin 2025-07-04 00:43:08 +05:30
netclient/ncutils load all nodes into cache 2024-11-27 14:56:24 +04:00
nginx
pro Revert "NM-38: User Config Fixes (#3559)" (#3562) 2025-07-24 23:07:25 +05:30
schema Revert "NM-38: User Config Fixes (#3559)" (#3562) 2025-07-24 23:07:25 +05:30
scripts update version tag on install script 2025-06-26 12:48:10 +05:30
servercfg fix(go): prevent disabling basic auth if deployed by operator; (#3561) 2025-07-24 11:57:53 +05:30
serverctl NET-1933: option to force destroy network (#3311) 2025-02-03 15:19:44 +04:00
test
tls
utils fix: update extclient ingress endpoint/port with host changes 2025-06-20 11:21:28 +00:00
validation
.dockerignore NET-163: Return 403 instead of 401 (#2326) 2023-05-25 09:40:39 -04:00
.fpm
.gitignore NET-1996: Add Support for TOTP Authentication. (#3517) 2025-06-26 08:29:13 +05:30
.goreleaser.prerelease.yaml Net 792 remove freebsd (#2735) 2024-01-16 20:19:08 +05:30
.goreleaser.update.yaml cleanup 2023-02-25 08:03:16 -05:00
.goreleaser.yaml Net 792 remove freebsd (#2735) 2024-01-16 20:19:08 +05:30
.swaggo add format int64 for swagger doc (#3247) 2024-12-12 09:52:52 +04:00
CONTRIBUTING.md
dev.yaml remove grpc parameters 2023-02-20 09:09:26 -07:00
Dockerfile Bump alpine from 3.21.3 to 3.22.0 2025-06-02 23:57:40 +00:00
Dockerfile-quick Bump alpine from 3.21.3 to 3.22.0 2025-06-02 23:57:40 +00:00
go.mod Revert "NM-38: User Config Fixes (#3559)" (#3562) 2025-07-24 23:07:25 +05:30
go.sum Revert "NM-38: User Config Fixes (#3559)" (#3562) 2025-07-24 23:07:25 +05:30
LICENSE.md Change License To Apache (#2597) 2023-09-21 08:26:11 -04:00
main.go v1.0.0 release notes (#3530) 2025-06-26 11:35:35 +05:30
main_ee.go NET-1778: scale test code changes (#3203) 2024-12-10 10:15:31 +04:00
README.md v1.0.0 release notes (#3530) 2025-06-26 11:35:35 +05:30
release.md v1.0.0 release notes (#3530) 2025-06-26 11:35:35 +05:30
SECURITY.md
swagger.yaml v1.0.0 release notes (#3530) 2025-06-26 11:35:35 +05:30

ROSS Index - Fastest Growing Open-Source Startups | Runa Capital Y-Combinator

WireGuard® automation from homelab to enterprise

Create Manage Automate
✔️ WireGuard Networks ✔️ Admin UI ✔️ Linux
✔️ Remote Access Gateways ✔️ OAuth ✔️ Docker
✔️ Mesh VPNs ✔️ Private DNS ✔️ Mac
✔️ Site-to-Site ✔️ Access Control Lists ✔️ Windows

Try Netmaker SaaS

If you're looking for a managed service, you can get started with just a few clicks, visit netmaker.io to create your netmaker server.

Self-Hosted Open Source Quick Start

These are the instructions for deploying a Netmaker server on your cloud VM as quickly as possible. For more detailed instructions, visit the Install Docs.

  1. Get a cloud VM with Ubuntu 24.04 and a static public IP.
  2. Allow inbound traffic on port 443,51821 TCP and UDP to the VM firewall in cloud security settings, and for simplicity, allow outbound on All TCP and All UDP.
  3. (recommended) Prepare DNS - Set a wildcard subdomain in your DNS settings for Netmaker, e.g. *.netmaker.example.com, which points to your VM's public IP.
  4. Run the script to setup open source version of Netmaker:

sudo wget -qO /root/nm-quick.sh https://raw.githubusercontent.com/gravitl/netmaker/master/scripts/nm-quick.sh && sudo chmod +x /root/nm-quick.sh && sudo /root/nm-quick.sh

To Install Self-Hosted PRO Version - https://docs.netmaker.io/docs/server-installation/netmaker-professional-setup

After installing Netmaker, check out the Walkthrough and Getting Started guides to learn more about configuring networks. Or, check out some of our other Tutorials for different use cases, including Kubernetes.

Get Support

Why Netmaker + WireGuard?

  • Netmaker automates virtual networks between data centres, clouds, and edge devices, so you don't have to.

  • Kernel WireGuard offers maximum speed, performance, and security.

  • Netmaker is built to scale from small businesses to enterprises.

  • Netmaker with WireGuard can be highly customized for peer-to-peer, site-to-site, Kubernetes, and more.

Community Projects

Disclaimer

WireGuard is a registered trademark of Jason A. Donenfeld.

License

Netmaker's source code and all artifacts in this repository are freely available. All content that resides under the "pro/" directory of this repository, if that directory exists, is licensed under the license defined in "pro/LICENSE". All third party components incorporated into the Netmaker Software are licensed under the original license provided by the owner of the applicable component. Content outside of the above mentioned directories or restrictions above is available under the "Apache Version 2.0" license as defined below. All details for the licenses used can be found here: LICENSE.md.