# Install Sydekyks with Docker Compose

Sydekyks user and operator guide. Check feature availability and release-specific installation requirements.

Install Sydekyks 1.0.6 on your own server with Docker Compose. The application image is public at Docker Hub (https://hub.docker.com/r/ibassoftware/sydekyks). All available features are free to use. No license key, activation or trial is required.

This release supports fresh installations and upgrades from released Sydekyks 1.0.x installations after backup. It does not migrate an existing Activepieces or earlier development database. Keep those deployments and their backups separate.

## ​Before you start

You need Docker Engine or Docker Desktop with Docker Compose v2, an Internet connection and a Linux AMD64 or ARM64 host. For a small initial deployment, allow 4 GB of memory and enough disk space for your database, execution history and backups. Increase capacity as your workflows grow.

The supported configuration runs the application and worker together, with separate PostgreSQL with pgvector and Redis services. A single-container embedded database and Kubernetes deployment are outside this release’s tested installation path.

Configured apps and AI providers need their own network access and credentials. Third-party provider API costs are not included.

## ​Download the configuration

Create a folder and download the complete, secret-free templates:

```
mkdir -p sydekyks/deployment
cd sydekyks
curl -fL https://docs.sydekyks.com/resources/operators/sydekyks-compose.yaml -o deployment/compose.yaml
curl -fL https://docs.sydekyks.com/resources/operators/sydekyks-env.example.txt -o deployment/.env
chmod 600 deployment/.env

```

You can also copy the same templates below.

deployment/compose.yaml

```
services:
  app:
    image: ${SYDEKYKS_IMAGE:?Set the verified Sydekyks release image}
    restart: unless-stopped
    ports:
      - "${SYDEKYKS_BIND:-127.0.0.1}:${SYDEKYKS_PORT:-8080}:80"
    environment:
      AP_EDITION: ce
      AP_ENVIRONMENT: prod
      AP_DB_TYPE: POSTGRES
      AP_REDIS_TYPE: STANDALONE
      AP_POSTGRES_HOST: postgres
      AP_POSTGRES_PORT: "5432"
      AP_POSTGRES_DATABASE: sydekyks
      AP_POSTGRES_USERNAME: sydekyks
      AP_POSTGRES_PASSWORD: ${AP_POSTGRES_PASSWORD:?Set the database password}
      AP_REDIS_HOST: redis
      AP_REDIS_PORT: "6379"
      AP_INTERNAL_URL: http://127.0.0.1:80
      AP_FRONTEND_URL: ${AP_FRONTEND_URL:?Set the public application URL}
      AP_ENCRYPTION_KEY: ${AP_ENCRYPTION_KEY:?Set the encryption key}
      AP_JWT_SECRET: ${AP_JWT_SECRET:?Set the JWT secret}
      AP_EXECUTION_MODE: SANDBOX_CODE_ONLY
      AP_WORKER_CONCURRENCY: "1"
      AP_EXECUTION_DATA_RETENTION_DAYS: "30"
      AP_PAUSED_FLOW_TIMEOUT_DAYS: "30"
      AP_TELEMETRY_ENABLED: "false"
      AP_CONFIG_PATH: /usr/src/app/.sydekyks
      AP_FILE_STORAGE_LOCATION: DB
      AP_SMTP_HOST: ${AP_SMTP_HOST:-}
      AP_SMTP_PORT: ${AP_SMTP_PORT:-587}
      AP_SMTP_USERNAME: ${AP_SMTP_USERNAME:-}
      AP_SMTP_PASSWORD: ${AP_SMTP_PASSWORD:-}
      AP_SMTP_SENDER_EMAIL: ${AP_SMTP_SENDER_EMAIL:-}
    volumes:
      - app_data:/usr/src/app/.sydekyks
    depends_on:
      postgres:
        condition: service_healthy
      redis:
        condition: service_healthy
  postgres:
    image: pgvector/pgvector:0.8.1-pg16-trixie@sha256:1e4956185a7fd9306a41ee759a7b4329c4faf9a2bb91a1d01437310c97002433
    restart: unless-stopped
    environment:
      POSTGRES_DB: sydekyks
      POSTGRES_USER: sydekyks
      POSTGRES_PASSWORD: ${AP_POSTGRES_PASSWORD:?Set the database password}
    volumes:
      - postgres_data:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U sydekyks -d sydekyks"]
      interval: 10s
      timeout: 5s
      retries: 5
  redis:
    image: redis:7-alpine@sha256:858f009f9709ce576febc734aa78b8f6d624b82571f9ddb6bda4377c833b3499
    restart: unless-stopped
    command: ["redis-server", "--appendonly", "yes"]
    volumes:
      - redis_data:/data
    healthcheck:
      test: ["CMD", "redis-cli", "ping"]
      interval: 10s
      timeout: 5s
      retries: 5
volumes:
  app_data:
  postgres_data:
  redis_data:

```

deployment/.env.example

```
SYDEKYKS_IMAGE=ibassoftware/sydekyks:1.0.6
SYDEKYKS_BIND=127.0.0.1
SYDEKYKS_PORT=8080
AP_FRONTEND_URL=http://localhost:8080
AP_ENCRYPTION_KEY=
AP_JWT_SECRET=
AP_POSTGRES_PASSWORD=
AP_SMTP_HOST=
AP_SMTP_PORT=587
AP_SMTP_USERNAME=
AP_SMTP_PASSWORD=
AP_SMTP_SENDER_EMAIL=

```

## ​Set your secrets and address

Generate three separate values:

```
openssl rand -hex 16
openssl rand -hex 32
openssl rand -hex 24

```

Edit deployment/.env. Put the first value in AP_ENCRYPTION_KEY, the second in AP_JWT_SECRET and the third in AP_POSTGRES_PASSWORD. Keep this file private and outside version control.

For local evaluation, keep AP_FRONTEND_URL=http://localhost:8080 and the loopback binding. For your server, set the intended HTTPS application address, configure a reverse proxy and follow HTTPS setup (https://docs.sydekyks.com/install/configure-operate/setup-ssl). Your browser needs WebSocket access. External webhook providers must be able to reach the public address.

## ​Optional account email

To send password-reset and account-invitation emails, set AP_SMTP_HOST, AP_SMTP_PORT, AP_SMTP_USERNAME, AP_SMTP_PASSWORD and AP_SMTP_SENDER_EMAIL in your private environment file. All five values are required. SMTP authentication and certificate validation are enforced. Use port 587 with STARTTLS or port 465 with direct TLS; other ports also require STARTTLS. The image contains no configured SMTP credentials: supply your own at runtime. Without SMTP, the owner can copy invitation links manually; password-reset email is unavailable.

## ​Start your installation

From the sydekyks folder:

```
docker compose --env-file deployment/.env -f deployment/compose.yaml config --quiet
docker compose --env-file deployment/.env -f deployment/compose.yaml pull
docker compose --env-file deployment/.env -f deployment/compose.yaml up -d --wait
docker compose --env-file deployment/.env -f deployment/compose.yaml ps

```

All three services should be healthy. Integration metadata loads in the background on first startup, so the catalog can grow over the following minutes.

Open http://localhost:8080 (http://localhost:8080), or your configured server URL. Create the first account. This account becomes the platform administrator and receives a personal workspace. No activation step is required.

Configure your own AI provider before using AI workflows or Syd. Create a harmless workflow, test it and check its execution result before connecting production business data. Integrations need their own app credentials and permissions.

## ​What this release includes

Visual workflows, execution history, connections, integration discovery, tables, files, owned Syd assistance and saved AI agents are included for free. Unlimited user accounts can use personal workspaces; the owner can invite accounts to the platform.

Unavailable controls are hidden in 1.0.6. The new upstream AI Tiers screen remains hidden until the independently implemented Syd chat contract supports it. Member sharing, quotas, provisioning and a restore screen remain unavailable. Additional creator-owned Command Centers and their administration are supported. Other unavailable features include custom roles, aggregate/global connections, Gadget Sets and selector customization, platform template management, SSO/SCIM, Secret Managers, Audit Logs/Event Streaming, API Keys, embedding, Worker Groups, Git/environment/releases/approvals, upstream billing/usage, Impact and custom logo/color/favicon settings. Community template browsing/sharing, gadget installation, platform invitations, project connections and variables remain available. Open-source component notices remain in the image.

## ​Restart, update and preserve your data

Restart without changing the configuration:

```
docker compose --env-file deployment/.env -f deployment/compose.yaml restart

```

Preserve the PostgreSQL, Redis and application volumes, plus your private environment file. The encryption key is required to read stored connection credentials. Losing or replacing it can make those credentials unusable.

For an existing Sydekyks 1.0.x installation, preserve your .env, encryption/JWT keys and volumes. Back up PostgreSQL and stop the old application and workers before selecting ibassoftware/sydekyks:1.0.6. Start the same version on every app and worker. Released initial schema and blocking migrations are retained. Version 1.0.6 adds a background-migration tracking table; its background list is empty. Existing data and connected-account encryption remain unchanged. Old license state is ignored. Check migration logs, application health and a small mission before resuming normal work. Keep the prior image digest and backup available for recovery.

Before an update, back up the database and volumes and record the current image digest. Read the next release’s migration instructions before changing SYDEKYKS_IMAGE; do not use an unreviewed moving tag for unattended production updates. Never use docker compose down --volumes on data you need to keep. See backup and recovery (https://docs.sydekyks.com/install/configure-operate/rollback).

All available features remain accessible without a license or recurring entitlement checks. Authentication and workspace permissions still apply.

## ​Troubleshooting

```
docker compose --env-file deployment/.env -f deployment/compose.yaml logs --tail=100 app
docker compose --env-file deployment/.env -f deployment/compose.yaml logs --tail=100 postgres

```

Check the public URL, server clock, network access and health checks. Share only redacted logs with support. Do not send your environment file or API keys. Contact Sydekyks (mailto:rein@ibasuite.com) for installation help.
