https://github.com/mellowagain/pomu
pomu.app archives VTuber livestreams both automatically and on-demand
https://github.com/mellowagain/pomu
archiver livestream s3 stream-archive vtuber youtube
Last synced: about 1 year ago
JSON representation
pomu.app archives VTuber livestreams both automatically and on-demand
- Host: GitHub
- URL: https://github.com/mellowagain/pomu
- Owner: mellowagain
- License: bsd-3-clause
- Created: 2022-06-18T12:25:07.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2024-09-17T21:18:19.000Z (over 1 year ago)
- Last Synced: 2025-03-26T07:22:48.124Z (about 1 year ago)
- Topics: archiver, livestream, s3, stream-archive, vtuber, youtube
- Language: Go
- Homepage: https://dev.pomu.app
- Size: 86.7 MB
- Stars: 15
- Watchers: 5
- Forks: 2
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- Changelog: history.go
- License: LICENSE.txt
Awesome Lists containing this project
README

# pomu.app
pomu.app archives VTuber livestreams both automatically and on-demand.
[API documentation][7] / [CDN documentation][8]
# Requirements
pomu.app can be built and ran either as standalone or within
a Docker container.
**Building**
* Standalone
* Go 1.18+
* `node` 19+
* `yarn`
* `git`
* Docker
* `docker`
**Running**
Only for standalone:
* `youtube-dl` / `yt-dlp`
* `ffmpeg`
For both standalone and within a Docker container:
* PostgreSQL database
* S3 object storage for finished files (we suggest [Backblaze][2])
* Google API key with YouTube v3 Data API access
* Discord OAuth application
Optional for both standalone and Docker:
* Sentry.io DSN for error reporting
* Holodex API key
# Building
**Backend (standalone)**
* Windows: `.\build.ps1`
* macOS and Linux: `./build.sh`
**Frontend (standalone)**
```
yarn install && yarn build
```
**Docker**
```
docker build .
```
# Running
First, rename the `.env.example` into `.env` and fill in your
configuration options.
**Standalone**
Starting pomu.app is as simple as running `pomu` or `pomu.exe`, depending on your OS.
**Docker**
> **Warning**
> Do not change the `BIND_ADDRESS` value in `.env` when running pomu.app using Docker.
```
docker run --name pomu -p 8080:8080 --env-file ".env"
```
You will receive a warning upon startup that the `.env` file was
not found by pomu. Docker has expanded the file already for us,
so this warning can be safely ignored.
# FAQ
Q: I'd like to take down an archived livestream on pomu.app
A: Please contact mari@pomu.app or emily@pomu.app to initiate the take-down (DMCA) process.
Q: Why does this exist?
A: We love watching various [Vtubers][0] which occasionally
do _unarchived_ livestreams, such as [karaoke][1]. We wanted to
archive them on a regular basis - thus pomu.app was born.
Q: What does `pomu` stand for?
A: [Pomu Rainpuff][3] is the [strongest fairy][4] in the world. It'd be only
fitting to have her as the name for this service.
Q: How do you make money?
A: We don't. The hosted version of pomu.app is fully paid
out of pocket by [Mari][5] and [Emily][6]. We don't intend to turn
it commercial as it's not our content, and thus we have no right
to profit off of livestreams produced by others.
Q: How much does it cost to run pomu.app per month?
A: The server, paid for by [Emily][6], costs €5 per month. S3 storage, paid for
by [Mari][5], may reach up to €15 per month and are publicly displayed on [the development instance][9].
# Thank you
[][instatus]
[Status page][10] provided by Instatus
[0]: https://en.wikipedia.org/wiki/VTuber
[1]: https://music.holodex.net/
[2]: https://www.backblaze.com/
[3]: https://www.youtube.com/channel/UCP4nMSTdwU1KqYWu3UH5DHQ
[4]: https://www.youtube.com/watch?v=iadFVBNQuMw
[5]: https://twitter.com/mellowagain
[6]: https://twitter.com/emilydotgg
[7]: https://docs.pomu.app
[8]: https://docs-cdn.pomu.app
[9]: https://dev.pomu.app
[10]: https://status.pomu.app
[instatus]: https://instatus.com/