Deploy Gluesync with Docker Compose manually

This page explains the Docker Compose stack for administrators who intentionally manage Gluesync containers by hand.

You do not need to follow this guide for a standard Gluesync installation.

Use the setup wizard at Get Gluesync. It generates the correct kit for your environment and guides you through installation. The kit’s run.sh or run.ps1 helper starts the supplied Compose stack for you.

Use this page only for a do-it-yourself (DIY) deployment that requires review or customization by a system administrator.

When to use this guide

Use the manual Compose path when:

  • Your organization already operates Docker hosts and does not permit an installer to configure the runtime.

  • A platform team must review every image, mount, port, network, secret, and resource limit.

  • Images must be mirrored into an internal registry.

  • The deployment must use organization-managed certificates, proxies, DNS, or observability services.

  • Change control requires the Compose configuration to be maintained separately from the supplied kit.

For a normal installation, stop here and follow Install with the Gluesync kit.

What the setup wizard already does

The Get Gluesync setup wizard is the source of the standard installation flow. It provides a kit for the selected platform and connectors. Depending on the platform, the kit contains the required license, Compose or Helm assets, configuration, and launch helpers.

The launch helper:

  • Selects the Compose files and environment expected by the kit.

  • Validates required files and settings.

  • Pulls or selects the required images.

  • Starts the stack and checks its health.

Do not rebuild these steps from this documentation unless your team accepts responsibility for maintaining the result.

Administrator responsibilities

A manual deployment makes your operations team responsible for:

  • Docker Engine and Compose lifecycle, security, and availability.

  • Image provenance, version pinning, registry mirroring, and updates.

  • TLS certificates, secrets, file permissions, and credential rotation.

  • Persistent storage, backup, restore, and disk capacity.

  • Network routes from agents to source and target systems.

  • Resource limits, monitoring, log retention, and incident recovery.

  • Testing changes against the kit shipped for each Gluesync release.

Prerequisites

Before editing the Compose stack:

  1. Check System requirements.

  2. Request the kit from Get Gluesync for the required source and target.

  3. If Docker is not managed already, follow Prepare Docker manually.

  4. Read How Gluesync works.

  5. Confirm that the host can reach the required registries and both database endpoints.

  6. Back up any existing Gluesync configuration and persistent data.

Use the Compose files from your kit as the source of truth. Image names, versions, services, mounts, health checks, and required variables can change between releases. Do not copy an old service definition from this page or another installation.

Understand the supplied stack

A kit can contain the following service roles. The exact set depends on the release, license, and selected deployment:

Core Hub

Provides the Control Plane and coordinates pipelines, agents, and modules.

Agents

Connect to source and target systems and perform data movement.

Conductor

Manages supported container lifecycle operations from the Control Plane.

Chronos and other modules

Provide optional scheduling, orchestration, and product capabilities.

Reverse proxy

Routes HTTPS traffic and terminates TLS for web services.

Monitoring services

Can include Prometheus, Grafana, or container-management tooling where supplied by the kit.

The absence of an optional service is not an installation error. Verify the contents of the kit and your license before adding components.

Review the kit before deployment

Extract the kit into a controlled working directory and review these areas.

Images and release channel

  • Record every image registry, repository, and tag.

  • Pin the image versions required by your release policy.

  • Scan or mirror images before changing registry references.

  • Keep all related service versions aligned with the kit.

Avoid unreviewed floating tags in production. Follow Platform updates for supported update behavior.

Secrets and TLS

Identify license files, bootstrap secrets, keystores, certificates, and environment files before startup.

  • Store secrets using your organization’s approved controls.

  • Restrict host-file permissions to the deployment account.

  • Replace evaluation credentials before exposing the instance beyond an isolated environment.

  • Preserve the file names and mount paths expected by the kit unless you update every reference.

For certificate replacement, see HTTPS and secure WebSockets.

Persistent data

List each bind mount and named volume, then classify it as configuration, application data, logs, or disposable cache.

Example bind mount:

services:
  gluesync-example:
    volumes:
      - ./data/example:/opt/gluesync/data
      - ./logs/example:/opt/gluesync/logs

Create host directories with deliberate ownership and permissions. Include persistent paths in backup and restore procedures.

Do not assume docker compose down is harmless. Options that remove volumes can permanently delete Gluesync state.

Resource controls

Set limits from a sizing exercise and leave capacity for Docker, the operating system, monitoring, and traffic spikes.

services:
  gluesync-example:
    deploy:
      resources:
        limits:
          cpus: "2.0"
          memory: 2G
        reservations:
          cpus: "1.0"
          memory: 512M

Confirm how your Docker Compose implementation applies deploy.resources; behavior can differ outside Swarm mode. See Docker’s resource constraints reference.

Time zone

Gluesync services use UTC unless configured otherwise. Keep UTC for consistent operations, or set a valid IANA time zone where local timestamps are required:

services:
  gluesync-example:
    environment:
      TZ: "Europe/Rome"

Use a value from the IANA time zone list and apply the policy consistently.

Networking

Database access

Test source and target connectivity from the Docker host and from the relevant agent container. A successful host connection does not prove that container DNS, routes, firewall rules, or TLS trust are correct.

When a database runs on the Docker host, the kit can provide this mapping:

services:
  gluesync-agent:
    extra_hosts:
      - "host.docker.internal:host-gateway"

Use host.docker.internal in the agent setup wizard instead of localhost. Inside a container, localhost refers to that container.

Use host networking only after a security review. It reduces network isolation and behaves differently across operating systems.

Published ports

Publish only ports required by users or external systems:

services:
  gluesync-example:
    ports:
      - "1717:1717"

The left value is the host port; the right value is the container port. Prefer the kit’s reverse proxy for browser access instead of publishing every service directly.

Docker socket access

Conductor can require access to the Docker socket to manage containers.

services:
  gluesync-conductor:
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock

Access to the Docker socket is effectively administrative access to the host. Restrict the deployment account, protect the socket, and do not expose Conductor directly to untrusted networks.

Validate the Compose configuration

Run validation from the extracted kit directory:

docker compose config --quiet
docker compose config --images
docker compose config --services

Review the fully resolved configuration without publishing it: resolved output can contain sensitive environment values.

If your policy requires a raw Compose workflow, compare the launch helper with the resolved configuration and document every behavior you reproduce.

Start and verify Gluesync

The supported entry point remains the helper shipped in the kit:

Linux and macOS
./run.sh
Windows Server
.\run.ps1

Do not use a bare docker compose up -d for a standard or DIY Gluesync deployment. It bypasses the setup and validation performed by the supplied run tool.

After startup:

  1. Confirm that all required services are running or healthy.

  2. Open the Control Plane URL printed by the helper.

  3. Sign in and replace the initial password.

  4. Confirm that the Control Plane can reach Core Hub and Conductor, when included.

  5. Validate source and target connectivity before starting a production pipeline.

Operate the deployment

Inspect status and logs

The following read-only Compose commands are diagnostic aids, not lifecycle controls:

docker compose ps
docker compose logs --since 30m

For a support bundle, prefer the kit’s log collector:

  • Linux and macOS: ./collect-logs.sh

  • Windows Server: .\collect-logs.ps1

Review collected files for secrets before transferring them outside your organization.

Use the supplied lifecycle tools

Manage the deployment with the tools installed with the Gluesync kit. They apply the required Compose files, environment, validation, and lifecycle sequence.

If a tool is missing or you need a fresh copy, validate your licence at Installation kits & tools. Do not download lifecycle scripts from unverified mirrors.

Task Linux and macOS Windows Server

Start or restart Gluesync

./run.sh

.\run.ps1

Stop Gluesync

./stop.sh

.\stop.ps1

Update Gluesync

./update.sh

.\update.ps1

Run each tool from the Gluesync installation directory. Use Platform updates in the Control Plane when available; otherwise use the supplied update tool and follow its prompts. See Platform updates before a production update.

Do not use docker compose up, stop, down, pull, or down --volumes for normal Gluesync lifecycle operations. These commands bypass the safeguards and sequencing provided by the Gluesync tools. In particular, commands that remove volumes can permanently delete Gluesync state.

Use raw Compose commands only when MOLO17 support instructs you to do so or when your operations team has deliberately replaced and tested the supplied tooling.

Do not update one Gluesync service independently unless the release instructions explicitly allow it.

Custom registry

If the Docker host cannot access the registry used by the kit:

  1. Mirror every required image into the approved internal registry.

  2. Preserve image tags or maintain a reviewed mapping.

  3. Update all Compose image references consistently.

  4. Authenticate Docker through your standard credential mechanism.

  5. Validate pulls as the deployment account before startup.

Contact MOLO17 support if the required images or registry policy are unclear.