Skip to content

Add a new service template to Coolify

Services in Coolify are templates made from normal docker-compose files with some added Coolify magic.

  1. Add metadata

    At the top of your docker-compose file, add the following metadata:

    # documentation: https://docs.example.com/
    # slogan: A brief description of your service.
    # tags: tag1,tag2,tag3
    # logo: svgs/your-service.svg
    # port: 1234
    • documentation: Link to the service’s official documentation
    • slogan: A short description of the service
    • tags: Comma-separated list for better searchability
    • logo: Path to the service’s logo (see step 3)
    • port: The main entrypoint port of the service
  2. Create the docker-compose file

    Below the metadata, add your docker-compose configuration. Use Coolify’s environment variable magic here.

    Example:

    version: '3.8'
    services:
    app:
    image: your-service-image:tag
    environment:
    - DATABASE_URL=${COOLIFY_DATABASE_URL}
    volumes:
    - ${COOLIFY_VOLUME_APP}:/data
  3. Add a logo

    • Create or obtain an SVG logo for your service (strongly preferred format)
    • If SVG is unavailable, use a high-quality PNG or JPG as a last resort
    • Add the logo file to the svgs folder in the Coolify repository
    • The logo filename should match the docker-compose service name exactly
      • For example, if your service name is wordpress, your logo should be wordpress.svg and the final path then is svgs/wordpress.svg use this path in the logo metadata.
  4. Test your template

    Use the Docker Compose deployment option in Coolify to test your template. This process mimics the one-click service deployment.

  5. Submit a Pull Request

    Once your template works correctly:

    • Open a PR
    • Add your new <service>.yaml compose file under /templates/compose
    • Include the logo file in the svgs folder

Request a new service

If there’s a service template you’d like to see in Coolify:

  1. Search GitHub discussions for existing requests.
  2. If the service has been requested, upvote it. If not, create a new request.