How to install Waypoint server on a VPS and have it running at all times

I’d like to install the Waypoint Server on a VPS in Azure. I need it to:

  • always stay up, and have the web UI accessible, password-protected for me and our devops to access
  • have me and devops connect to the Waypoint Server through our locally-intsalled Waypoint cli client
  • have the Waypoint Server hosted at Azure act as a container registry; or at least not require any 3rd party registry to have the build/deploy/release cycle working

Is this possible with Waypoint? Is my understanding of how Waypoint should be used correct? – many thanks!

Yup, you can do all of that and it’s an expected mode.

The documentation walks you throw how to setup the server and get it bootstrapped. Setting a proxy to provide additional password protection is something you’ll have to handle, otherwise you’ll be using the builtin token-based auth.

Thanks! I read that piece of documentation a few times, but it does not give any examples as to how to install on a remote server. Am I missing anything?

Yeah it lacks details.

The “Use Waypoint with Docker” guide (https://learn.hashicorp.com/tutorials/waypoint/get-started-docker?in=waypoint/get-started-docker) tells you how to install it on docker. If you look at the help for waypoint install, it tells you the available options.

If you have a VPS, and want to use docker, you’ll want to install docker on your VPS then follow the guide.

I was able to get it on my Kubernetes cluster with

KUBECONFIG=<path to kubeconfig> waypoint install -accept-tos

Sorry for the lack of details, as noted in the docs we currently expect folks who want to run this on dedicated VMs to have some familiarity with ops. In that case, we expect you know to setup waypoint server run, setup init processes (like systemd), etc.

We’ll expand on these docs in the future to make it easier but for now for long-running we suggest waypoint install.

I’m personally running a Waypoint server on DigitalOcean K8S with 1 dev node at $10/month.

2 Likes

I’ve set this up on a DigitalOcean droplet and AWS EKS, and I made a few youtube videos documenting how you can do it and connect to it via the local CLI. Perhaps it’s useful to you:

Setting it up with docker: https://youtu.be/qSWNPkWR_7w
Setting it up with waypoint server run: https://youtu.be/gTbyH5ap4zo

2 Likes

Btw, did all the same steps on VPS to run the server via systems and hit the problem with port exposure, I can ‘see’ ports locally on the computing instance via curl, but on public IP, - nothing. Strangely, if I do waypoint install, - it all works just fine.

unit file for waypoint.service is like this:

[Unit]
Description=Waypoint Server
After=syslog.target network-online.target docker.service
Requires=network.target
BindsTo=docker.service
ReloadPropagatedFrom=docker.service

[Service]
ExecStart=waypoint server run -accept-tos -listen-http=0.0.0.0:9702 -listen-grpc=0.0.0.0:9701 -db /waypoint_data/db -advertise-tls-skip-verify

[Install]
WantedBy=default.target

Logs are clean:

Aug 05 08:15:20 waypoint-dev systemd[1]: Started Waypoint Server.
Aug 05 08:15:20 waypoint-dev waypoint[2632]: » Server configuration:
Aug 05 08:15:20 waypoint-dev waypoint[2632]:              DB Path: /waypoint_data/db
Aug 05 08:15:20 waypoint-dev waypoint[2632]:         gRPC Address: [::]:9701
Aug 05 08:15:20 waypoint-dev waypoint[2632]:         HTTP Address: [::]:9702
Aug 05 08:15:20 waypoint-dev waypoint[2632]:        Auth Required: yes
Aug 05 08:15:20 waypoint-dev waypoint[2632]:   Browser UI Enabled: yes
Aug 05 08:15:20 waypoint-dev waypoint[2632]:          URL Service: api.waypoint.run:443 (account: guest)
Aug 05 08:15:20 waypoint-dev waypoint[2632]: » Server logs:
Aug 05 08:15:20 waypoint-dev waypoint[2632]: 2022-08-05T08:15:20.709Z [INFO]  waypoint.server: starting built-in server: addr=[::]:9701
Aug 05 08:15:20 waypoint-dev waypoint[2632]: 2022-08-05T08:15:20.709Z [INFO]  waypoint.server.http: starting HTTP server: ln=[::]:9702 addr=[::]:9702
Aug 05 08:15:20 waypoint-dev waypoint[2632]: 2022-08-05T08:15:20.709Z [INFO]  waypoint.server.grpc: starting gRPC server: addr=[::]:9701

Any hint on why it could not be accessible from public IP on waypoint server run but worked with waypoint install ?

thanks.