Skip to main content

Deployment with Docker (OpenFN Adapter)

This guide will walk you through deploying the ID PASS DataCollect application using Docker with the OpenFN adapter.

Prerequisites​

Before you begin, ensure you have the following installed:

Step 1: Clone the Repository​

First, clone the ID PASS DataCollect repository to your local machine:

git clone https://github.com/idpass/idpass-data-collect.git
cd idpass-data-collect

Step 2: Configure Environment Variables​

Navigate to the docker directory and copy the example environment file for PostgreSQL:

cd docker
cp .env.example .env
cp .env.example .env

Edit postgresql.env to configure your database settings. For example, you might want to change the PostgreSQL password or other sensitive information.

Screenshot Placeholder: A screenshot showing the docker directory with postgresql.env file created/edited.

Step 3: Build and Run Docker Containers​

From the docker directory, run Docker Compose to build and start the services, specifically including the OpenFN adapter:

docker compose -f docker-compose.dev.yaml -f adapters/openfn/docker-compose.openfn.yaml up --build -d

This command will:

  • --build: Build the Docker images (if not already built).
  • -d: Run the containers in detached mode (in the background).
  • -f docker-compose.dev.yaml: Use the development Docker Compose file.
  • -f adapters/openfn/docker-compose.openfn.yaml: Include the OpenFN adapter services.

Screenshot Placeholder: A screenshot of the terminal output after running the docker-compose up command, showing containers starting successfully.

Step 4: Verify Deployment​

After the containers are up and running, you can verify their status:

docker compose -f docker-compose.dev.yaml -f adapters/openfn/docker-compose.openfn.yaml ps

You should see a list of running services. The application should be accessible at http://localhost:8080 (or your configured port).

Screenshot Placeholder: A screenshot of the docker-compose ps output, showing all services in a 'running' state. Another screenshot showing the application's login page in a web browser.

Step 5: Stop and Remove Containers​

To stop and remove the running Docker containers and networks, use:

docker compose -f docker-compose.dev.yaml -f adapters/openfn/docker-compose.openfn.yaml down

To remove all volumes associated with the containers (useful for a clean slate):

docker compose -f docker-compose.dev.yaml -f adapters/openfn/docker-compose.openfn.yaml down --volumes