# https://taskfile.dev version: '3' vars: USER_ID: sh: id -u GROUP_ID: sh: id -g PROJECT: "homepage" PHP_IMAGE: "{{.PROJECT}}-php" NODE_IMAGE: "{{.PROJECT}}-node" DOCKER_COMMON_OPTS: >- --rm --interactive --tty --user {{.USER_ID}}:{{.GROUP_ID}} --volume /etc/passwd:/etc/passwd:ro --volume /etc/group:/etc/group:ro --volume "./:/srv/app" --workdir "/srv/app" -e XDG_CONFIG_HOME=/srv/app/.config -e XDG_CACHE_HOME=/srv/app/.cache -e HOME=/srv/app/.home tasks: build-docker: cmds: - docker build --file docker/php/Dockerfile --tag "{{.PHP_IMAGE}}" . - docker build --file docker/node/Dockerfile --tag "{{.NODE_IMAGE}}" . composer: cmds: - docker run {{.DOCKER_COMMON_OPTS}} "{{.PHP_IMAGE}}" composer {{.CLI_ARGS}} shell-node: cmds: - docker run {{.DOCKER_COMMON_OPTS}} "{{.NODE_IMAGE}}" bash npm: cmds: - docker run {{.DOCKER_COMMON_OPTS}} "{{.NODE_IMAGE}}" npm {{.CLI_ARGS}} install-dependencies: cmds: - task: composer vars: { CLI_ARGS: "install" } - task: npm vars: { CLI_ARGS: "install" }