hyperlane-quick-start 18.1.6

A lightweight rust http server with middleware, websocket, sse, and tcp support, built on tokio for cross-platform async networking, hyperlane simplifies modern web service development.
services:
  mysql:
    image: mysql:latest
    container_name: hyperlane_mysql
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: hyperlane
      MYSQL_DATABASE: hyperlane
      MYSQL_USER: hyperlane
      MYSQL_PASSWORD: hyperlane
    ports:
      - '3306:3306'
    volumes:
      - ./data/mysql_data:/var/lib/mysql
    networks:
      - hyperlane_network
    healthcheck:
      test:
        [
          'CMD',
          'mysqladmin',
          'ping',
          '-h',
          'localhost',
          '-u',
          'root',
          '-phyperlane',
        ]
      interval: 6s
      timeout: 1s
      retries: 6
      start_period: 6s

  postgresql:
    image: postgres:latest
    container_name: hyperlane_postgresql
    restart: always
    environment:
      POSTGRES_DB: hyperlane
      POSTGRES_USER: hyperlane
      POSTGRES_PASSWORD: hyperlane
      POSTGRES_HOST_AUTH_METHOD: md5
    ports:
      - '5432:5432'
    volumes:
      - ./data/postgres_data:/var/lib/postgresql
    networks:
      - hyperlane_network
    healthcheck:
      test: ['CMD-SHELL', 'pg_isready']
      interval: 6s
      timeout: 1s
      retries: 6
      start_period: 6s

  redis:
    image: redis:latest
    container_name: hyperlane_redis
    restart: always
    command: redis-server --requirepass hyperlane
    ports:
      - '6379:6379'
    volumes:
      - ./data/redis_data:/data
    networks:
      - hyperlane_network
    healthcheck:
      test: ['CMD', 'redis-cli', '-a', 'hyperlane', 'ping']
      interval: 6s
      timeout: 1s
      retries: 6
      start_period: 6s

networks:
  hyperlane_network:
    driver: bridge