{"id":43542729,"url":"https://github.com/meloncafe/mariadb-galera","last_synced_at":"2026-06-07T09:01:28.252Z","repository":{"id":334816630,"uuid":"1130383817","full_name":"meloncafe/mariadb-galera","owner":"meloncafe","description":"MariaDB Galera Docker Image","archived":false,"fork":false,"pushed_at":"2026-03-17T08:42:55.000Z","size":45,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-17T23:51:46.524Z","etag":null,"topics":["docker","mariadb"],"latest_commit_sha":null,"homepage":"https://hub.docker.com/r/devsaurus/mariadb-galera","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/meloncafe.png","metadata":{"files":{"readme":"README.ko.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-01-08T12:33:41.000Z","updated_at":"2026-03-17T08:42:58.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/meloncafe/mariadb-galera","commit_stats":null,"previous_names":["meloncafe/mariadb-galera"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/meloncafe/mariadb-galera","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meloncafe%2Fmariadb-galera","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meloncafe%2Fmariadb-galera/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meloncafe%2Fmariadb-galera/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meloncafe%2Fmariadb-galera/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/meloncafe","download_url":"https://codeload.github.com/meloncafe/mariadb-galera/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meloncafe%2Fmariadb-galera/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34014821,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-07T02:00:07.652Z","response_time":124,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["docker","mariadb"],"created_at":"2026-02-03T18:25:09.406Z","updated_at":"2026-06-07T09:01:28.240Z","avatar_url":"https://github.com/meloncafe.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MariaDB Galera Cluster\n\n[![Docker Pulls](https://img.shields.io/docker/pulls/devsaurus/mariadb-galera)](https://hub.docker.com/r/devsaurus/mariadb-galera)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)\n\n공식 MariaDB 이미지에 Galera 클러스터 자동화 스크립트를 추가한 이미지입니다.\n\n[English](README.md)\n\n## 개요\n\n공식 `mariadb` Docker 이미지를 확장하여 다음 기능을 제공합니다:\n- Galera 클러스터 자동 설정\n- 부트스트랩 감지 및 처리\n- SST 사용자 관리\n- 클러스터 상태 헬스체크\n\n**소스 컴파일 없음** - 공식 MariaDB 바이너리를 사용하여 안정성과 빠른 빌드를 보장합니다.\n\n## 빠른 시작\n\n### 단일 노드 (테스트용)\n\n```bash\ndocker run -d --name galera \\\n  -e MARIADB_ROOT_PASSWORD=secret \\\n  -e GALERA_CLUSTER_BOOTSTRAP=yes \\\n  devsaurus/mariadb-galera:11.4\n```\n\n### 3노드 클러스터\n\n```bash\n# 1. 부트스트랩 노드 시작\ndocker run -d --name galera-1 \\\n  -e MARIADB_ROOT_PASSWORD=secret \\\n  -e GALERA_CLUSTER_NAME=mycluster \\\n  -e GALERA_CLUSTER_ADDRESS=galera-1,galera-2,galera-3 \\\n  -e GALERA_CLUSTER_BOOTSTRAP=yes \\\n  -e GALERA_SST_PASSWORD=sstpass \\\n  devsaurus/mariadb-galera:11.4\n\n# 2. 부트스트랩 완료 후 나머지 노드 시작\ndocker run -d --name galera-2 \\\n  -e MARIADB_ROOT_PASSWORD=secret \\\n  -e GALERA_CLUSTER_NAME=mycluster \\\n  -e GALERA_CLUSTER_ADDRESS=galera-1,galera-2,galera-3 \\\n  -e GALERA_SST_PASSWORD=sstpass \\\n  devsaurus/mariadb-galera:11.4\n```\n\n### Docker Compose\n\n[docker-compose.yml](docker-compose.yml)에서 완전한 3노드 클러스터 예제를 확인하세요.\n\n## 환경 변수\n\n### MariaDB (공식)\n\n| 변수 | 설명 | 기본값 |\n|------|------|--------|\n| `MARIADB_ROOT_PASSWORD` | Root 비밀번호 (필수) | - |\n| `MARIADB_DATABASE` | 시작 시 생성할 데이터베이스 | - |\n| `MARIADB_USER` | 시작 시 생성할 사용자 | - |\n| `MARIADB_PASSWORD` | MARIADB_USER 비밀번호 | - |\n\n### Galera (Devsaurus)\n\n| 변수 | 설명 | 기본값 |\n|------|------|--------|\n| `GALERA_CLUSTER_NAME` | 클러스터 이름 | `galera_cluster` |\n| `GALERA_CLUSTER_ADDRESS` | 노드 목록 (쉼표 구분) | - |\n| `GALERA_CLUSTER_BOOTSTRAP` | 새 클러스터 부트스트랩 | `no` |\n| `GALERA_NODE_NAME` | 이 노드의 이름 | `$(hostname)` |\n| `GALERA_NODE_ADDRESS` | 이 노드의 IP | 자동 감지 |\n| `GALERA_SST_METHOD` | SST 방식 | `mariabackup` |\n| `GALERA_SST_USER` | SST 사용자 | `mariabackup` |\n| `GALERA_SST_PASSWORD` | SST 비밀번호 | - |\n| `GALERA_FORCE_BOOTSTRAP` | 강제 부트스트랩 (복구용) | `no` |\n\n## 포트\n\n| 포트 | 프로토콜 | 설명 |\n|------|----------|------|\n| 3306 | TCP | MySQL 클라이언트 |\n| 4567 | TCP/UDP | Galera 복제 |\n| 4568 | TCP | IST (증분 상태 전송) |\n| 4444 | TCP | SST (상태 스냅샷 전송) |\n\n## 볼륨\n\n| 경로 | 설명 |\n|------|------|\n| `/var/lib/mysql` | 데이터베이스 데이터 |\n| `/docker-entrypoint-initdb.d` | 초기화 스크립트 (`.sh`, `.sql`, `.sql.gz`, `.sql.xz`, `.sql.zst`) |\n\n## 부트스트랩 로직\n\n엔트리포인트가 자동으로 부트스트랩 여부를 결정합니다:\n\n1. `GALERA_CLUSTER_BOOTSTRAP=yes` → 부트스트랩\n2. `GALERA_FORCE_BOOTSTRAP=yes` → 강제 부트스트랩 (복구)\n3. 데이터 없음 + 다른 노드 접근 불가 → 부트스트랩\n4. `safe_to_bootstrap: 1` + 다른 노드 없음 → 부트스트랩\n5. 그 외 → 기존 클러스터에 조인\n\n## 아키텍처\n\n```\n┌─────────────────────────────────────────────────┐\n│ devsaurus/mariadb-galera                        │\n├─────────────────────────────────────────────────┤\n│ /opt/devsaurus/                                 │\n│   ├── bin/entrypoint.sh    (Galera 자동화)        │\n│   ├── bin/healthcheck.sh   (클러스터 헬스체크)       │\n│   └── lib/common.sh        (공통 함수)            │\n├─────────────────────────────────────────────────┤\n│ 공식 mariadb:xx 이미지                             │\n│   └── /usr/local/bin/docker-entrypoint.sh       │\n└─────────────────────────────────────────────────┘\n```\n\n## 라이선스\n\n- **스크립트** (`/opt/devsaurus/`): MIT 라이선스\n- **MariaDB**: GPLv2 (공식 이미지)\n\n## 링크\n\n- [Docker Hub](https://hub.docker.com/r/devsaurus/mariadb-galera)\n- [GitHub](https://github.com/meloncafe/mariadb-galera)\n- [공식 MariaDB 이미지](https://hub.docker.com/_/mariadb)\n- [Galera 문서](https://galeracluster.com/library/documentation/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmeloncafe%2Fmariadb-galera","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmeloncafe%2Fmariadb-galera","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmeloncafe%2Fmariadb-galera/lists"}