{"id":17105648,"url":"https://github.com/yarnaimo/agrec","last_synced_at":"2025-06-20T22:41:39.262Z","repository":{"id":56288407,"uuid":"249430715","full_name":"yarnaimo/agrec","owner":"yarnaimo","description":null,"archived":false,"fork":false,"pushed_at":"2021-07-20T14:38:05.000Z","size":146,"stargazers_count":5,"open_issues_count":1,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-26T19:11:12.239Z","etag":null,"topics":["docker","google-drive","nodejs","slack","typescript"],"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/yarnaimo.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}},"created_at":"2020-03-23T12:55:26.000Z","updated_at":"2021-07-20T14:38:08.000Z","dependencies_parsed_at":"2022-08-15T16:01:05.367Z","dependency_job_id":null,"html_url":"https://github.com/yarnaimo/agrec","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yarnaimo%2Fagrec","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yarnaimo%2Fagrec/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yarnaimo%2Fagrec/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yarnaimo%2Fagrec/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yarnaimo","download_url":"https://codeload.github.com/yarnaimo/agrec/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248651024,"owners_count":21139730,"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":["docker","google-drive","nodejs","slack","typescript"],"created_at":"2024-10-14T15:42:37.555Z","updated_at":"2025-04-13T01:20:22.655Z","avatar_url":"https://github.com/yarnaimo.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# agrec\n\nagqr を録画して Google ドライブにアップロードするやつ (v2)\n\n## 📌 v1 → v2 のアップデート方法\n\n1.  v1 の cron ジョブを削除する\n1.  `yarn global add pm2`\n1.  `git pull \u0026\u0026 yarn`\n1.  設定ファイル を `config.yaml` に移行する (フォーマットは Install の 3. を参照)\n1.  `yarn start`\n\n以降は config.yaml が変更されると予約リストが Webhook に通知されます。\n\n## Requirement\n\nUbuntu 以外は動作確認していません\n\n-   **ffmpeg**\n-   **Node.js** (\u003e=12)\n-   **yarn** (npm を使う場合は適宜読み替えてください)\n-   **pm2** (`yarn global add pm2` でインストール)\n\n## Install\n\n### 1. リポジトリを clone して依存関係をインストールする\n\n```\ngit clone https://github.com/yarnaimo/agrec.git\ncd agrec\nyarn\n```\n\n### 2. Google Drive API の準備\n\n1.  https://developers.google.com/drive/api/v3/quickstart/nodejs の **Enable the Drive API** をクリック\n2.  **Download client configuration** をクリックしてダウンロードした `credentials.json` を `.data/` に移動する\n3.  `node authorize-google-drive.js` を実行して表示された URL をブラウザで開き、最後に表示されるコードをターミナルに貼り付ける\n4.  `.data/token.json` が作られたのを確認する\n\n### 3. 設定ファイルを作る\n\n**`config.yaml`**\n\n```yaml\nwebhookUrl: 'https://hooks.slack.com/services/xxxxx' # 通知しない場合は null\ndriveFolder: 'xxxxx' # Google ドライブのフォルダ ID (URL の末尾)\ndeleteLocal: true # Google ドライブへのアップロード後にローカルの録画ファイルを削除する\n\nreserves:\n    - label: 'himitsubako'\n      disabled: false\n      audioOnly: true # 録画後に音声のみ抽出する\n      wday: 2 # 曜日\n      start: [21, 30] # 時, 分\n      length: 30 # 長さ (分)\n```\n\n### 4.サービスを起動する\n\n```sh\nyarn start\n```\n\n## v2 以降のアップデート方法\n\n```\ngit pull\nyarn\nyarn start\n```\n\n## .agstream ファイルについて\n\nストリーミング URL が書かれた **`.agstream`** ファイルは git の管理下にあります。\n\n誰かがリモートの `.agstream` を更新したら `git pull` でローカルに反映できますが、遅いときは各自で書き換えてください。\n\n## Docker での実行方法\n\n### Requirement\n\n-   **Docker**\n-   **Docker Compose**\n\n### Install\n\n#### 1. リポジトリを clone\n\n```\ngit clone https://github.com/yarnaimo/agrec.git\ncd agrec\n```\n\n#### 2. 設定ファイルの作成\n\n通常インストール手順の [2. Google Drive API の準備](#2-google-drive-api-の準備) 、および [3. 設定ファイルを作る](#3-設定ファイルを作る) を実施してください。\n\nタイムゾーンが `Asia/Tokyo` で問題ない場合は以下を実行します。\n\n```\ncp .env.sample .env\n```\n\nそれ以外に設定する場合は上記実行後に `.env` ファイルの環境変数 `TZ` の値を変更してください。\n\n#### 3. Docker コンテナをバックグラウンドで起動\n\n```\ndocker-compose up -d\n```\n\n### アップデート方法\n\n**`config.yaml`** はホスト側のファイルを編集することで反映されます。\n\n**`.agstream`** ファイルの更新だけであれば `git pull` で反映されます。\n\nそれ以外の場合は以下を実行してください。\n\n```\ngit pull\ndocker-compose up -d --build\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyarnaimo%2Fagrec","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyarnaimo%2Fagrec","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyarnaimo%2Fagrec/lists"}