{"id":34891073,"url":"https://github.com/dev-shimada/ecscd","last_synced_at":"2026-03-03T06:02:31.719Z","repository":{"id":332049969,"uuid":"1065154696","full_name":"dev-shimada/ecscd","owner":"dev-shimada","description":"GitOps-based Amazon ECS continuous deployment management tool with real-time monitoring and web interface","archived":false,"fork":false,"pushed_at":"2026-02-04T07:38:55.000Z","size":2319,"stargazers_count":0,"open_issues_count":11,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-04T19:33:09.376Z","etag":null,"topics":["aws","devops","ecs-service","gitops","nextjs"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/dev-shimada.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-27T06:46:52.000Z","updated_at":"2026-01-24T09:31:07.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/dev-shimada/ecscd","commit_stats":null,"previous_names":["dev-shimada/ecscd"],"tags_count":39,"template":false,"template_full_name":null,"purl":"pkg:github/dev-shimada/ecscd","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dev-shimada%2Fecscd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dev-shimada%2Fecscd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dev-shimada%2Fecscd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dev-shimada%2Fecscd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dev-shimada","download_url":"https://codeload.github.com/dev-shimada/ecscd/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dev-shimada%2Fecscd/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29261662,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-09T04:11:57.159Z","status":"ssl_error","status_checked_at":"2026-02-09T04:11:56.117Z","response_time":56,"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":["aws","devops","ecs-service","gitops","nextjs"],"created_at":"2025-12-26T05:30:25.038Z","updated_at":"2026-02-09T10:14:38.062Z","avatar_url":"https://github.com/dev-shimada.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ecscd\n\nECS Continuous Deployment - GitOps ベースの Amazon ECS デプロイメント管理ツール\n\n## 概要\n\nececd は、GitHub リポジトリの ECS タスク定義を監視し、ECS サービスの自動デプロイメントを行う Web アプリケーションです。GitOps の原則に従い、宣言的な設定管理と継続的デプロイメントを実現します。\n\n## 主な機能\n\n- **GitOps ベースのデプロイメント**: GitHub リポジトリを信頼できる情報源として使用\n- **ECS サービス管理**: タスク定義の変更を自動検出し、ECS サービスに反映\n- **差分表示**: 現在の設定と目標設定の詳細な差分を可視化\n- **リアルタイム監視**: デプロイメント状況をリアルタイムで追跡\n- **Web UI**: 直感的な Web インターフェースによる管理\n- **複数アプリケーション対応**: 複数の ECS サービスを一元管理\n\n## 動作イメージ\n\n![動作イメージ1](docs/image1.png)\n\n![動作イメージ2](docs/image2.png)\n\n## 技術スタック\n\n- **Frontend**: Next.js 15, React 19, TypeScript, Tailwind CSS\n- **Backend**: Next.js API Routes\n- **Database**: SQLite (本番環境では DynamoDB 対応)\n- **AWS**: ECS, STS (IAM ロール)\n- **その他**: GitHub API, Lucide React Icons\n\n## Docker イメージ\n\n```bash\ndocker pull ghcr.io/dev-shimada/ecscd:latest\n```\n\n## 環境変数\n\n| 変数名                                   | 説明                                        | デフォルト値                    |\n| ---------------------------------------- | ------------------------------------------- | ------------------------------- |\n| `DATABASE_TYPE`                          | sqlite or dynamodb                          | `sqlite`                        |\n| `DYNAMODB_TABLE_NAME`                    | dynamodb table name                         | `ECSCD`                         |\n| `AWS_REGION`                             | AWS リージョン                              | `us-east-1`                     |\n| `SQLITE_DB_PATH`                         | SQLite データベースファイルのパス           | `/tmp/ecscd.db` or `./ecscd.db` |\n| `GITHUB_TOKEN`                           | GitHub Personal Access Token                | -                               |\n| `NEXT_PUBLIC_APPLICATION_DEFAULT_REGION` | アプリケーションのデフォルト AWS リージョン | `ap-northeast-1`                |\n\n## 起動方法\n\n### Docker 使用\n\n```bash\ndocker run -d \\\n  -p 3000:3000 \\\n  -e GITHUB_TOKEN=your_github_token \\\n  -e AWS_REGION=ap-northeast-1 \\\n  -v $(pwd)/data:/tmp \\\n  ghcr.io/dev-shimada/ecscd:latest\n```\n\n### ローカル開発\n\n```bash\n# 依存関係のインストール\ncd ecscd\nnpm install\n\n# 開発サーバーの起動\nnpm run dev\n```\n\nアプリケーションは `http://localhost:3000` でアクセスできます。\n\n## アーキテクチャ\n\n```\n┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐\n│   GitHub Repo   │    │     ecscd       │    │   Amazon ECS    │\n│                 │    │                 │    │                 │\n│ task-def.json   │───▶│  Web Interface  │───▶│  ECS Service    │\n│                 │    │                 │    │                 │\n└─────────────────┘    └─────────────────┘    └─────────────────┘\n                              │\n                              ▼\n                       ┌─────────────────┐\n                       │   Database      │\n                       │ (SQLite/DDB)    │\n                       └─────────────────┘\n```\n\n## ディレクトリ構成\n\n```\necscd/\n├── src/\n│   ├── app/                 # Next.js App Router\n│   │   ├── api/            # API エンドポイント\n│   │   └── globals.css     # グローバルスタイル\n│   ├── components/         # Reactコンポーネント\n│   │   ├── ui/            # UI基盤コンポーネント\n│   │   └── *.tsx          # 機能別コンポーネント\n│   └── lib/               # ビジネスロジック\n│       ├── domain/        # ドメインモデル\n│       ├── infrastructure/ # インフラストラクチャ層\n│       ├── repository/    # データアクセス層\n│       └── usecase/       # ユースケース層\n├── Dockerfile\n└── package.json\n```\n\n## 開発\n\n### build\n\n```bash\nnpm run build\n```\n\n### lint\n\n```bash\nnpm run lint\n```\n\n### type check\n\n```bash\nnpx tsc --noEmit\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdev-shimada%2Fecscd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdev-shimada%2Fecscd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdev-shimada%2Fecscd/lists"}