Files
Umbraco-CMS/.devcontainer/Dockerfile

25 lines
1.2 KiB
Docker
Raw Normal View History

# [Choice] .NET version: 6.0, 3.1, 6.0-bullseye, 3.1-bullseye, 6.0-focal, 3.1-focal
ARG VARIANT=6.0-bullseye
FROM mcr.microsoft.com/vscode/devcontainers/dotnet:0-${VARIANT}
.NETCore & SQL Docker Image for Container Isolated Development & GitHub CodeSpaces (#9835) * .NETCore & SQL Docker Image https://github.com/microsoft/vscode-dev-containers/tree/master/containers/dotnet-mssql * Set the C# extension aka Omnisharp to use the umbraco-netcore-only.sln * A new script in the postCreate of the docker image to npm install client stuff and initial dotnet build of SLN to help just running straight away * Remove bash script - doing npm install stuff & dotnet build was hard to see log output and taking longer for image to start * Adds in port 9000 and friendly label * Ensure user notified about auto port forward with notification * Comment out image min of assets as causing problems and eating way too much time up atm - need to revisit * Automated launch & tasks VSCode JSON files - updated to run client npm install and npm run build before running website * Update .gitattributes for line ending help for codespaces https://code.visualstudio.com/docs/remote/troubleshooting#_resolving-git-line-ending-issues-in-containers-resulting-in-many-modified-files * Tidy up * Remove npm install from the npm run build step - kinda annoying when you re-run it * Rather everytime attaching the debugger doing a full npm install, gulp dev and dotnet build is overkill, just build the SLN before debugging * Update gitignore with casing rules * Revert "Update .gitattributes for line ending help for codespaces" This reverts commit 28316d1ba8a552751eef2f211b68531484344153. * Sets the global user for npm as root https://stackoverflow.com/a/45505787 * File permission stuff for NPM & Gifsicle binary source compilation from gulp-imagemin * Revert "Comment out image min of assets as causing problems and eating way too much time up atm - need to revisit" This reverts commit be48db9653bc58a69422d131b65955985e115e29. * Add chromium-browser to try & get JS tests to run happy in CodeSpaces * Set DB connection string & unattended install config to true so we can skip installer flow * Add in ENV variables to setup the unattended install user * Try to add SMTP4Dev from Bjarke Recommendation * Need to specify the port mappings for SMTP4Dev * Lovely syntax error in docker compose file * Update ENV variables to renamed settings now this feature merged into NETCore branch by Bjarke * Needed to match the hostname that SMTP4Dev was listening on, had assumed it would be reachable via localhost * Fix folder naminng to make UNIX happy running JS tests Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2021-06-07 12:23:15 +01:00
# [Choice] Node.js version: none, lts/*, 18, 16, 14
ARG NODE_VERSION="none"
RUN if [ "${NODE_VERSION}" != "none" ]; then su vscode -c "umask 0002 && . /usr/local/share/nvm/nvm.sh && nvm install ${NODE_VERSION} 2>&1"; fi
.NETCore & SQL Docker Image for Container Isolated Development & GitHub CodeSpaces (#9835) * .NETCore & SQL Docker Image https://github.com/microsoft/vscode-dev-containers/tree/master/containers/dotnet-mssql * Set the C# extension aka Omnisharp to use the umbraco-netcore-only.sln * A new script in the postCreate of the docker image to npm install client stuff and initial dotnet build of SLN to help just running straight away * Remove bash script - doing npm install stuff & dotnet build was hard to see log output and taking longer for image to start * Adds in port 9000 and friendly label * Ensure user notified about auto port forward with notification * Comment out image min of assets as causing problems and eating way too much time up atm - need to revisit * Automated launch & tasks VSCode JSON files - updated to run client npm install and npm run build before running website * Update .gitattributes for line ending help for codespaces https://code.visualstudio.com/docs/remote/troubleshooting#_resolving-git-line-ending-issues-in-containers-resulting-in-many-modified-files * Tidy up * Remove npm install from the npm run build step - kinda annoying when you re-run it * Rather everytime attaching the debugger doing a full npm install, gulp dev and dotnet build is overkill, just build the SLN before debugging * Update gitignore with casing rules * Revert "Update .gitattributes for line ending help for codespaces" This reverts commit 28316d1ba8a552751eef2f211b68531484344153. * Sets the global user for npm as root https://stackoverflow.com/a/45505787 * File permission stuff for NPM & Gifsicle binary source compilation from gulp-imagemin * Revert "Comment out image min of assets as causing problems and eating way too much time up atm - need to revisit" This reverts commit be48db9653bc58a69422d131b65955985e115e29. * Add chromium-browser to try & get JS tests to run happy in CodeSpaces * Set DB connection string & unattended install config to true so we can skip installer flow * Add in ENV variables to setup the unattended install user * Try to add SMTP4Dev from Bjarke Recommendation * Need to specify the port mappings for SMTP4Dev * Lovely syntax error in docker compose file * Update ENV variables to renamed settings now this feature merged into NETCore branch by Bjarke * Needed to match the hostname that SMTP4Dev was listening on, had assumed it would be reachable via localhost * Fix folder naminng to make UNIX happy running JS tests Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2021-06-07 12:23:15 +01:00
# [Optional] Uncomment this section to install additional OS packages.
# RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
# && apt-get -y install --no-install-recommends <your-package-list-here>
.NETCore & SQL Docker Image for Container Isolated Development & GitHub CodeSpaces (#9835) * .NETCore & SQL Docker Image https://github.com/microsoft/vscode-dev-containers/tree/master/containers/dotnet-mssql * Set the C# extension aka Omnisharp to use the umbraco-netcore-only.sln * A new script in the postCreate of the docker image to npm install client stuff and initial dotnet build of SLN to help just running straight away * Remove bash script - doing npm install stuff & dotnet build was hard to see log output and taking longer for image to start * Adds in port 9000 and friendly label * Ensure user notified about auto port forward with notification * Comment out image min of assets as causing problems and eating way too much time up atm - need to revisit * Automated launch & tasks VSCode JSON files - updated to run client npm install and npm run build before running website * Update .gitattributes for line ending help for codespaces https://code.visualstudio.com/docs/remote/troubleshooting#_resolving-git-line-ending-issues-in-containers-resulting-in-many-modified-files * Tidy up * Remove npm install from the npm run build step - kinda annoying when you re-run it * Rather everytime attaching the debugger doing a full npm install, gulp dev and dotnet build is overkill, just build the SLN before debugging * Update gitignore with casing rules * Revert "Update .gitattributes for line ending help for codespaces" This reverts commit 28316d1ba8a552751eef2f211b68531484344153. * Sets the global user for npm as root https://stackoverflow.com/a/45505787 * File permission stuff for NPM & Gifsicle binary source compilation from gulp-imagemin * Revert "Comment out image min of assets as causing problems and eating way too much time up atm - need to revisit" This reverts commit be48db9653bc58a69422d131b65955985e115e29. * Add chromium-browser to try & get JS tests to run happy in CodeSpaces * Set DB connection string & unattended install config to true so we can skip installer flow * Add in ENV variables to setup the unattended install user * Try to add SMTP4Dev from Bjarke Recommendation * Need to specify the port mappings for SMTP4Dev * Lovely syntax error in docker compose file * Update ENV variables to renamed settings now this feature merged into NETCore branch by Bjarke * Needed to match the hostname that SMTP4Dev was listening on, had assumed it would be reachable via localhost * Fix folder naminng to make UNIX happy running JS tests Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2021-06-07 12:23:15 +01:00
# [Optional] Uncomment this line to install global node packages.
# RUN su vscode -c "source /usr/local/share/nvm/nvm.sh && npm install -g <your-package-here>" 2>&1
# Following added by Warren...
# Sets the global user for npm as 'root' due to some permission errors for gulp-imagemin creating binaries
# https://stackoverflow.com/a/45505787
#
# Needing to set unsafe-perm as root is the user setup
# https://docs.npmjs.com/cli/v6/using-npm/config#unsafe-perm
# Default: false if running as root, true otherwise (we are ROOT)
#RUN npm -g config set user vscode && npm -g config set unsafe-perm