Skip to content

Getting Started

The fidesops repository includes a built-in docker compose configuration for quickly experimenting with a working demo environment.

For a more detailed guide on fidesops, the tutorial provides an in-depth introduction, and a full installation guide is available for production deployments.

Requirements

Build from the fidesops repo

Ensure nothing is running on ports 8080, 5432, or 6379 prior to these steps.

  1. Clone the fidesops repository.

  2. Run docker compose up from the root of the fidesops project directory. The provided docker-compose.yml will create the necessary databases and spin up the server.

  3. Visit http://0.0.0.0:8080/health in your browser. A response of {"webserver": "healthy", "database": "healthy", "cache": "healthy"} indicates a successful deployment.

Build from your project

Note

The provided docker instructions are intended only for experimenting in development environments. For production installations, see the deployment guides.

Ensure nothing is running on ports 8080, 5432, or 6379 prior to these steps.

  1. To replicate the demo environment in your own project, create a docker-compose.yml file like the example below in your application's root directory.

    docker-compose.yml
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    services:
      fidesops:
        image: ethyca/fidesops
        container_name: fidesops
        depends_on:
          - db
          - redis
        expose:
          - 8080
        healthcheck:
          test: ["CMD", "curl", "-f", "http://0.0.0.0:8080/health"]
          interval: 30s
          timeout: 10s
          retries: 3
          start_period: 1s
        ports:
          - "8080:8080"
        volumes:
          - type: bind
            source: ./
            target: /fidesops #Update this to the path of your project directory
            read_only: False
    
      db:
        image: postgres:12
        volumes:
          - app-db-data:/var/lib/postgresql/data/pgdata
        environment:
          - PGDATA=/var/lib/postgresql/data/pgdata
          - POSTGRES_USER=postgres
          - POSTGRES_PASSWORD=216f4b49bea5da4f84f05288258471852c3e325cd336821097e1e65ff92b528a
          - POSTGRES_DB=app
    
        expose:
          - 5432
        ports:
          - "0.0.0.0:5432:5432"
        deploy:
          placement:
            constraints:
              - node.labels.fidesops.app-db-data == true
    
      redis:
        image: "redis:6.2.5-alpine"
        command: redis-server --requirepass testpassword
        environment:
          - REDIS_PASSWORD=testpassword
        expose:
          - 6379
        ports:
          - "0.0.0.0:6379:6379"
    
    volumes:
      app-db-data:
    
  2. Ensure Docker is running, and run docker compose up from the project's root directory. This will pull the latest fidesops Docker image, create the sample databases, and start the server.

  3. Visit http://0.0.0.0:8080/health in your browser. A response of {"webserver": "healthy", "database": "healthy", "cache": "healthy"} indicates a successful deployment.

Back to top