Skip to main content

Introduction

Local development is a developer's playground, but what happens when you need to share your work with the world? Ngrok offers a convenient solution, but it's not without its drawbacks. While it simplifies the process of exposing your local environment, using a third-party service like ngrok raises important concerns about data privacy and security. This article aims to guide you through setting up ngrok on Manjaro Linux, while also addressing these critical issues.

Why Use Ngrok with Lando?

Before we get into the nitty-gritty, let's explore why you'd want to use ngrok with Lando:

  1. Webhook Testing: Test incoming webhooks without deploying your code.
  2. Collaboration: Share your local development environment with team members or clients.
  3. Ease of Use: Ngrok takes care of HTTPS encryption, making it easier to expose local servers.

The Package Manager Dilemma

If you're like me, you might cringe at the thought of installing software from a ZIP file instead of using a package manager. It's not just about convenience; it's about maintaining a clean system. Unfortunately, ngrok doesn't offer an official package for Manjaro Linux, so we're stuck with the ZIP method for now. Let's get through it.

Step-by-Step Guide

Step 1: Install Ngrok

First, download ngrok for Linux from the official website.

unzip /path/to/ngrok.zip

Step 2: Move Ngrok to PATH Directory

Move the ngrok executable to a directory that's on your PATH, like /usr/local/bin.

sudo mv ngrok /usr/local/bin/

Step 3: Connect Ngrok to Your Account

Sign up for a free ngrok account if you haven't already. Then, connect your account by running:

ngrok authtoken YOUR_AUTH_TOKEN

Step 4: Start Your Lando Environment

Navigate to your project directory and start your Lando environment.

cd /path/to/your/project
lando start

Step 5: Expose Your Lando Environment with Ngrok

Run the following command, replacing LANDO_SITE_URL with your actual Lando site URL (usually something like http://mysite.lndo.site).

ngrok http LANDO_SITE_URL

The Ngrok Conundrum: Convenience vs. Control

Ngrok is undeniably convenient, but it's crucial to be aware of the trade-offs. Your data passes through a third-party service, leaving you with limited visibility and control over what's happening. For those who prioritise data privacy and security, this is a significant concern. Given the nature of the service, alternatives are scarce. Therefore, while ngrok is a powerful tool, it's essential to weigh the pros and cons based on your specific needs.

Troubleshooting

If you encounter a "404 Not Found" error when trying to access your local Lando server via the ngrok URL, consider the following:

  1. Routing Configuration: Ensure your application is configured to handle requests from different domains.
  2. Firewall or Network Settings: Adjust settings to allow ngrok to access your local server.
  3. Incorrect URL: Make sure the path you're trying to access exists on your local server.

Conclusion

Setting up ngrok with Lando on Manjaro Linux is a straightforward process, but it's not without its caveats. Whether it's the lack of a package manager installation option or the concerns about data privacy, there are factors to consider. Nevertheless, for tasks like testing, sharing, or quick demos, ngrok and Lando make a compelling pair.