RARgames / 4gaBoards

The realtime kanban boards for groups
MIT License
51 stars 17 forks source link
agile boards collaboration docker javascript kanban kanban-boards project-management react real-time realtime redux self-hosted trello

4ga Boards

GitHub release (latest by date)GitHubGitHub contributors

Kanban boards inspired by discontinued Gitkraken Glo Boards.

4gaBoards_gif

We'll work on a demo when we finish all tasks from the #1 issue.

Features

Getting started docs

English | Polski

Deploy

There are 2 types of installation:

  1. Dockerized
  2. Without Docker

1. Docker Compose

curl -L https://raw.githubusercontent.com/RARgames/4gaBoards/main/docker-compose.yml -o docker-compose.yml

Pull images and start services:

docker compose up -d

Default url: http://localhost:3000 Demo user: demo Demo password: demo

2. Without Docker

Installing without Docker is a bit more complicated, here's what you need to do:

  1. Clone this repository into a directory of your choice. (e.g. /var/www/4gaBoards)
mkdir -p /var/www/4gaBoards
cd /var/www/4gaBoards
git clone https://github.com/RARgames/4gaBoards.git .
  1. Install dependencies, build client, copy build to the server directory.
npm i
npm run client:build

cp -r client/build server/public
cp client/build/index.html server/views/index.ejs

Note: You can use yarn or pnpm instead of npm.

  1. Configure environment variables.
cp server/.env.sample server/.env

# Edit .env file (You could use nano, vim, etc.)
nano server/.env

Note: Before continuing, make sure you have your selected database created and running.

  1. Copy start script from the root directory to the server directory and start the server.
cp start.sh server
cd server
./start.sh

Note: You can use pm2 or systemd to run the server in the background.

Default url: http://localhost:1337 Demo user: demo Demo password: demo

Additional information (Google SSO, Nginx Configuration, Logging, Rotating Logs, Fail2ban, Helm Chart)

Backup and Restore

Before executing backup/restore scripts, change current directory to the directory where docker-compose is located.

To backup your data use: ./boards-backup.sh

To restore it use: ./boards-restore.sh 4gaBoards-backup.tgz You can use any relative path.

When restoring, the password has to match docker-compose password (If you don't remember it, you can set new password in docker-compose, but you have to skip altering the default user in backup.tgz/postgres.sql file e.g. comment line ALTER ROLE postgres WITH SUPERUSER INHERIT CREATEROLE CREATEDB LOGIN REPLICATION BYPASSRLS PASSWORD 'XXX' before restoring the backup).

Import from Trello

It's already available in 4ga Boards. Just add a project, then click Import while creating a new board.

Migration from Planka

Development

Clone the repository into a directory of your choice, install dependencies, copy .env:

git clone https://github.com/RARgames/4gaBoards.git .
npm i
cp server/.env.sample server/.env

Either use a local database or start the provided development database:

docker compose -f docker-compose-dev.yml up

Edit DATABASE_URL in server/.env if needed, then initialize the database:

npm run server:db:init

Start the development server:

npm start

Demo user: demo Demo password: demo

Contributing

Security

Tech stack

License

4ga Boards are MIT licensed.

Project was separated from Planka by meltyshev to preserve the MIT license, change project vision, and add some new features.