Docker
This deployment leverages docker compose
to deploy Hoop on local or remote machines for solution assessment.
Supported Operational Systems
Linux
Tested on MacOS, Ubuntu 24.04 and Amazon Linux 2
MacOS
Intel based and Apple Silicon (M1/M2) Macs
Required tooling
Docker
Install or update to Docker version 20.10.0 or greater
Docker Compose
Install or update Docker Compose to version 2.11.x or greater
docker compose version
to check which version you have installedInstall Docker Compose for Linux
It comes installed with Docker engine, but you can also do the standalone installation
Docker Compose for MacOS
No need to install, it comes with Docker Desktop for MacOS
Download & Run in your machine
This simpler version doesn’t require much configuration, it just runs in your localhost and uses a default JWT authentication.
This will download the docker-compose file and run it in your local machine. You can access it at http://localhost:8009
in your browser.
If you want to set up a custom Identity Provider or run it in a remote machine, follow the Download & Run in a remote machine guide below.
Download & Run in a remote machine
Download the Docker Compose file
Set the .env file
This step is required for authentication mostly, but a lot more configurations can be added to your .env file. Check all the available configurations in the environment variables section.
Going with basic JWT Authentication is recommended because it’s the fastest way to get started.
This will generate a secret key for you and set it in the .env file already.
Then, access the .env
file and add the following configuration lines for your host configuration
If you can’t access the developer portal from a VM, check your firewall rules and make sure the port TCP/8009 and TCP/8010 are open or to bind properly the ports inside your network so it can be accessible.
Run
This process might take a few minutes to download the images and start the containers.
Manage the containers
To view the container logs:
To stop the containers:
Access the developer portal
If you are running this on your local machine, access http://localhost:8009
in your browser.
Or, if you are running this on a remote machine, access http://<vm-public-dns>:8009
in your browser.
If you can’t access the developer portal from a VM, check your firewall rules and make sure the port TCP/8009 and TCP/8010 are open or to bind properly the ports inside your network so it can be accessible.
Accessing and Getting Started with hoop.dev
Once you finish the setup, create an account and sign in to the developer portal, you will see this screen:
Create your first connection
Now that you have access to the developer portal, let’s create your first connection. We have a demo PostgreSQL connection that you can use to test the setup. Follow this guide to create your PostgreSQL demo.
Start with a Demo set up
In the main page click on Quick start button inside the Start with a Demo Setup area.
Interact with the PostgreSQL
After you click on the Quick start button, you will see the PostgreSQL demo connection created and ready to use with a sample SQL query. You can click on the Run button to execute the query and see the results.
You have successfully set up Hoop on your local machine or remote server using Docker Compose. Now you can start exploring the platform and connecting to your data sources.
Troubleshooting
Production Environments with API_URL
When deploying Hoop using Docker Compose for Production Environments, it’s usually important to configure the API_URL
environment variable properly to ensure the web app assets are served correctly. Check the following steps to configure it:
Set the full domain:
In your .env
file, the API_URL
should include the complete schema (e.g., https://yourdomain.com
). This will ensure that assets are served with the correct schema and domain.
Updating your .env file:
Open your .env
file and add the following:
Replace https://yourdomain.com
with the full schema and host where you will serve the Hoop Gateway. If you encounter any issues after setting the API_URL
, double-check your .env
file and provide details about your setup for troubleshooting.
If the API_URL
variable is not set manually, it will default to 127.0.0.1
, which serves locally inside your virtual machine. To avoid this and serve the web app properly over the correct domain, ensure you update the .env
file with your intended domain.
Handling IP and DNS forwarding:
If you configure the API_URL
with an IP address and later use DNS port forwarding, the assets might not load correctly. The API_URL
should reflect the full domain, not just the IP.