https://github.com/yarnaimo/agrec
https://github.com/yarnaimo/agrec
docker google-drive nodejs slack typescript
Last synced: about 1 year ago
JSON representation
- Host: GitHub
- URL: https://github.com/yarnaimo/agrec
- Owner: yarnaimo
- License: mit
- Created: 2020-03-23T12:55:26.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2021-07-20T14:38:05.000Z (almost 5 years ago)
- Last Synced: 2025-03-26T19:11:12.239Z (about 1 year ago)
- Topics: docker, google-drive, nodejs, slack, typescript
- Language: TypeScript
- Homepage:
- Size: 143 KB
- Stars: 5
- Watchers: 2
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# agrec
agqr を録画して Google ドライブにアップロードするやつ (v2)
## 📌 v1 → v2 のアップデート方法
1. v1 の cron ジョブを削除する
1. `yarn global add pm2`
1. `git pull && yarn`
1. 設定ファイル を `config.yaml` に移行する (フォーマットは Install の 3. を参照)
1. `yarn start`
以降は config.yaml が変更されると予約リストが Webhook に通知されます。
## Requirement
Ubuntu 以外は動作確認していません
- **ffmpeg**
- **Node.js** (>=12)
- **yarn** (npm を使う場合は適宜読み替えてください)
- **pm2** (`yarn global add pm2` でインストール)
## Install
### 1. リポジトリを clone して依存関係をインストールする
```
git clone https://github.com/yarnaimo/agrec.git
cd agrec
yarn
```
### 2. Google Drive API の準備
1. https://developers.google.com/drive/api/v3/quickstart/nodejs の **Enable the Drive API** をクリック
2. **Download client configuration** をクリックしてダウンロードした `credentials.json` を `.data/` に移動する
3. `node authorize-google-drive.js` を実行して表示された URL をブラウザで開き、最後に表示されるコードをターミナルに貼り付ける
4. `.data/token.json` が作られたのを確認する
### 3. 設定ファイルを作る
**`config.yaml`**
```yaml
webhookUrl: 'https://hooks.slack.com/services/xxxxx' # 通知しない場合は null
driveFolder: 'xxxxx' # Google ドライブのフォルダ ID (URL の末尾)
deleteLocal: true # Google ドライブへのアップロード後にローカルの録画ファイルを削除する
reserves:
- label: 'himitsubako'
disabled: false
audioOnly: true # 録画後に音声のみ抽出する
wday: 2 # 曜日
start: [21, 30] # 時, 分
length: 30 # 長さ (分)
```
### 4.サービスを起動する
```sh
yarn start
```
## v2 以降のアップデート方法
```
git pull
yarn
yarn start
```
## .agstream ファイルについて
ストリーミング URL が書かれた **`.agstream`** ファイルは git の管理下にあります。
誰かがリモートの `.agstream` を更新したら `git pull` でローカルに反映できますが、遅いときは各自で書き換えてください。
## Docker での実行方法
### Requirement
- **Docker**
- **Docker Compose**
### Install
#### 1. リポジトリを clone
```
git clone https://github.com/yarnaimo/agrec.git
cd agrec
```
#### 2. 設定ファイルの作成
通常インストール手順の [2. Google Drive API の準備](#2-google-drive-api-の準備) 、および [3. 設定ファイルを作る](#3-設定ファイルを作る) を実施してください。
タイムゾーンが `Asia/Tokyo` で問題ない場合は以下を実行します。
```
cp .env.sample .env
```
それ以外に設定する場合は上記実行後に `.env` ファイルの環境変数 `TZ` の値を変更してください。
#### 3. Docker コンテナをバックグラウンドで起動
```
docker-compose up -d
```
### アップデート方法
**`config.yaml`** はホスト側のファイルを編集することで反映されます。
**`.agstream`** ファイルの更新だけであれば `git pull` で反映されます。
それ以外の場合は以下を実行してください。
```
git pull
docker-compose up -d --build
```