Skip to content

First run

Keep your logs

During the process, you will run a few console commands. Please do not clean up your terminal till you will have a working setup — output can be valuable to share with colleagues to debug possible issues.

Got problems with the Docker?

Take a look at the docs in the .docker directory.

Setting up our development environment is quite easy. The goal is to run a local copy of https://www.interaction-design.org/ on a Docker container.

Find out about our technology stack here.

Setup steps

Estimated time: 60–300 minutes.

  1. Setup your global .gitignore
  2. Clone IxDF-web git repository.
    1. If you are new to GitHub: Add your public SSH key to your GitHub account to allow your machine to access to repos on GitHub
    2. Clone repository: git clone git@github.com:InteractionDesignFoundation/IxDF-web.git.
  3. Setup Laravel Forge account:
    1. Accept an invitation to forge.laravel.com (your team lead or onboarding buddy should send it).
    2. Blocking step. Add your public SSH key to IxDF staging-web server: forge.laravel.com. Your key name should follow {firstname}--{device} convention, e.g. john--mbp2021. This step is required to download the DB dump from staging server using SSH.
  4. Run the application using Docker Compose
    1. Install/update Docker Compose.
    2. Run make first-run command from the root of the cloned project. It will:
      • prepare your .env
      • prepare your AI settings
      • configure git hooks
      • build the Docker images
      • download (≈2GB) and import a partial dump of the production MySQL database
      • install dependencies (both composer and npm)
      • start the application.

Nice job 😎, that’s about it!

Please check whether the newly created env works properly using the checklist below.

Local PHP (optional)

For backend developers, it's recommended to use local PHP interpreter to run some PHP tools like php-cs-fixer, phpstan - as it's more performant.

To archive this, please follow these steps:

  1. Unsure you use the correct PHP version with all required extensions: run composer i to check it

    1. is anything missing? - Run pie install. No pie in your system? - Please install pie (it's strictly recommended in 2025)
  2. Install cpx (a Composer Package Executor)

    sh
    composer global require cpx/cpx

Checklist

  1. Open http://localhost:8000 in your browser: A local copy of the IxDF site should be opened.
  2. Measure back-end response time for home page (http://localhost:8000): It should be less than 1 second (guest/no-auth mode). If the response on your machine is more than 1 second — something wrong with the performance on your side, please contact @backend-dev-team on the #dev Slack channel.
  3. Check SSH connection to the app Docker container using shell: docker compose exec app sh. You should be able to connect to the container. Type exit to close the SSH session.
  4. Run tests by executing make test from your host machine. Make sure they pass. Run them again and share total time with developers on #dev channel (it should be under 3 mins, if it's slower—something wrong on your side or your machine is too slow).

Got problems? — Try to solve your issues in no more than 15 minutes. If your issues are not solved, please contact our devs by posting a message to the # dev Slack channel.

Happy hacking!

🦄