Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/yarnaimo/agrec
https://github.com/yarnaimo/agrec
docker google-drive nodejs slack typescript
Last synced: 23 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/yarnaimo/agrec
- Owner: yarnaimo
- License: mit
- Created: 2020-03-23T12:55:26.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2021-07-20T14:38:05.000Z (over 3 years ago)
- Last Synced: 2023-03-09T23:41:12.429Z (over 1 year ago)
- Topics: docker, google-drive, nodejs, slack, typescript
- Language: TypeScript
- Homepage:
- Size: 143 KB
- Stars: 5
- Watchers: 3
- 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
```