hyperlane-quick-start 14.0.8

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:8.0
    container_name: hyperlane_mysql
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: hyperlane
      MYSQL_DATABASE: hyperlane
      MYSQL_USER: hyperlane
      MYSQL_PASSWORD: hyperlane
    ports:
      - '3306:3306'
    volumes:
      - ./tmp/mysql_data:/var/lib/mysql
    networks:
      - hyperlane_network
    healthcheck:
      test:
        [
          'CMD',
          'mysqladmin',
          'ping',
          '-h',
          'localhost',
          '-u',
          'root',
          '-phyperlane',
        ]
      interval: 10s
      timeout: 5s
      retries: 5

  postgresql:
    image: postgres:17
    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:
      - ./tmp/postgres_data:/var/lib/postgresql/data
    networks:
      - hyperlane_network
    healthcheck:
      test: ['CMD-SHELL', 'pg_isready']
      interval: 10s
      timeout: 5s
      retries: 5

  redis:
    image: redis:7-alpine
    container_name: hyperlane_redis
    restart: always
    command: redis-server --requirepass hyperlane
    ports:
      - '6379:6379'
    volumes:
      - ./tmp/redis_data:/data
    networks:
      - hyperlane_network
    healthcheck:
      test: ['CMD', 'redis-cli', '-a', 'hyperlane', 'ping']
      interval: 10s
      timeout: 5s
      retries: 5

networks:
  hyperlane_network:
    driver: bridge