Skip to content
This repository has been archived by the owner on Sep 22, 2023. It is now read-only.
/ con-pca-web Public archive

The website source and terraform code for continuous phishing assessment.

License

Notifications You must be signed in to change notification settings

cisagov/con-pca-web

Repository files navigation

Con-PCA Client

GitHub Build Status CodeQL Known Vulnerabilities

Setup and Build

Running with Docker

To run the cisagov/con-pca-web image via Docker:

docker run cisagov/con-pca-web:0.0.1

Running with Docker Compose

  1. Create a docker-compose.yml file similar to the one below to use Docker Compose.

    ---
    version: "3.7"
    
    services:
      pca-web:
        image: cisagov/con-pca-web:0.0.1
        volumes:
          - type: bind
            source: <your_log_dir>
            target: /var/log
        environment:
          - ECHO_MESSAGE="Hello from docker compose"
        ports:
          - target: 8080
            published: 8080
            protocol: tcp
  2. Start the container and detach:

    docker compose up --detach

Using secrets with your container

This container also supports passing sensitive values via Docker secrets. Passing sensitive values like your credentials can be more secure using secrets than using environment variables.

  1. To use secrets, create a quote.txt file containing the values you want set:

    Better lock it in your pocket.
    
  2. Then add the secret to your docker-compose.yml file:

    ---
    version: "3.7"
    
    secrets:
      quote_txt:
        file: quote.txt
    
    services:
      web:
        image: cisagov/con-pca-web:0.0.1
        volumes:
          - type: bind
            source: <your_log_dir>
            target: /var/log
        environment:
          - ECHO_MESSAGE="Hello from docker compose"
        ports:
          - target: 80
            published: 4200
            protocol: tcp
        secrets:
          - source: quote_txt
            target: quote.txt

Updating your container

Docker Compose

  1. Pull the new image from Docker Hub:

    docker compose pull
  2. Recreate the running container by following the previous instructions:

    docker compose up --detach

Docker

  1. Stop the running container:

    docker stop <container_id>
  2. Pull the new image:

    docker pull cisagov/con-pca-web:0.0.1
  3. Recreate and run the container by following the previous instructions.

Image tags

The images of this container are tagged with semantic versions of the underlying con-pca-web project that they containerize. It is recommended that most users use a version tag (e.g. :0.0.1).

Image:tag Description
cisagov/con-pca-web:1.2.3 An exact release version.
cisagov/con-pca-web:1.2 The most recent release matching the major and minor version numbers.
cisagov/con-pca-web:1 The most recent release matching the major version number.
cisagov/con-pca-web:edge The most recent image built from a merge into the develop branch of this repository.
cisagov/con-pca-web:nightly A nightly build of the develop branch of this repository.
cisagov/con-pca-web:latest The most recent release image pushed to a container registry. Pulling an image using the :latest tag should be avoided.

See the tags tab on Docker Hub for a list of all the supported tags.

Ports

The following ports are exposed by this container:

Port Purpose
80 The http listener for nginx.

The Docker composition publishes the exposed port at 4200.

Environment variables

Required

There are no required environment variables.

Name Purpose Default
API_URL The url for the api. http://localhost:5000

Building from source

Build the image locally using this git repository as the build context:

docker build \
  --build-arg VERSION=0.0.1 \
  --tag cisagov/con-pca-web:0.0.1 \
  https://github.com/cisagov/con-pca-web.git#develop

Cross-platform builds

To create images that are compatible with other platforms, you can use the buildx feature of Docker:

  1. Copy the project to your machine using the Code button above or the command line:

    git clone https://github.com/cisagov/con-pca-web.git
    cd con-pca-web
  2. Create the Dockerfile-x file with buildx platform support:

    ./buildx-dockerfile.sh
  3. Build the image using buildx:

    docker buildx build \
      --file Dockerfile-x \
      --platform linux/amd64 \
      --build-arg VERSION=0.0.1 \
      --output type=docker \
      --tag cisagov/con-pca-web:0.0.1 .