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?
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.
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:
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 ?