Last active
March 12, 2025 10:48
-
-
Save yarongon/ea997b25faa7723fc648fa0710b883ea to your computer and use it in GitHub Desktop.
VSCode: TypeScript and Latex Remote Docker Development
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Show hidden characters
// For format details, see https://aka.ms/devcontainer.json. For config options, see the README at: | |
// https://github.com/microsoft/vscode-dev-containers/tree/v0.224.2/containers/typescript-node | |
{ | |
"name": "Node.js & TypeScript & Latex for PPL Course", | |
"image": "bguppl", | |
// Add the IDs of extensions you want installed when the container is created. | |
"customizations": { | |
"vscode": { | |
"extensions": [ | |
"dbaeumer.vscode-eslint", | |
"james-yu.latex-workshop", | |
"formulahendry.code-runner", | |
"Compulim.vscode-clock", | |
"Gruntfuggly.todo-tree", | |
"GitHub.copilot", | |
"hediet.debug-visualizer" | |
] | |
} | |
}, | |
// Use 'forwardPorts' to make a list of ports inside the container available locally. | |
// "forwardPorts": [], | |
// Use 'postCreateCommand' to run commands after the container is created. | |
// "postCreateCommand": "yarn install", | |
// Comment out to connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root. | |
"remoteUser": "bguppl" | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
FROM ubuntu:24.04 | |
RUN apt-get update && apt-get install -y curl git | |
# RUN apt update && apt install git | |
RUN curl -fsSL https://deb.nodesource.com/setup_23.x | bash - &&\ | |
apt-get install -y nodejs &&\ | |
npm install -g [email protected] ts-node typescript | |
RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \ | |
&& apt-get -y install --no-install-recommends pandoc texlive texlive-latex-extra texlive-extra-utils \ | |
&& apt-get -y install --no-install-recommends texlive-fonts-extra texlive-bibtex-extra python3-pygments \ | |
&& apt-get -y install --no-install-recommends biber latexmk procps locales \ | |
&& apt-get -y install --no-install-recommends graphviz racket \ | |
&& apt-get -y install software-properties-common | |
RUN apt-add-repository ppa:swi-prolog/stable -y \ | |
&& apt-get -y install swi-prolog \ | |
&& rm -rf /var/lib/apt/lists/* | |
# [Optional] Uncomment if you want to install an additional version of node using nvm | |
# ARG EXTRA_NODE_VERSION=10 | |
# RUN su node -c "source /usr/local/share/nvm/nvm.sh && nvm install ${EXTRA_NODE_VERSION}" | |
# [Optional] Uncomment if you want to install more global node packages | |
# RUN su node -c "npm i -g ts-node typescript" | |
# generating locales | |
RUN sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && \ | |
dpkg-reconfigure --frontend=noninteractive locales && \ | |
update-locale LANG=en_US.UTF-8 | |
ENV LANGUAGE=en_US.UTF-8 LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 | |
ENV TZ="Asia/Jerusalem" | |
# installing cpanm & missing latexindent dependencies | |
RUN apt-get update && apt-get -y install make | |
RUN curl -L http://cpanmin.us | perl - --self-upgrade && \ | |
cpanm Log::Dispatch::File YAML::Tiny File::HomeDir | |
RUN useradd -ms /bin/bash bguppl | |
USER bguppl | |
WORKDIR /home/bguppl |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment