Skip to content

Quick Start

Seam is a lightweight and high-performance API Gateway built with Go, leveraging the Fiber web framework. Designed for modern microservices architectures, Seam helps manage traffic routing, load balancing, authentication, and monitoring in a simple and efficient way.

Follow these steps to quickly set up and run the Seam API Gateway:

Prerequisites

  • Docker: Ensure Docker is installed and running on your system. You can download it here.

Installation

  1. Clone the Repository
    Begin by cloning the Seam repository to your local machine:

    Terminal window
    git clone https://github.com/saulova/seam.git
    cd seam
  2. Configure Settings
    Rename the sample configuration file and customize it to match your requirements:

    Terminal window
    mkdir -p ./.configs
    cp -r ./.configs.sample/* ./.configs/

    Open the .configs file in your favorite text editor and update the settings as needed.

  3. Run the Docker Container

    • Option 1

      1. Using Docker Compose
        Start the Seam server by running the Docker compose:

        Terminal window
        docker compose up -d
    • Option 2

      1. Build the Docker Image
        Build the Seam Docker image:

        Terminal window
        docker build --tag 'seam' .
      2. Run the Docker Container
        Start the Seam server by running the Docker container:

        Terminal window
        docker run -p 8090:8090 --detach 'seam'
  4. Access the API Gateway
    The Seam server is now running and accessible on http://localhost:8090.

Verifying the Installation

  1. Health Check
    If health check routes are enabled in your configuration, verify the server’s readiness:

    • Liveness Route: http://localhost:8090/health/live
    • Readiness Route: http://localhost:8090/health/ready
  2. Log Monitoring
    Check the container logs to ensure the server is running as expected:

    Terminal window
    docker logs [CONTAINER_ID]

    Replace [CONTAINER_ID] with the ID of the running Seam container.

Next Steps

  • Load Plugins: Add plugins to extend the gateway’s functionality.
  • Configure Routes: Define your routes, middlewares, actions, and storages .yaml config files in the .configs/ folder.
  • Deploy: Once configured, deploy Seam to your production environment.