Skip to content

Building your Product using Compose

Getting Started

Compose is a powerful tool for defining and running multi-container applications and is used widely by many-many open source projects as a goto mechanism to deploy projects locally. With Compose, you can specify all the services, networks, volumes, and their relationships in a single, easy-to-read YAML file.

To start using Compose, you'll need to define a compose.yaml file that describes your application's services and their configurations.

Here is an Compose file to bring up Redis:

version: '3.9'

services:
  redis:
    image: redis:alpine
    ports:
      - '6379:6379'

Validate your compose config

Before you submit your compose spec, you may want to validate the compose specification by running it locally on your desktop:

docker-compose up

Extend your compose specification to build your distribution channel

We have defined several compose tags to allow you to extend your compose specification to build your distribution channel, ex - SaaS. Here are some examples:

  • Configure your cloud provider account using x-omnistrate-service-plan tag
  • Make a Resource distributed with multiple replicas using x-omnistrate-compute
  • Add a reverse proxy to HTTP-based services or other capabilities using x-omnistrate-capabilities
  • Customize visibility, logging, metering of a service using: x-customer-integrations
  • Customize API parameters for launching the service using x-omnistrate-api-params
  • Inject custom code at different phases of your SaaS using x-omnistrate-actionhooks
  • Customize the compute / network / storage parameters of a service via x-omnistrate-compute and other corresponding tags

For more details on all the compose tags, please read more about Omnistrate Compose Extensions

Use AI to easily extend your compose specification

Extend my compose specification to build my PaaS service with dedicated tenancy and basic observability

Example compose config

Compose

Build your Product using your compose specification

Create a Compose specification file and build your service:

omnistrate-ctl build --file compose.yaml --product-name "Your SaaS Product Name" --description "Your service description"

More real-world examples

List of examples demonstrating how to build various types of applications using Omnistrate. Each example provides step-by-step guidance, complete configuration files, and best practices for different use cases. You can access the link here

Additional resources

  • Omnistrate Compose Extensions: Complete reference for Omnistrate-specific Docker Compose extensions and configurations
  • Compose Documentation: The official documentation provides comprehensive information on using Compose effectively.
  • Compose File Reference: A detailed guide to the Compose file format and its options.
  • Docker Hub: Explore a vast repository of Container Images for various services and applications to use with Compose specification.