AcaWriter was created by the Academic Writing Analytics project, at the UTS Connected Intelligence Centre. The software is now being shared and improved across universities in Australia and beyond, as part of the Higher Education Text Analytics open source project.
Laravel, Postgres, GraphQL, Redis, node, socket.io, docker, docker-compose
At least 8GB of free RAM is required, recommended 16GB.
Install the following software in your environment:
Check the following:
$ docker --version
Docker version XX.XX.XX, build XXXXXXX
$ docker-compose --version
docker-compose version X.XX.X, build XXXXXXXX
$ git --version
git version X.XX.X
git clone https://github.com/uts-cic/acawriter.git
cd acawriter
At the minimum you need to configure APP_KEY, and APP_URL (if not running on localhost):
cp .env.example .env
vim .env
...
APP_KEY=base64:mTC7uqwOB0YpGbMZSueR/zC4pYE9mDheXqnm3NFQ0MQ=
...
APP_URL=http://my-server-url /* keep http://localhost setting for local setup*/
...
DB_PASSWORD=my-secure-password
...
To generate APP_KEY you can use:
$ openssl rand -base64 32
WhkENO8c0jB0kWcrqIsFgsdl+AQqs9XZg5C+UYEE8FI=
Prepend base64:
OR
$ docker-compose exec app php artisan key:generate --show
base64:yq2h/9XOHYiRWjT5QsTha8HhP3MlmFEH7E3tWsZyiXw=
- Redirect path for AAF : https://your-acawriter-url/auth/okta
- Update the following values in .env
OKTA_ISSUER=
OKTA_CLIENT_ID=
OKTA_CLIENT_SECRET=
- Production link will need SSL
- Redirect path for AAF : https://your-acawriter-url/auth/jwt
- Update the following values in .env
AAF_SECRET=
AAF_AUD=
AAF_LINK=
AcaWriter supports LTI integration.
- LTI callback URL: https://your-acawriter-url/auth/lti
- Update the following value in .env
LTI_KEY=
LTI_SECRET=
$ docker-compose up -d
Once build process is completed, you can check if the containers are running:
$ docker-compose ps
Name Command State Ports
----------------------------------------------------------------------------------
app docker-php-entrypoint php-fpm Up 9000/tcp
athanor /opt/docker/bin/athanor-server Up 0.0.0.0:8083->8083/tcp
nginx nginx -g daemon off; Up 0.0.0.0:80->80/tcp
postgres docker-entrypoint.sh postgres Up 5432/tcp
redis docker-entrypoint.sh redis ... Up 6379/tcp
socketio docker-entrypoint.sh node ... Up 3000/tcp
tap /opt/docker/bin/tap Up 0.0.0.0:9000->9000/tcp
Run the following commands to:
- Setup database
- Populate database with roles and fatures
- Create the first user admin account - follow the prompts, and select admin role (4)
$ docker-compose exec app php artisan migrate
$ docker-compose exec app php artisan db:seed
$ docker-compose exec app php artisan create:user
AcaWriter is open sourced under [Apache 2.0] licence.