Platform to serve Hololive information to community tools
- Requirements
- Optional, you can just run Postgres locally.
dockeranddocker-composeto run Postgres and PGAdmin4.
- Optional, you can just run Postgres locally.
- Have a
gcp-key.jsonon project root- You may get this from your GCP Project, under credentials
- Create Service Account
- Create JSON key file. Rename it to
gcp-key.json. Store it safely since it cannot be re-downloaded.
- You may get this from your GCP Project, under credentials
- Copy
.env.exampleinto.env- Change values for your environment
- Change values in
ecosystem.config.jsfor your environment - Execute
docker-compose upornpm starton root- API is then accessible through
http://localhost:2434/
- API is then accessible through
Note that cron format used here is:
* * * * * *
┬ ┬ ┬ ┬ ┬ ┬
│ │ │ │ │ │
│ │ │ │ │ └ day of week (0 - 7) (0 or 7 is Sun)
│ │ │ │ └───── month (1 - 12)
│ │ │ └────────── day of month (1 - 31)
│ │ └─────────────── hour (0 - 23)
│ └──────────────────── minute (0 - 59)
└───────────────────────── second (0 - 59, OPTIONAL)
Set up deployment of holotools-api by using the following deployment methods:
- HEROKU Automatic Deployment using a Procfile
- Digital Ocean Deployment
- or if you'd rather not deploy from local, and would like it semi-automated, use a webhook: https://github.com/adnanh/webhook
Setting up a dev user account
# Add user to run DB under
$ adduser holotools
$ usermod -aG sudo holotools
# Have SSH keys synced
$ rsync --archive --chown=holotools:holotools ~/.ssh /home/holotools
Setting up postgresql
$ sudo apt update && sudo apt install postgresql postgresql-contrib
$ sudo -i -u postgres
# Create a new user in postgres with same username as the dev user (holotools):
$ createuser --interactive
# Set it up with the holotools user.
$ createdb holotools
Now you have holotools user which can modify holotools database without pg auth.
For testing connections from outside, modify the pg_hba.conf for your postgres install:
host all all 127.0.0.1/32 trust
change the pg_hba.conf for localhost (127.0.0.1/32) from md5 to trust to give pg permissions. This allows SSH tunneling to log in to postgres.
To connect to postgres from external: set up SSH tunnel -L 9999:localhost:5432 or, use SSH-tunnel connection option bundled with any db administration tools (tableplus, pgAdmin4). Then use holotools user to log in. No db password is needed in this setup, but don't open up the db to external or security issues may arise.
Installing Memcached: Detailed Guide
$ sudo apt install memcached libmemcached-tools
This sets up memcached service at localhost:11211, well, it's not daemonized.