{"id":43797042,"url":"https://github.com/zemyblue/mattermost-arm64-image","last_synced_at":"2026-02-05T21:08:54.321Z","repository":{"id":333129983,"uuid":"1136299127","full_name":"zemyblue/mattermost-arm64-image","owner":"zemyblue","description":null,"archived":false,"fork":false,"pushed_at":"2026-01-17T18:24:06.000Z","size":35,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-17T23:56:52.200Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zemyblue.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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-17T12:41:31.000Z","updated_at":"2026-01-17T18:24:08.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/zemyblue/mattermost-arm64-image","commit_stats":null,"previous_names":["zemyblue/mattermost-arm64-image"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/zemyblue/mattermost-arm64-image","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zemyblue%2Fmattermost-arm64-image","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zemyblue%2Fmattermost-arm64-image/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zemyblue%2Fmattermost-arm64-image/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zemyblue%2Fmattermost-arm64-image/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zemyblue","download_url":"https://codeload.github.com/zemyblue/mattermost-arm64-image/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zemyblue%2Fmattermost-arm64-image/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29134451,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-05T20:50:26.975Z","status":"ssl_error","status_checked_at":"2026-02-05T20:49:26.082Z","response_time":65,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":[],"created_at":"2026-02-05T21:08:54.212Z","updated_at":"2026-02-05T21:08:54.301Z","avatar_url":"https://github.com/zemyblue.png","language":"Dockerfile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Mattermost ARM64 Docker Image\n\nRaspberry Pi 및 ARM64 아키텍처를 위한 Mattermost Docker 이미지 자동 빌드 및 배포 시스템입니다.\n\n## 특징\n\n- **ARM64 최적화**: Raspberry Pi 4/5 및 ARM64 시스템을 위한 네이티브 빌드\n- **자동 업데이트**: 매일 새로운 Mattermost 릴리스를 자동으로 감지하고 빌드\n- **다중 버전 태그**: `latest`, 메이저, 마이너, 패치 버전 태그 제공\n- **GitHub Container Registry**: GHCR을 통한 빠르고 안정적인 이미지 배포\n- **Docker Compose 지원**: PostgreSQL과 함께 즉시 배포 가능\n- **헬스체크 내장**: 컨테이너 상태 자동 모니터링\n\n## Quick Start\n\n### Docker Compose로 실행 (권장)\n\nPostgreSQL과 함께 완전한 Mattermost 스택을 배포합니다.\n\n```bash\n# 1. 필요한 파일 다운로드\nwget https://raw.githubusercontent.com/zemyblue/mattermost-arm64-image/main/docker-compose.yml\nwget https://raw.githubusercontent.com/zemyblue/mattermost-arm64-image/main/.env.example\n\n# 2. 환경 설정 파일 생성 (선택 사항)\ncp .env.example .env\n# .env 파일을 열어서 필요한 설정 변경 (비밀번호, URL 등)\n\n# 3. 실행\ndocker compose up -d\n\n# 4. 로그 확인\ndocker compose logs -f\n\n# 5. 웹 브라우저에서 접속\n# http://localhost:8065\n```\n\n**참고**: `.env` 파일을 만들지 않아도 기본 설정으로 실행됩니다. 설정을 변경하고 싶을 때만 `.env` 파일을 생성하세요.\n\n### Docker만 사용 (PostgreSQL 별도 필요)\n\n```bash\n# 이미지 다운로드\ndocker pull ghcr.io/zemyblue/mattermost-arm64:latest\n\n# 실행 (PostgreSQL이 이미 실행 중이어야 함)\ndocker run -d \\\n  --name mattermost \\\n  -p 8065:8065 \\\n  -e MM_SQLSETTINGS_DATASOURCE=\"postgres://mmuser:password@postgres:5432/mattermost?sslmode=disable\" \\\n  -v mattermost_data:/opt/mattermost/data \\\n  ghcr.io/zemyblue/mattermost-arm64:latest\n```\n\n**참고**: Mattermost는 PostgreSQL이 필수입니다. Docker Compose 사용을 권장합니다.\n\n## Raspberry Pi에서 사용하기\n\nRaspberry Pi에서 Mattermost를 설치하고 실행하는 방법은 별도 가이드를 참조하세요:\n\n**📖 [Raspberry Pi 완전 가이드](HOWTO_RASPBERRY_PI.md)**\n\n### 빠른 시작 (요약)\n\n```bash\n# 1. Docker 설치\ncurl -fsSL https://get.docker.com | sh\nsudo usermod -aG docker $USER\nnewgrp docker\n\n# 2. Mattermost 배포\nmkdir -p ~/mattermost \u0026\u0026 cd ~/mattermost\nwget https://raw.githubusercontent.com/zemyblue/mattermost-arm64-image/main/docker-compose.yml\ndocker compose up -d\n\n# 3. 브라우저에서 접속\n# http://raspberrypi.local:8065\n```\n\n자세한 내용은 [HOWTO_RASPBERRY_PI.md](HOWTO_RASPBERRY_PI.md)를 확인하세요.\n\n## 환경 설정 (.env)\n\n`.env` 파일을 사용하여 `docker-compose.yml`을 수정하지 않고 설정을 변경할 수 있습니다.\n\n### 설정 파일 생성\n\n```bash\n# .env.example을 복사하여 .env 생성\ncp .env.example .env\n\n# 에디터로 열어서 수정\nnano .env\n```\n\n### 주요 설정 항목\n\n| 카테고리 | 환경 변수 | 기본값 | 설명 |\n|---------|----------|--------|------|\n| **네트워크** | `MATTERMOST_HTTP_PORT` | `8065` | HTTP 포트 |\n| | `MATTERMOST_SITE_URL` | `http://localhost:8065` | 사이트 URL |\n| **데이터베이스** | `POSTGRES_USER` | `mmuser` | PostgreSQL 사용자 |\n| | `POSTGRES_PASSWORD` | `mmuser_password` | PostgreSQL 비밀번호 ⚠️ |\n| | `POSTGRES_DB` | `mattermost` | 데이터베이스 이름 |\n| **볼륨** | `POSTGRES_DATA_PATH` | `postgres_data` | DB 데이터 경로 |\n| | `MATTERMOST_DATA_PATH` | `mattermost_data` | 파일 저장 경로 |\n| **이메일** | `EMAIL_VERIFICATION_REQUIRED` | `false` | 이메일 검증 필수 |\n| | `SMTP_SERVER` | - | SMTP 서버 (프로덕션) |\n| **기타** | `TIMEZONE` | `Asia/Seoul` | 타임존 |\n| | `MAX_FILE_SIZE` | `104857600` | 최대 파일 크기 (100MB) |\n\n### 일반적인 설정 예시\n\n#### 1. 포트 변경\n\n```env\nMATTERMOST_HTTP_PORT=8080\nMATTERMOST_SITE_URL=http://localhost:8080\n```\n\n#### 2. 비밀번호 변경 (권장)\n\n```env\nPOSTGRES_PASSWORD=your_secure_password_here\n```\n\n#### 3. Bind Mount로 데이터 저장\n\n```bash\n# 먼저 디렉토리 생성\nmkdir -p volumes/{postgres,mattermost/{data,logs,config,plugins}}\n\n# 컨테이너 사용자(UID/GID 2000)가 쓸 수 있게 권한 설정\nsudo chown -R 2000:2000 volumes/mattermost volumes/postgres\nsudo chmod -R 775 volumes/mattermost volumes/postgres\n\n# .env 파일 수정\nPOSTGRES_DATA_PATH=./volumes/postgres\nMATTERMOST_DATA_PATH=./volumes/mattermost/data\nMATTERMOST_LOGS_PATH=./volumes/mattermost/logs\nMATTERMOST_CONFIG_PATH=./volumes/mattermost/config\nMATTERMOST_PLUGINS_PATH=./volumes/mattermost/plugins\n```\n\n#### 4. SMTP 이메일 설정 (Gmail 예시)\n\n```env\nEMAIL_VERIFICATION_REQUIRED=true\nEMAIL_NOTIFICATIONS_ENABLED=true\nSMTP_AUTH_ENABLED=true\nSMTP_SERVER=smtp.gmail.com\nSMTP_PORT=587\nSMTP_USERNAME=your-email@gmail.com\nSMTP_PASSWORD=your-app-password\nSMTP_FROM_NAME=Mattermost\nSMTP_FROM_EMAIL=your-email@gmail.com\n```\n\n**Gmail 앱 비밀번호 생성**: https://myaccount.google.com/apppasswords\n\n### 설정 적용\n\n```bash\n# 설정 변경 후 재시작\ndocker compose down\ndocker compose up -d\n```\n\n### 현재 설정 확인\n\n```bash\n# 환경 변수 확인\ndocker compose config\n\n# 특정 서비스의 환경 변수\ndocker compose exec mattermost env | grep MM_\n```\n\n## 버전 태그 전략\n\n이 프로젝트는 유연한 버전 관리를 위한 다중 태그 시스템을 사용합니다.\n\n### 사용 가능한 태그\n\nMattermost 버전 `11.3.0`이 릴리스되면 다음 태그가 생성됩니다:\n\n- `ghcr.io/zemyblue/mattermost-arm64:11.3.0` - 정확한 패치 버전\n- `ghcr.io/zemyblue/mattermost-arm64:11.3` - 11.3.x의 최신 버전\n- `ghcr.io/zemyblue/mattermost-arm64:11` - 11.x.x의 최신 버전\n- `ghcr.io/zemyblue/mattermost-arm64:latest` - 전체 최신 버전\n\n### 태그 선택 가이드\n\n| 사용 사례 | 권장 태그 | 이유 |\n|---------|---------|-----|\n| 프로덕션 환경 | `11.3.0` | 정확한 버전 고정, 예상치 못한 업데이트 방지 |\n| 테스트 환경 | `11.3` | 마이너 버전 내 패치 자동 적용 |\n| 개발 환경 | `latest` | 항상 최신 기능 사용 |\n| 메이저 버전 고정 | `11` | 메이저 버전 내에서 최신 상태 유지 |\n\n### 예제\n\n```bash\n# 프로덕션: 정확한 버전 사용\ndocker pull ghcr.io/zemyblue/mattermost-arm64:11.3.0\n\n# 스테이징: 마이너 버전의 최신 패치\ndocker pull ghcr.io/zemyblue/mattermost-arm64:11.3\n\n# 개발: 최신 버전\ndocker pull ghcr.io/zemyblue/mattermost-arm64:latest\n```\n\n## 고급 설정\n\n### Mattermost 환경 변수\n\n`.env` 파일을 통해 주요 설정을 변경할 수 있습니다. 자세한 내용은 위의 **환경 설정 (.env)** 섹션을 참조하세요.\n\n고급 Mattermost 설정이 필요한 경우, `MM_` 접두사를 가진 환경 변수를 추가할 수 있습니다:\n\n```yaml\n# docker-compose.yml의 mattermost 서비스에 추가\nenvironment:\n  MM_TEAMSETTINGS_MAXUSERSPERTEAM: 100\n  MM_SERVICESETTINGS_ENABLEDEVELOPER: \"true\"\n```\n\n전체 환경 변수 목록은 [Mattermost 공식 문서](https://docs.mattermost.com/configure/configuration-settings.html)를 참조하세요.\n\n## 볼륨\n\n| 경로 | 용도 |\n|-----|-----|\n| `/opt/mattermost/data` | 업로드된 파일 및 데이터 |\n| `/opt/mattermost/logs` | 애플리케이션 로그 |\n| `/opt/mattermost/config` | 설정 파일 |\n| `/opt/mattermost/plugins` | 플러그인 |\n\n### 백업\n\n중요한 데이터를 백업하려면:\n\n```bash\n# 볼륨 백업\ndocker run --rm \\\n  -v mattermost_data:/data \\\n  -v $(pwd):/backup \\\n  alpine tar czf /backup/mattermost_data_backup.tar.gz -C /data .\n\n# PostgreSQL 백업\ndocker compose exec postgres pg_dump -U mmuser mattermost \u003e mattermost_db_backup.sql\n```\n\n### 복원\n\n```bash\n# 볼륨 복원\ndocker run --rm \\\n  -v mattermost_data:/data \\\n  -v $(pwd):/backup \\\n  alpine sh -c \"cd /data \u0026\u0026 tar xzf /backup/mattermost_data_backup.tar.gz\"\n\n# PostgreSQL 복원\ndocker compose exec -T postgres psql -U mmuser mattermost \u003c mattermost_db_backup.sql\n```\n\n## 모바일 앱 푸시 알림 설정\n\n모바일 앱에서 알림을 받으려면 Push Notification Service를 설정해야 합니다.\n\n### Cloudflare 터널 사용 시\n\n```bash\n# .env 파일 생성/수정\ncp .env.example .env\nnano .env\n```\n\n다음 설정 추가:\n```env\n# Cloudflare 터널 URL로 변경 (HTTPS 필수)\nMATTERMOST_SITE_URL=https://your-domain.com\n\n# 푸시 알림 서버 (테스트 서버 사용)\nPUSH_NOTIFICATION_SERVER=https://push-test.mattermost.com\nPUSH_NOTIFICATION_CONTENTS=full\n```\n\n재시작:\n```bash\ndocker compose down\ndocker compose up -d\n```\n\n### 푸시 알림 서버 옵션\n\n| 옵션 | URL | 비용 | 제한사항 | 권장 사용 |\n|-----|-----|-----|---------|----------|\n| **테스트 서버** (기본) | `https://push-test.mattermost.com` | 무료 | 알림 수 제한, SLA 없음 | 개발/테스트/개인 사용 |\n| **HPNS** | `https://push.mattermost.com` | 유료 | Enterprise E20 라이선스 필요 | 프로덕션 (상용) |\n| **자체 Push Proxy** | `https://your-push-proxy.com` | **무료** | 직접 구축/운영 필요 | **프로덕션 (무료 무제한)** |\n\n**💡 제한 없이 무료로 사용하려면**: 자체 Push Proxy 서버 구축을 권장합니다. 한 번 설정하면 알림 수 제한 없이 영구적으로 무료 사용 가능합니다.\n\n### 자체 Push Proxy 서버 구축 (권장)\n\n프로덕션 환경에서 **무료로 제한 없이** 푸시 알림을 사용하려면 자체 Push Proxy 서버를 구축하세요.\n\n**장점**:\n- ✅ **완전 무료**: 서버 비용만 필요 (월 $5 정도의 VPS로 충분)\n- ✅ **무제한**: 알림 수 제한 없음\n- ✅ **프라이버시**: 데이터가 외부 서버로 전송되지 않음\n- ✅ **완전한 제어**: 커스터마이징 가능\n\n**단점**:\n- ⚠️ 초기 설정 필요 (1-2시간)\n- ⚠️ 서버 관리 필요\n\n**구축 가이드**: [Mattermost Push Proxy](https://github.com/mattermost/mattermost-push-proxy)\n\n**간단한 설치 방법** (Docker 사용):\n\n```bash\n# Push Proxy 서버에서 실행\ngit clone https://github.com/mattermost/mattermost-push-proxy.git\ncd mattermost-push-proxy\n\n# 설정 파일 생성\ncp config/config-sample.json config/config.json\n\n# config.json 수정 (Apple/Google 인증서 설정)\n# 자세한 내용: https://developers.mattermost.com/contribute/mobile/push-notifications/service/\n\n# Docker로 실행\ndocker build -t mattermost-push-proxy .\ndocker run -d -p 8066:8066 -v $(pwd)/config:/config mattermost-push-proxy\n\n# Mattermost 서버의 .env 파일에 추가\n# PUSH_NOTIFICATION_SERVER=https://your-push-proxy-server.com:8066\n```\n\n**참고**: 자체 Push Proxy는 Apple/Google 개발자 계정이 필요하며, 모바일 앱을 직접 빌드해야 합니다. 자세한 내용은 [공식 문서](https://developers.mattermost.com/contribute/mobile/push-notifications/)를 참조하세요.\n\n### 알림 내용 설정\n\n```env\n# full: 전체 메시지 내용 (기본값, 권장)\nPUSH_NOTIFICATION_CONTENTS=full\n\n# generic: \"새 메시지가 있습니다\" 형태\n# PUSH_NOTIFICATION_CONTENTS=generic\n\n# id_loaded: 메시지 ID만 (보안 강화)\n# PUSH_NOTIFICATION_CONTENTS=id_loaded\n```\n\n### 검증\n\n1. 모바일 앱 설치: [iOS](https://apps.apple.com/app/mattermost/id984966508) / [Android](https://play.google.com/store/apps/details?id=com.mattermost.rn)\n2. 서버 URL 입력: `https://your-domain.com`\n3. 로그인 후 알림 테스트\n4. 시스템 콘솔 → 환경 → 푸시 알림 서버에서 \"연결 테스트\" 확인\n\n## 트러블슈팅\n\n### 모바일 앱 알림이 오지 않음\n\n**증상**: \"서버 구성상 알람을 수신할 수 없습니다\" 메시지\n\n**해결**:\n```bash\n# 1. .env 파일 확인\ncat .env | grep PUSH\n\n# 2. 푸시 알림 설정 추가 (세 가지 모두 필요!)\necho \"SEND_PUSH_NOTIFICATIONS=true\" \u003e\u003e .env\necho \"PUSH_NOTIFICATION_SERVER=https://push-test.mattermost.com\" \u003e\u003e .env\necho \"PUSH_NOTIFICATION_CONTENTS=full\" \u003e\u003e .env\n\n# 3. SITE_URL이 HTTPS인지 확인 (Cloudflare 터널 사용 시 필수)\necho \"MATTERMOST_SITE_URL=https://your-domain.com\" \u003e\u003e .env\n\n# 4. 재시작\ndocker compose down \u0026\u0026 docker compose up -d\n\n# 5. 설정 확인\ndocker compose exec mattermost env | grep PUSH\n# 출력에 다음이 있어야 함:\n# MM_EMAILSETTINGS_SENDPUSHNOTIFICATIONS=true\n# MM_EMAILSETTINGS_PUSHNOTIFICATIONSERVER=https://push-test.mattermost.com\n# MM_EMAILSETTINGS_PUSHNOTIFICATIONCONTENTS=full\n```\n\n**참고**: 테스트 푸시 서버는 제한이 있으므로 프로덕션에서는 Enterprise 라이선스 또는 자체 Push Proxy 사용을 권장합니다.\n\n### Mattermost가 시작되지 않음\n\n1. 로그 확인:\n   ```bash\n   docker logs mattermost\n   # 또는\n   docker compose logs mattermost\n   ```\n\n2. PostgreSQL 연결 확인:\n   ```bash\n   docker compose exec postgres pg_isready -U mmuser\n   ```\n\n3. 포트 충돌 확인:\n   ```bash\n   sudo netstat -tlnp | grep 8065\n   ```\n\n### 데이터베이스 연결 오류\n\nPostgreSQL이 완전히 시작되기 전에 Mattermost가 시작하는 경우:\n\n```bash\n# 컨테이너 재시작\ndocker compose restart mattermost\n\n# 또는 depends_on 조건 확인\ndocker compose ps\n```\n\n### 권한 문제\n\n볼륨 권한 문제가 발생하는 경우(파일 업로드/플러그인 설치 실패 포함):\n\n```bash\n# 컨테이너 내부에서 확인\ndocker compose exec mattermost ls -la /opt/mattermost/\n\n# bind mount 사용 시: 호스트 경로 권한 수정\nsudo chown -R 2000:2000 volumes/mattermost volumes/postgres\nsudo chmod -R 775 volumes/mattermost volumes/postgres\n\n# named volume 사용 시: 볼륨 내부 권한 수정\ndocker compose exec --user root mattermost chown -R mattermost:mattermost /opt/mattermost/\n```\n\n### 메모리 부족 (Raspberry Pi)\n\nRaspberry Pi에서 메모리 부족 문제가 발생하는 경우:\n\n1. 스왑 증가:\n   ```bash\n   sudo dphys-swapfile swapoff\n   sudo nano /etc/dphys-swapfile\n   # CONF_SWAPSIZE=2048로 변경\n   sudo dphys-swapfile setup\n   sudo dphys-swapfile swapon\n   ```\n\n2. PostgreSQL 메모리 설정 조정:\n   ```yaml\n   # docker-compose.yml에 추가\n   postgres:\n     command: postgres -c shared_buffers=128MB -c max_connections=100\n   ```\n\n### 이미지 pull 실패\n\n```bash\n# GHCR 인증 (private repository인 경우)\necho $GITHUB_TOKEN | docker login ghcr.io -u zemyblue --password-stdin\n\n# 네트워크 확인\ndocker pull alpine:latest\n```\n\n## 로컬 빌드\n\nGHCR 이미지 대신 직접 빌드하려는 경우:\n\n### 기본 빌드\n\n```bash\n# 기본 버전(11.3.0)으로 빌드\ndocker build -t mattermost-arm64:local .\n\n# 특정 버전 지정\ndocker build \\\n  --build-arg MATTERMOST_VERSION=11.2.0 \\\n  -t mattermost-arm64:11.2.0 \\\n  .\n```\n\n### 멀티 플랫폼 빌드 (선택)\n\n```bash\n# Buildx 설정\ndocker buildx create --name multiarch --use\ndocker buildx inspect --bootstrap\n\n# ARM64 + AMD64 빌드\ndocker buildx build \\\n  --platform linux/arm64,linux/amd64 \\\n  --build-arg MATTERMOST_VERSION=11.3.0 \\\n  -t mattermost:11.3.0 \\\n  --push \\\n  .\n```\n\n### Docker Compose로 로컬 빌드\n\n`docker-compose.yml`에서 `image:` 라인을 주석 처리하고 `build:` 섹션의 주석을 해제합니다:\n\n```yaml\nmattermost:\n  # image: ghcr.io/zemyblue/mattermost-arm64:latest\n  build:\n    context: .\n    dockerfile: Dockerfile\n    args:\n      MATTERMOST_VERSION: 11.3.0\n```\n\n그 다음:\n\n```bash\ndocker compose build\ndocker compose up -d\n```\n\n## 자동 빌드 시스템\n\n이 프로젝트는 GitHub Actions를 사용하여 자동으로 새로운 Mattermost 릴리스를 감지하고 빌드합니다.\n\n### 작동 방식\n\n1. **스케줄**: 매일 00:00 UTC에 자동 실행\n2. **버전 감지**: GitHub API를 통해 최신 Mattermost 릴리스 확인\n3. **중복 확인**: GHCR에 해당 버전이 이미 존재하는지 확인\n4. **빌드**: 새 버전 발견 시 ARM64 이미지 빌드\n5. **배포**: 다중 태그로 GHCR에 푸시\n\n### 수동 빌드 트리거\n\nGitHub Actions 탭에서 \"Build and Push Docker Image\" 워크플로우를 수동으로 실행할 수 있습니다:\n\n- `version`: 빌드할 Mattermost 버전 (예: `11.3.0`)\n- `force_build`: 기존 이미지가 있어도 강제로 재빌드\n\n## 기여\n\n이슈 및 풀 리퀘스트를 환영합니다.\n\n## 라이선스\n\n이 프로젝트는 MIT 라이선스를 따릅니다.\n\nMattermost는 별도의 라이선스를 가지고 있습니다. 자세한 내용은 [Mattermost 라이선스](https://github.com/mattermost/mattermost/blob/master/LICENSE.txt)를 참조하세요.\n\n## 관련 링크\n\n- [Mattermost 공식 웹사이트](https://mattermost.com/)\n- [Mattermost GitHub](https://github.com/mattermost/mattermost)\n- [Mattermost 문서](https://docs.mattermost.com/)\n- [GitHub Container Registry](https://github.com/features/packages)\n\n## 지원\n\n문제가 발생하거나 질문이 있으시면 [이슈](https://github.com/zemyblue/mattermost-arm64-image/issues)를 생성해주세요.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzemyblue%2Fmattermost-arm64-image","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzemyblue%2Fmattermost-arm64-image","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzemyblue%2Fmattermost-arm64-image/lists"}