# services: # # Airbyte OSS - Simplified deployment # # Note: For production, consider using abctl or full Airbyte stack # # This is a minimal setup for development/testing # airbyte: # image: airbyte/airbyte-standalone:0.50.33 # container_name: airbyte # ports: # - "8000:8000" # environment: # - DATABASE_HOST=postgres # - DATABASE_PORT=5432 # - DATABASE_USER=${DB_USER} # - DATABASE_PASSWORD=${DB_PASSWORD} # - DATABASE_DB=airbyte # - TZ=${TZ:-Asia/Bangkok} # volumes: # - ./data/workspace:/workspace # - ./data/config:/config # - /var/run/docker.sock:/var/run/docker.sock # networks: # - shared_data_network # restart: unless-stopped # networks: # shared_data_network: # external: true services: docker-proxy: image: alpine/socat container_name: airbyte-docker-proxy command: -t 900 TCP-LISTEN:2375,fork,reuseaddr UNIX-CONNECT:/var/run/docker.sock restart: unless-stopped user: root volumes: - /var/run/docker.sock:/var/run/docker.sock networks: - shared_data_network ###0.63.8 airbyte-temporal: image: airbyte/temporal:1.8.5 container_name: airbyte-temporal restart: unless-stopped environment: - DB=postgresql - DB_PORT=${DB_PORT} - POSTGRES_DB=temporal - VISIBILITY_POSTGRES_DB=temporal_visibility - POSTGRES_SEEDS=${DB_HOST} - POSTGRES_USER=${DB_USER} - POSTGRES_PWD=${DB_PASSWORD} networks: - shared_data_network bootloader: image: airbyte/bootloader:1.8.5 container_name: airbyte-bootloader restart: "no" environment: - AIRBYTE_VERSION=1.8.5 - DATABASE_URL=jdbc:postgresql://${DB_HOST}:${DB_PORT}/airbyte - DATABASE_USER=${DB_USER} - DATABASE_PASSWORD=${DB_PASSWORD} - LOG_LEVEL=INFO networks: - shared_data_network worker: image: airbyte/worker:1.8.5 container_name: airbyte-worker restart: unless-stopped depends_on: - docker-proxy - airbyte-temporal - bootloader environment: - AIRBYTE_VERSION=1.8.5 - DATABASE_URL=jdbc:postgresql://${DB_HOST}:${DB_PORT}/airbyte - DATABASE_USER=${DB_USER} - DATABASE_PASSWORD=${DB_PASSWORD} - CONFIG_ROOT=/data - WORKSPACE_ROOT=/workspace - LOCAL_ROOT=/local_root - TEMPORAL_HOST=airbyte-temporal:7233 - LOG_LEVEL=INFO - WORKER_ENVIRONMENT=docker - DOCKER_HOST=docker-proxy:2375 volumes: - ./data/workspace:/workspace - ./data/config:/data - ./data/local_root:/local_root networks: - shared_data_network server: image: airbyte/server:1.8.5 container_name: airbyte-server restart: unless-stopped depends_on: - airbyte-temporal - bootloader environment: - AIRBYTE_VERSION=1.8.5 - DATABASE_URL=jdbc:postgresql://${DB_HOST}:${DB_PORT}/airbyte - DATABASE_USER=${DB_USER} - DATABASE_PASSWORD=${DB_PASSWORD} - CONFIG_ROOT=/data - WORKSPACE_ROOT=/workspace - LOCAL_ROOT=/local_root - TEMPORAL_HOST=airbyte-temporal:7233 - WEBAPP_URL=http://localhost:8000 - LOG_LEVEL=INFO - WORKER_ENVIRONMENT=docker volumes: - ./data/workspace:/workspace - ./data/config:/data - ./data/local_root:/local_root networks: - shared_data_network webapp: image: airbyte/webapp:1.8.5 container_name: airbyte-webapp restart: unless-stopped environment: - AIRBYTE_SERVER_HOST=server:8001 networks: - shared_data_network depends_on: - server airbyte-cron: image: airbyte/cron:1.8.5 container_name: airbyte-cron restart: unless-stopped depends_on: - bootloader environment: - AIRBYTE_VERSION=1.8.5 - DATABASE_URL=jdbc:postgresql://${DB_HOST}:${DB_PORT}/airbyte - DATABASE_USER=${DB_USER} - DATABASE_PASSWORD=${DB_PASSWORD} - WORKSPACE_ROOT=/workspace - TEMPORAL_HOST=airbyte-temporal:7233 - LOG_LEVEL=INFO volumes: - ./data/workspace:/workspace networks: - shared_data_network airbyte-api-server: image: airbyte/airbyte-api-server:1.8.5 container_name: airbyte-api-server restart: unless-stopped depends_on: - bootloader networks: - shared_data_network airbyte-connector-builder-server: image: airbyte/connector-builder-server:1.8.5 container_name: airbyte-connector-builder-server restart: unless-stopped depends_on: - bootloader networks: - shared_data_network airbyte-proxy: image: airbyte/proxy:1.8.5 container_name: airbyte-proxy restart: unless-stopped ports: - "8030:8000" - "8001:8001" - "8003:8003" - "8006:8006" environment: - BASIC_AUTH_USERNAME=${AIRBYTE_BASIC_AUTH_USERNAME:-} - BASIC_AUTH_PASSWORD=${AIRBYTE_BASIC_AUTH_PASSWORD:-} - BASIC_AUTH_PROXY_TIMEOUT=${AIRBYTE_BASIC_AUTH_PROXY_TIMEOUT:-} networks: - shared_data_network depends_on: - webapp - server - airbyte-api-server networks: shared_data_network: external: true