Skip to content

Installation from Docker

The latest release of fidescls is made available as a container on the ethyca/fidescls DockerHub. Mid-release (dirty) versions are uploaded to DockerHub on every commit to the main branch.

These reference images contain all the extras and dependencies for running the Python application, including fideslang, which is required to take advantage of the fides taxonomy.

System Requirements

  1. Docker (20.10.8+)
  2. Docker-Compose (1.29.0+)
  3. Make (optional) - only required if running the container without a docker-compose configuration.

Using Make

If taking advantage of the Makefile, the following commands can be executed from the root fidescls directory:

  • make cli: In addition to spinning up the API, this will drop you into a shell within the container. This can be used to explore, debug, etc. within the container.
  • make api: This will spin up the API and display the logs to the terminal.

Manual Docker Setup

The following docker-compose.yml can be placed at the root of your project directory. It will create the fidescls API server and allow you to experiment locally.

Ensure nothing is running on port 8765 before using this file.

docker-compose.yml
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
services:
  fidescls:
    build:
      context: .
    command: uvicorn --host 0.0.0.0 --port 8765 --reload fidescls.api.main:app
    healthcheck:
      test: [ "CMD", "curl", "-f", "http://0.0.0.0:8765/health" ]
      interval: 5s
      timeout: 5s
      retries: 5
    expose:
      - 8765
    ports:
      - "8765:8765"
    volumes:
      - type: bind
        source: .
        target: /fidescls
        read_only: False

From the same directory as your docker-compose.yml, you can now run the following commands:

  1. docker-compose up -d -> Spin up the docker-compose file in the background
  2. docker-compose run --rm fidescls /bin/bash -> Open a shell within the fidescls container

Check Status

To ensure that the API is running and healthy, the following GET request can be sent to the health endpoint:

1
2
> curl GET localhost:8765/health                                                                                   (base)  Tue Feb 22 14:58:04 2022
{"data":{"message":"Fidescls service is healthy!"}}

Next Steps

Now that you've got the API server up and running, you're ready to start making requests!

Back to top