Skip to content


Nehal Hasnayeen edited this page Jun 17, 2019 · 24 revisions

Setup using single file installer

Docker & Docker Compose must be installed

  1. Clone the repository
git clone
cd goodwork
  1. Copy .env from .env.example
cp .env.example .env
  1. Define environment variable

Set app port, db credentials and mail driver credentials in .env file. Also provide SSL_CERT_DOMAIN(your domain) and SSL_CERT_DIR(directory of your ssl certificates file) values for ssl setup.(Not needed for local development)

  1. Run the installer
sudo chmod +x
sudo chmod +x

For local development

sudo chmod +x
sudo chmod +x
./ local

To stop server: ./cmd stop & to start server ./cmd start

Login Credentials for Admin User email: password: secret

Change the credentials from user account page after login

Setup using Docker manually

Docker & Docker Compose must be installed

  1. Clone the repository
git clone
cd goodwork
  1. Copy .env from .env.example
cp .env.example .env
  1. Add value to below environment variables

APP_PORT= (whatever port you want to run the app)

DB_HOST=db (Value should be db)

DB_DATABASE= (Add value as you wish)

DB_USERNAME= (Add value as you wish)

DB_PASSWORD= (Add value as you wish)

DB_ROOT_PASSWORD= (Add value as you wish)

REDIS_HOST=redis (Value should be redis)

TRAVIS=false (Value should be false)

  1. Build php image
./cmd build php
  1. Install laravel dependencies
./cmd composer install
  1. Run below command to start app server for the first time
./cmd up -d
  1. Generate a app key
./cmd art key:generate
  1. Migrate db & seed
./cmd art migrate --seed
./cmd npm install

Visit localhost:port in your browser to visit the app

replace port with your APP_PORT variable

  1. To stop the app server
./cmd stop

P.S: Once application is setup, whenever you want to start the server (if it is stopped) run below command

./cmd start

Shortcuts for running command

  • To run a artisan command
./cmd art "your command"
  • To run a composer command
./cmd composer "your command"
  • To run a phpunit command
./cmd test "your command"
  • To run a npm command
./cmd npm "your command"
  • To run a yarn command
./cmd yarn "your command"
  • To run a mysql command
./cmd mysql "your command"

Setup usual way (if you're not using docker)

[Fork the repo if you are outside collaborator ]

1 Clone the project to your local pc

$ git clone

for outside collaborator

$ git clone{yourusername}/goodwork.git

2 Configure remotes:

$ cd goodwork
$ git remote add origin

3 Setup application

$ git checkout master # use dev branch for local development
$ git pull origin master # use dev branch for local development
$ composer install
$ cp .env.example .env
$ php artisan key:generate
$ php artisan storage:link
$ php artisan migrate --seed
$ npm install

4 Run Redis server

// install redis on your machine
$ wget
$ tar xvzf redis-stable.tar.gz
$ cd redis-stable
$ make
// run redis server
$ redis-server

5 Run Laravel Echo Server

$ npm install -g laravel-echo-server
$ laravel-echo-server start

6 Run Queue worker

$ php artisan queue:work redis --sleep=1 --tries=1
You can’t perform that action at this time.