Skip to content
This repository has been archived by the owner on Jan 8, 2024. It is now read-only.

cisagov/domain-manager-ui

Repository files navigation

domain-manager-ui

GitHub Build Status CodeQL Known Vulnerabilities

Docker Image

Docker Pulls Docker Image Size (latest by date) Platforms

This is a Docker project to interact with the Domain Manager API via a graphical web interface. Domain Manager is a means to managing domains such as managing the DNS records, launching a website and making categorization requests.

Running

Running with Docker

To run the cisagov/domain-manager-ui image via Docker:

docker run cisagov/domain-manager-ui:1.0.0

Running with Docker Compose

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

    ---
    version: "3.7"
    
    services:
      ui:
        image: cisagov/domain-manager-ui:1.0.0
        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

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/domain-manager-ui:1.0.0
  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 domain-manager-ui project that they containerize. It is recommended that most users use a version tag (e.g. :1.0.0).

Image:tag Description
cisagov/domain-manager-ui:1.0.0 An exact release version.
cisagov/domain-manager-ui:1.0 The most recent release matching the major and minor version numbers.
cisagov/domain-manager-ui:1 The most recent release matching the major version number.
cisagov/domain-manager-ui:edge The most recent image built from a merge into the develop branch of this repository.
cisagov/domain-manager-ui:nightly A nightly build of the develop branch of this repository.
cisagov/domain-manager-ui: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=1.0.0 \
  --tag cisagov/domain-manager-ui:1.0.0 \
  https://github.com/cisagov/domain-manager-ui.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/domain-manager-ui.git
    cd domain-manager-ui
  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=1.0.0 \
      --output type=docker \
      --tag cisagov/domain-manager-ui:1.0.0 .