Skip to content

nakamauwu/nakama

Repository files navigation

join slack join discord

Nakama

banner

Source code of the next social network for anime fans. Still on development.

New work is being done at next branch.

Docker build

The easies way to start the server and its dependencies is by using Docker.

docker-compose up --build

Building

Instead of Docker, you can also install and build stuff by yourself, that way you have complete control.

So, besides having Go installed, the server needs CockroachDB and NATS. Also Node.js and npm for the front-end.

First, you need a cockroach node running.

cockroach start-single-node --insecure --listen-addr 127.0.0.1

Then, you need to create the database and tables.

cat schema.sql | cockroach sql --insecure

Then you need to start NATS server.

nats-server

Now, you can build and run the server.

go build ./cmd/nakama
./nakama

For the front-end you need to install dependencies.

cd web/app
npm i

Now you can either build the entire front-end, or run a dev server:

npm run build

or

npm run dev

Database Backups

Instructions to perform a database backup and restore.
Have a running S3 compatible instance, then:

BACKUP DATABASE nakama INTO 's3://${S3_BUCKET}?AWS_ACCESS_KEY_ID=${S3_ACCESS_KEY_ID}&AWS_SECRET_ACCESS_KEY=${S3_SECRET_ACCESS_KEY}&AWS_REGION=${S3_REGION}&AWS_ENDPOINT=${S3_ENDPOINT}';
RESTORE DATABASE nakama FROM LATEST IN 's3://${S3_BUCKET}?AWS_ACCESS_KEY_ID=${S3_ACCESS_KEY_ID}&AWS_SECRET_ACCESS_KEY=${S3_SECRET_ACCESS_KEY}&AWS_REGION=${S3_REGION}&AWS_ENDPOINT=${S3_ENDPOINT}';

CockroachDB follows a YY.R.PP year, release and patch versioning system. After each release, we should perform a backup before upgrading.


Eva Icons are being used in the front-end. Thank you.