No More Local Limits: Exposing InterSystems IRIS with ngrok
At hackathons that InterSystems participated and I supported, many students were asking how all their teammates could use the same IRIS database that they spun up in a container. I suggested using ngrok to expose their localhost IRIS and realized we don't have documentation on that. Hence, I thought this would be great to let more people knwo about this powerful technique for enhancing collaboration during development and testing.
Step-by-Step Guide to Exposing InterSystems IRIS with ngrok
This guide will walk you through the process of exposing your local InterSystems IRIS instance using ngrok. Follow these steps to get started quickly.
Step 1: Set Up Your IRIS Container
Install Docker: Ensure that Docker is installed on your machine.
Run the IRIS Container: Use the following command to start an InterSystems IRIS container:
docker run --name iris -d --publish 52773:52773 containers.intersystems.com/intersystems/iris-community:latestThis command pulls the latest version of the IRIS Community Edition and runs it on port 52773.
Step 2: Install ngrok
Download ngrok: Go to the ngrok website and download the appropriate version for your operating system.
Install ngrok:
- For MacOS: Use Homebrew:
brew install ngrok/ngrok/ngrok - For Windows: Use Chocolatey:
choco install ngrok - For Linux: Follow the installation instructions provided on the ngrok website.
- For MacOS: Use Homebrew:
Step 3: Configure ngrok
Authenticate ngrok: After installing, you need to authenticate your ngrok account. Run the following command:
ngrok config add-authtoken YOUR_AUTHTOKENReplace
YOUR_AUTHTOKENwith your actual token from the ngrok dashboard.
Step 4: Start the Tunnel
Expose Your IRIS Instance: Run this command to create a tunnel to your local IRIS instance:
ngrok http 52773Access the Public URL: After running the command, ngrok will provide a public URL (e.g.,
https://abc123.ngrok.io). This URL can be accessed by anyone over the internet.
Step 5: Share Access
- Share the public URL with your teammates or collaborators so they can access the IRIS database running on your local machine.
Best Practices
Security: Implement authentication and authorization for your IRIS instance to protect sensitive data.
Temporary Use: Remember that ngrok is primarily for development and testing; avoid using it for production environments.
Monitor Connections: Keep an eye on the ngrok dashboard for connection statistics and potential issues.
Conclusion
Exposing your InterSystems IRIS container using ngrok is a straightforward process that enhances collaboration during development. By following this step-by-step guide, you can easily make your local database accessible to teammates, facilitating better teamwork and innovation. Always prioritize security when exposing local services, and enjoy seamless development with IRIS and ngrok!