{"id":21338675,"url":"https://github.com/hausgold/docker-debezium-connect","last_synced_at":"2026-04-19T14:32:24.459Z","repository":{"id":262694700,"uuid":"888059769","full_name":"hausgold/docker-debezium-connect","owner":"hausgold","description":"mDNS enabled quay.io/debezium/connect image","archived":false,"fork":false,"pushed_at":"2025-05-12T11:07:46.000Z","size":48,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-05-12T11:41:26.476Z","etag":null,"topics":["debezium","debezium-connector","docker","docker-image","kafka","kafka-connect","mdns","oss","zeroconf"],"latest_commit_sha":null,"homepage":"https://hub.docker.com/r/hausgold/debezium-connect/","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hausgold.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-13T18:37:18.000Z","updated_at":"2025-05-12T11:07:49.000Z","dependencies_parsed_at":"2024-11-13T19:38:20.678Z","dependency_job_id":"db62202b-570c-4633-919b-9ad060495039","html_url":"https://github.com/hausgold/docker-debezium-connect","commit_stats":null,"previous_names":["hausgold/docker-debezium-connect"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/hausgold/docker-debezium-connect","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hausgold%2Fdocker-debezium-connect","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hausgold%2Fdocker-debezium-connect/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hausgold%2Fdocker-debezium-connect/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hausgold%2Fdocker-debezium-connect/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hausgold","download_url":"https://codeload.github.com/hausgold/docker-debezium-connect/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hausgold%2Fdocker-debezium-connect/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263076927,"owners_count":23410164,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["debezium","debezium-connector","docker","docker-image","kafka","kafka-connect","mdns","oss","zeroconf"],"created_at":"2024-11-22T00:34:31.378Z","updated_at":"2026-04-19T14:32:19.424Z","avatar_url":"https://github.com/hausgold.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"![mDNS enabled Debezium Connect](https://raw.githubusercontent.com/hausgold/docker-debezium-connect/master/docs/assets/project.svg)\n\n[![Continuous Integration](https://github.com/hausgold/docker-debezium-connect/actions/workflows/package.yml/badge.svg?branch=master)](https://github.com/hausgold/docker-debezium-connect/actions/workflows/package.yml)\n[![Source Code](https://img.shields.io/badge/source-on%20github-blue.svg)](https://github.com/hausgold/docker-debezium-connect)\n[![Docker Image](https://img.shields.io/badge/image-on%20docker%20hub-blue.svg)](https://hub.docker.com/r/hausgold/debezium-connect/)\n\nThis Docker images provides the\n[quay.io/debezium/connect](https://quay.io/debezium/connect) image as base with\nthe mDNS/ZeroConf stack on top.  So you can enjoy [Debezium\nConnect](https://debezium.io/documentation/reference/stable/architecture.html)\nwhile it is accessible by default as *debezium-connect.local* (Port 80, 8083)\nas a single-node [Kafka\nConnect](https://kafka.apache.org/documentation/#connect) cluster.\n\n- [Requirements](#requirements)\n- [Getting starting](#getting-starting)\n- [Host configs](#host-configs)\n- [Configure a different mDNS hostname](#configure-a-different-mdns-hostname)\n- [Other top level domains](#other-top-level-domains)\n- [Further reading](#further-reading)\n\n## Requirements\n\n* Host enabled Avahi daemon\n* Host enabled mDNS NSS lookup\n\n## Getting starting\n\nTo get a single-node [Kafka\nConnect](https://kafka.apache.org/documentation/#connect) cluster up and\nrunning create a `docker-compose.yml` and insert the following snippet:\n\n```yaml\nservices:\n  debezium-connect:\n    image: hausgold/debezium-connect\n    volumes:\n      # This directory may contain Bash scripts which are executed once the\n      # Kafka Connect REST API is available - to register connectors\n      - ./debezium-connectors:/hooks/start.post.d\n    environment:\n      # Just the defaults\n      MDNS_HOSTNAME: debezium-connect.local\n      # Do not include the table schema on the event messages. This must be set\n      # on the Debezium Connect instance, not on a per-connector base.\n      # CONNECT_KEY_CONVERTER_SCHEMAS_ENABLE: 'false'\n      # CONNECT_VALUE_CONVERTER_SCHEMAS_ENABLE: 'false'\n\n  postgres:\n    image: hausgold/postgres\n    environment:\n      POSTGRES_DB: source\n      # This is needed for Debezium/pgoutput to work\n      POSTGRES_ARGS: -c wal_level=logical\n      # Just the defaults:\n      MDNS_HOSTNAME: postgres.local\n      POSTGRES_USER: postgres\n      POSTGRES_PASSWORD: postgres\n\n  kafka:\n    image: hausgold/kafka\n    environment:\n      MDNS_HOSTNAME: kafka.local\n      # See: http://bit.ly/2UDzgqI for Kafka downscaling\n      KAFKA_HEAP_OPTS: -Xmx256M -Xms32M\n    ulimits:\n      # Due to systemd/pam RLIMIT_NOFILE settings (max int inside the\n      # container), the Java process seams to allocate huge limits which result\n      # in a +unable to allocate file descriptor table - out of memory+ error.\n      # Lowering this value fixes the issue for now.\n      #\n      # See: http://bit.ly/2U62A80\n      # See: http://bit.ly/2T2Izit\n      nofile:\n        soft: 100000\n        hard: 100000\n```\n\nCreate the `debezium-connectors/` directory and place a `my-connector` file\nwith the following contents in it:\n\n```shell\n#!/usr/bin/env bash\n\nregister-pg-connector \\\n  'my-connector' \\\n  database.dbname='source' \\\n  table.include.list='public.table_a,public.table_b'\n\n# Re-route all events to a single Apache Kafka topic\n# transforms='Reroute' \\\n# transforms.Reroute.type='io.debezium.transforms.ByLogicalTableRouter' \\\n# transforms.Reroute.topic.regex='.*' \\\n# transforms.Reroute.topic.replacement='my-single-topic' \\\n```\n\nCheckout the\n[`register-pg-connector`](https://github.com/hausgold/docker-debezium-connect/blob/master/build/utilities/register-pg-connector)\nand\n[`register-connector`](https://github.com/hausgold/docker-debezium-connect/blob/master/build/utilities/register-connector)\nutilities for their defaults. And check the [Debezium PostgreSQL connector\nconfiguration\nproperties](https://debezium.io/documentation/reference/stable/connectors/postgresql.html#postgresql-required-configuration-properties)\nfor an overview of available configuration options.\n\nAfterwards start the service with the following command:\n\n```bash\n$ docker-compose up\n```\n\nNow you can list existing connectors at this endpoint\n([/connectors?expand=status\u0026expand=info](http://debezium-connect.local/connectors?expand=status\u0026expand=info))\nfor example.\n\n## Host configs\n\nInstall the nss-mdns package, enable and start the avahi-daemon.service. Then,\nedit the file /etc/nsswitch.conf and change the hosts line like this:\n\n```bash\nhosts: ... mdns4_minimal [NOTFOUND=return] resolve [!UNAVAIL=return] dns ...\n```\n\n## Configure a different mDNS hostname\n\nThe magic environment variable is *MDNS_HOSTNAME*. Just pass it like that to\nyour docker run command:\n\n```bash\n$ docker run --rm -e MDNS_HOSTNAME=something.else.local hausgold/debezium-connect\n```\n\nThis will result in *something.else.local*.\n\nYou can also configure multiple aliases (CNAME's) for your container by\npassing the *MDNS_CNAMES* environment variable. It will register all the comma\nseparated domains as aliases for the container, next to the regular mDNS\nhostname.\n\n```bash\n$ docker run --rm \\\n  -e MDNS_HOSTNAME=something.else.local \\\n  -e MDNS_CNAMES=nothing.else.local,special.local \\\n  hausgold/debezium-connect\n```\n\nThis will result in *something.else.local*, *nothing.else.local* and\n*special.local*.\n\n## Other top level domains\n\nBy default *.local* is the default mDNS top level domain. This images does not\nforce you to use it. But if you do not use the default *.local* top level\ndomain, you need to [configure your host avahi][custom_mdns] to accept it.\n\n## Further reading\n\n* Docker/mDNS demo: https://github.com/Jack12816/docker-mdns\n* Archlinux howto: https://wiki.archlinux.org/index.php/avahi\n* Ubuntu/Debian howto: https://wiki.ubuntuusers.de/Avahi/\n\n[custom_mdns]: https://wiki.archlinux.org/index.php/avahi#Configuring_mDNS_for_custom_TLD\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhausgold%2Fdocker-debezium-connect","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhausgold%2Fdocker-debezium-connect","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhausgold%2Fdocker-debezium-connect/lists"}