Kanban boards inspired by discontinued Gitkraken Glo Boards.
We'll work on a demo when we finish all tasks from the #1 issue.
- Create projects, boards, lists, cards, labels and tasks
- Add card members, track time, set a due date, add attachments, write comments
- Markdown support in a card description and comment
- Filter by members and labels
- Customize project background
- Real-time updates
- User notifications
- Internationalization
- Google SSO - We are working on more features!
- Github 2-way sync [Coming soon]
- Github/Microsoft SSO [Coming soon]
There are 2 types of installation:
- Make sure you have Docker and Docker Compose installed and operational.
- Create
docker-compose.yml
based on the example. This is the ONLY file you will need. You can create this file on your machine by copying and pasting the content or download it:
curl -L https://raw.githubusercontent.com/RARgames/4gaBoards/main/docker-compose.yml -o docker-compose.yml
- Edit
BASE_URL
to match your domain name or IP address. - Edit
SECRET_KEY
with random value. You can generate it byopenssl rand -hex 64
. - Replace 2 occurrences of
notpassword
with generated db password inPOSTGRES_PASSWORD
andDATABASE_URL
.
Pull images and start services:
docker compose up -d
Default url: http://localhost:3000 Demo user: demo
Demo password: demo
Installing without Docker is a bit more complicated, here's what you need to do:
- 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 .
- 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
.
- 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.
- 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)
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).
It's already available in 4ga Boards. Just add a project, then click Import while creating a new board.
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
- React, Redux, Redux-Saga, Redux-ORM, Semantic UI React, react-beautiful-dnd
- Sails.js, Knex.js
- PostgreSQL
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.