Importance
: 10%
The Big Idea
Install docker desktop
Initialize docker dev environment from forked repo
https://docs.docker.com/desktop/dev-environments/create-dev-env/
apt-get update
apt-get install curl
install node from curl source
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash - &&\
sudo apt-get install -y nodejs
https://github.com/nodesource/distributions/blob/master/README.md
apt-get install make
curl -s https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
https://gist.github.com/kenng/e694a5fa1c4753644518d099665869a9
https://learn.microsoft.com/en-us/training/modules/use-docker-container-dev-env-vs-code/
https://devcontainers.github.io/guide/dockerfile
https://code.visualstudio.com/remote/advancedcontainers/configure-separate-containers
First almost working dev container for lean time. Has correct php, node, and npm, but missing these php extensions (see next text). Also seems like we need to forward port 9000 for debugging. Possibly just use the Docker file and Docker_compose file within the devcontainer.js
// For format details, see https://aka.ms/devcontainer.json. For config options, see the
// README at: https://github.com/devcontainers/templates/tree/main/src/php
{
   ânameâ: âPHPâ,
   // Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile
   âimageâ: âmcr.microsoft.com/devcontainers/php:0-8.2â,
   // Features to add to the dev container. More info: https://containers.dev/features.
   // âfeaturesâ: {},
   // Configure tool-specific properties.
   // âcustomizationsâ: {},
   // Use âforwardPortsâ to make a list of ports inside the container available locally.
   âforwardPortsâ: [
       8080
   ],
   âfeaturesâ: {
       âghcr.io/devcontainers/features/node:1â: {
           ânodeGypDependenciesâ: true,
           âversionâ: âltsâ
       },
       âghcr.io/devcontainers-contrib/features/npm-package:1â: {
           âpackageâ: âtypescriptâ,
           âversionâ: âlatestâ
       },
       âghcr.io/jungaretti/features/make:1â: {}
   }
   // Use âpostCreateCommandâ to run commands after the container is created.
   // âpostCreateCommandâ: âsudo chmod a+x â(pwd)\" && sudo rm -rf /var/www/html && sudo ln -s \"(pwd)â /var/www/htmlâ
   // Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root.
   // âremoteUserâ: ârootâ
}
 Problem 1
   - Root composer.json requires PHP extension ext-ldap * but it is missing from your system. Install or enable PHPâs ldap extension.
 Problem 2
   - mpdf/mpdf[v8.1.3, âŠ, v8.1.6] require ext-gd * â it is missing from your system. Install or enable PHPâs gd extension.
   - Root composer.json requires mpdf/mpdf ^8.1.3 â satisfiable by mpdf/mpdf[v8.1.3, v8.1.4, v8.1.5, v8.1.6].
Locally run make
Use git bash
Install php using zip install method
Enable needed extensions in php.ini