|
1 | | -FROM mcr.microsoft.com/devcontainers/base:ubuntu |
2 | | - |
3 | | -# provide DOCKER_GID via build args if you need to force group id to match host |
4 | | -ARG DOCKER_GID |
| 1 | +ARG IMAGE_NAME=node_24_python_3_14 |
| 2 | +ARG IMAGE_VERSION=latest |
| 3 | +FROM ghcr.io/nhsdigital/eps-devcontainers/${IMAGE_NAME}:${IMAGE_VERSION} |
5 | 4 |
|
| 5 | +USER root |
6 | 6 | # specify DOCKER_GID to force container docker group id to match host |
7 | 7 | RUN if [ -n "${DOCKER_GID}" ]; then \ |
8 | | - if ! getent group docker; then \ |
9 | | - groupadd -g ${DOCKER_GID} docker; \ |
10 | | - else \ |
11 | | - groupmod -g ${DOCKER_GID} docker; \ |
12 | | - fi && \ |
13 | | - usermod -aG docker vscode; \ |
| 8 | + if ! getent group docker; then \ |
| 9 | + groupadd -g ${DOCKER_GID} docker; \ |
| 10 | + else \ |
| 11 | + groupmod -g ${DOCKER_GID} docker; \ |
| 12 | + fi && \ |
| 13 | + usermod -aG docker vscode; \ |
14 | 14 | fi |
15 | | - |
16 | | -# Anticipate and resolve potential permission issues with apt |
17 | | -RUN mkdir -p /tmp && chmod 1777 /tmp |
18 | | - |
19 | | -RUN apt-get update \ |
20 | | - && export DEBIAN_FRONTEND=noninteractive \ |
21 | | - && apt-get -y dist-upgrade \ |
22 | | - && apt-get -y install --no-install-recommends htop vim curl git build-essential \ |
23 | | - libffi-dev libssl-dev libxml2-dev libxslt1-dev libjpeg8-dev libbz2-dev \ |
24 | | - zlib1g-dev unixodbc unixodbc-dev libsecret-1-0 libsecret-1-dev libsqlite3-dev \ |
25 | | - jq apt-transport-https ca-certificates gnupg-agent \ |
26 | | - software-properties-common bash-completion python3-pip make libbz2-dev \ |
27 | | - libreadline-dev libsqlite3-dev wget llvm libncurses5-dev libncursesw5-dev \ |
28 | | - xz-utils tk-dev liblzma-dev netcat-traditional libyaml-dev |
29 | | - |
30 | | -USER vscode |
31 | | - |
32 | | -# Install ASDF |
33 | | -RUN git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.11.3 && \ |
34 | | - echo '. $HOME/.asdf/asdf.sh' >> ~/.bashrc && \ |
35 | | - echo '. $HOME/.asdf/completions/asdf.bash' >> ~/.bashrc |
36 | | - |
37 | | -ENV PATH="$PATH:/home/vscode/.asdf/bin/:/workspaces/eps-prescription-tracker-ui/node_modules/.bin:/workspaces/eps-common-workflows/.venv/bin" |
38 | | - |
39 | | -# Install ASDF plugins# |
40 | | -RUN asdf plugin add nodejs https://github.com/asdf-vm/asdf-nodejs.git && \ |
41 | | - asdf plugin add actionlint && \ |
42 | | - asdf plugin add shellcheck https://github.com/luizm/asdf-shellcheck.git && \ |
43 | | - asdf plugin add poetry https://github.com/asdf-community/asdf-poetry.git && \ |
44 | | - asdf plugin add python |
45 | | - |
46 | | -WORKDIR /workspaces/eps-common-workflows |
47 | | - |
48 | | -ADD .tool-versions /workspaces/eps-common-workflows/.tool-versions |
49 | | -ADD .tool-versions /home/vscode/.tool-versions |
50 | | - |
51 | | -RUN asdf install python && \ |
52 | | - asdf install && \ |
53 | | - asdf reshim nodejs |
0 commit comments