Sign inSign up

saikrishnabairamoni/v2xhub-application:feature-add_it_tests_ci

Manifest digest

sha256:15e5dd192846f19bae8267b4fc8d622454a4507d4fae5c81f8f07ea63840a228

Last pushed

6 months by saikrishnabairamoni

Type

Compose

Manifest digest

sha256:15e5dd192846f19bae8267b4fc8d622454a4507d4fae5c81f8f07ea63840a228

Compose file content

services:
  db:
    image: mysql:8.0
    container_name: mysql
    environment:
      - TZ=${TZ:-America/New_York}
      - MYSQL_DATABASE=IVP
      - MYSQL_USER=IVP
      - MYSQL_PASSWORD_FILE=/run/secrets/mysql_password
      - MYSQL_RANDOM_ROOT_PASSWORD=yes
    network_mode: host
    secrets:
      - mysql_password
    healthcheck:
      test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "-u", "IVP", "-p$$(cat /run/secrets/mysql_password)"]
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 40s
    volumes:
      - ./mysql/localhost.sql:/docker-entrypoint-initdb.d/localhost.sql
      - ./mysql/port_drayage.sql:/docker-entrypoint-initdb.d/port_drayage.sql
      # The following 5 files are used for CDA1Tenth. By default the standard "port_drayage.sql" file
      # will be loaded. Comment out the "port_drayage.sql" file above and uncomment the following 
      # three files to enable the CDA1Tenth sql files to be loaded.
      #- ./mysql/garage_port_drayage/port_drayage.sql:/docker-entrypoint-initdb.d/port_drayage.sql
      #- ./mysql/garage_port_drayage/port_drayage_lane1.sql:/docker-entrypoint-initdb.d/port_drayage_lane1.sql
      #- ./mysql/garage_port_drayage/port_drayage_lane2.sql:/docker-entrypoint-initdb.d/port_drayage_lane2.sql
      #- ./mysql/garage_port_drayage/port_drayage_trb_short.sql:/docker-entrypoint-initdb.d/port_drayage_trb_short.sql
      #- ./mysql/garage_port_drayage/port_drayage_trb_long.sql:/docker-entrypoint-initdb.d/port_drayage_trb_long.sql
      - mysql-datavolume:/var/lib/mysql
  php:
    image: usdotfhwaops/php:${V2XHUB_VERSION:-develop}
    container_name: php
    network_mode: host
    restart: always
    depends_on:
      - db
      - v2xhub
    stdin_open: true
    tty: true
    environment:
      - TZ=${TZ:-America/New_York}
    volumes:
      - ssl-certs-volume:/etc/apache2/ssl:ro
    healthcheck:
      test: ["CMD-SHELL", "curl -fsS -I http://127.0.0.1/ >/dev/null || exit 1"]
      interval: 10s
      timeout: 5s
      retries: 12
      start_period: 30s

  v2xhub:
    image: usdotfhwaops/v2xhub:${V2XHUB_VERSION:-develop}
    container_name: v2xhub
    network_mode: host
    restart: always
    depends_on:
      db:
        condition: service_healthy
    ulimits:
      nofile:
        soft: 2560
        hard: 2560
    deploy:
      resources:
        limits:
          memory: 2g
        reservations:
          memory: 1g
    environment:
      - MYSQL_HOST=127.0.0.1
      - MYSQL_PORT=3306
      - MYSQL_DATABASE=IVP
      - MYSQL_USER=IVP
      - MYSQL_PASSWORD=/run/secrets/mysql_password
      - SIMULATION_MODE=${SIMULATION_MODE:-false}
      - SIMULATION_IP=${SIMULATION_IP:-127.0.0.1}
      - SIMULATION_REGISTRATION_PORT=6767
      - LOCAL_IP=${V2XHUB_IP:-127.0.0.1}
      - TIME_SYNC_TOPIC=time_sync
      - TIME_SYNC_PORT=7575
      - SIM_V2X_PORT=5757
      - SIM_INTERACTION_PORT=7576
      - V2X_PORT=8686
      - INFRASTRUCTURE_ID=${INFRASTRUCTURE_ID:-rsu_1234}
      - INFRASTRUCTURE_NAME=${INFRASTRUCTURE_NAME:-East Intersection}
      - SENSOR_JSON_FILE_PATH=${SENSOR_JSON_FILE_PATH:-/var/www/download/sensors.json}
      - V2XHUB_USERNAME=${V2XHUB_USERNAME:-v2xadmin}
      - V2XHUB_PASSWORD=${V2XHUB_PASSWORD}
      - TZ=${TZ:-America/New_York}
    secrets:
      - mysql_password
    volumes:
      - v2xhub-logs-volume:/var/log/tmx:rw
      - v2xhub-download-volume:/var/www/download/:rw
      - ssl-certs-volume:/var/www/plugins/ssl:rw
    healthcheck:
      test: ["CMD-SHELL", "ps -ef | grep -v grep | grep -q tmxcore && ps -ef | grep -v grep | grep -q CommandPlugin || exit 1"]
      interval: 10s
      timeout: 5s
      retries: 12
      start_period: 30s

  port_drayage_webservice:
    image: usdotfhwaops/port-drayage-webservice:${V2XHUB_VERSION:-develop}
    container_name: port_drayage_webservice
    network_mode: host
    profiles: ["port_drayage"]
    deploy:
      resources:
        limits:
          memory: 1g
        reservations:
          memory: 512m
    environment:
      - TZ=${TZ:-America/New_York}
secrets:
    mysql_password:
        environment: MYSQL_PASSWORD

volumes:
  mysql-datavolume:
  ssl-certs-volume:
    # To access/set SSL certifications on host machine setup local mapping to ssl directory.
    # NOTE: Ensure directory exists and has non-root privileges before running 
    # docker compose to prevent permission issues
    # driver: local
    # driver_opts:
    #   type: 'none'
    #   o: 'bind'
    #   device: './ssl' # Specify the absolute path on your host
  v2xhub-download-volume:
    # To access V2X Hub uploaded files on host machine setup local mapping to download directory.
    # NOTE: Ensure directory exists and has non-root privileges before running 
    # docker compose to prevent permission issues
    # driver: local
    # driver_opts:
    #   type: 'none'
    #   o: 'bind'
    #   device: './download' # Specify the absolute path on your host
  v2xhub-logs-volume:
    # To access log files on host machine setup local mapping to logs directory.
    # NOTE: Ensure directory exists and has non-root privileges before running 
    # docker compose to prevent permission issues
    # driver: local
    # driver_opts:
    #   type: 'none'
    #   o: 'bind'
    #   device: './logs' # Specify the absolute path on your host

Docker commands

docker compose -f oci://saikrishnabairamoni/v2xhub-application:feature-add_it_tests_ci up

Use the above command to pull and run the Compose file. Learn more.

Images used

Image + 1 more

MySQL is a widely used, open-source relational database management system (RDBMS).


Pulls

1B+

Stars

16191

Last Updated

about 16 hours

Image


Pulls

100K+

Stars

0

Last Updated

4 days

Image


Pulls

10K+

Stars

0

Last Updated

4 days

Image


Pulls

10K+

Stars

0

Last Updated

4 days