- PHP 8.0
- Composer 2
- NVM with Node 20
- PNPM >=8.7.6 && <9
- Run
curl -fsSL https://get.pnpm.io/install.sh | env PNPM_VERSION=8.15.8 sh -to install pnpm- Run
pnpm add -g pnpm@8if you need to update to a newer version of pnpm 8 for some reason
- Run
- Run
- MySQL 5.7
- S3 (or compatible) storage
- Create a database
- Copy the
.env.exampleto.envand configure the variables - Install dependencies:
composer install --no-dev - Set up a new key for the application:
artisan key:generate - Properly fill in the
.envfile - Run the migrations:
artisan migrate - Run the bootstrapper:
artisan bootstrap:application - Link the storage:
artisan storage:link - Run the asset build:
./buildHook.sh $PWD - Import the translations:
artisan w2w:import-translations - Export the translations for Javascript:
artisan w2w:export-translations
- Create a database
- Copy the
.env.exampleto.envand configure the variables - Install dependencies:
composer install - Set up a new key for the application:
artisan key:generate - Properly fill in the
.envfile - Run the migrations and seeders:
artisan migrate --seed(it will handle the bootstrapping and linking of the storage as well) - Run the asset build:
./buildHook.sh $PWD --continue - Export the translations for Javascript:
artisan w2w:export-translations
Storage is assumed to run from a S3 service, or anything that's compatible with S3 (like Minio, Wasabisys, etc.). A public bucket is required from which images are served, and an Access Key + Secret should be entered into the .env file:
AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=
AWS_BUCKET_PUBLIC=
AWS_URL=
AWS_ENDPOINT=
AWS_USE_PATH_STYLE_ENDPOINT=trueTo be able to login with SURFconext you need to configure valid oAuth credentials in your .env file:
# SURFconext credentials
SURFCONEXT_CLIENT_ID=
SURFCONEXT_CLIENT_SECRET=
SURFCONEXT_REDIRECT_URI=http://sreapp.localtest.me/auth/surf/callback
SURFCONEXT_TEST=trueThe credentials can be managed through the SURFconext Service Provider dashboard.
Before users can login with SURFconext, they need to be member of one of the defined teams in SURFconext Teams. Management of these teams can be done on the Teams dashboard (Test or Production).
These teams are identified with an URN value, which is different between test and production. For the testing environment, these values are to be configured in your .env file:
SURFCONEXT_ROLE_TEACHER=urn:collab:group:test.surfconext.nl:nl:surfnet:diensten:edutools_test_docent
SURFCONEXT_ROLE_INFORMATION_MANAGER=urn:collab:group:test.surfconext.nl:nl:surfnet:diensten:edutools_test_informatiemanager
SURFCONEXT_ROLE_CONTENT_MANAGER=urn:collab:group:test.surfconext.nl:nl:surfnet:diensten:edutools_test_contentmanagerPerform the following steps to login with SURFconext:
- Click the
Login with SURFconextbutton on the login screen - Choose the EduID provider
- Log in with an existing EduID account, or create your own free account
- After the login, you are redirect back into the application and a user account is either created, or updated with the latest information from SURFconext