-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile
More file actions
113 lines (102 loc) · 5.22 KB
/
Copy pathDockerfile
File metadata and controls
113 lines (102 loc) · 5.22 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
# Start from the code-server Debian base image
FROM codercom/code-server:latest
USER root
# Use bash shell
ENV SHELL=/bin/bash
# Fix permissions for code-server
RUN mkdir -p /home/coder/.local
RUN sudo chown -R coder:coder /home/coder/.local
# Install apt packages:
#######################
RUN sudo apt update && sudo apt upgrade -y
# Install Curl
RUN sudo apt install software-properties-common apt-transport-https curl -y
RUN sudo add-apt-repository ppa:savoury1/curl34 -y
RUN sudo apt install curl -y
# Install Git
RUN sudo apt install git
# Install NVM, Node
RUN sudo git clone http://github.com/creationix/nvm.git /root/.nvm
RUN sudo chmod -R 777 /root/.nvm/
RUN sudo bash /root/.nvm/install.sh -y
RUN sudo bash -i -c 'nvm install 14'
RUN sudo bash -i -c 'nvm install 16'
RUN sudo bash -i -c 'nvm use 16'
# Create access to Node and NPM for all users
RUN sudo ln -s "$NVM_DIR/versions/node/$(nvm version)/bin/node" "/usr/local/bin/node"
RUN sudo ln -s "$NVM_DIR/versions/node/$(nvm version)/bin/npm" "/usr/local/bin/npm"
RUN sudo ln -s "$NVM_DIR/versions/node/$(nvm version)/bin/npx" "/usr/local/bin/npx"
# Install ZSH add-ons
COPY ./config/.zshrc /root/.zshrc
RUN sudo curl -L https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh | sh
# Install NPM
RUN sudo npm version
RUN sudo npm install -g ngrok
RUN sudo npm install -g jshint
RUN sudo npm install -g typesync
RUN sudo npm install -g typescript
RUN sudo npm install -g why-is-node-running
# Install a VS Code extension:
##############################
# Note: code-server use a different marketplace than VS Code. See https://github.com/cdr/code-server/blob/main/docs/FAQ.md#differences-compared-to-vs-code
# HACK: use MS marketplace
ENV EXTENSIONS_GALLERY='{"serviceUrl": "https://marketplace.visualstudio.com/_apis/public/gallery","cacheUrl": "https://vscode.blob.core.windows.net/gallery/index","itemUrl": "https://marketplace.visualstudio.com/items","controlUrl": "","recommendationsUrl": ""}'
# - GENERAL -----------------------------------
RUN code-server --install-extension pnp.polacode
RUN code-server --install-extension tomoki1207.pdf
RUN code-server --install-extension dbaeumer.jshint
RUN code-server --install-extension mikestead.dotenv
RUN code-server --install-extension redhat.vscode-yaml
RUN code-server --install-extension yzane.markdown-pdf
RUN code-server --install-extension steoates.autoimport
RUN code-server --install-extension ms-vscode.PowerShell
RUN code-server --install-extension rintoj.json-organizer
RUN code-server --install-extension eg2.vscode-npm-script
RUN code-server --install-extension esbenp.prettier-vscode
RUN code-server --install-extension GraphQL.vscode-graphql
RUN code-server --install-extension dbaeumer.vscode-eslint
RUN code-server --install-extension alefragnani.project-manager
RUN code-server --install-extension wayou.vscode-todo-highlight
RUN code-server --install-extension christian-kohler.npm-intellisense
RUN code-server --install-extension christian-kohler.path-intellisense
RUN code-server --install-extension streetsidesoftware.code-spell-checker
RUN code-server --install-extension VisualStudioExptTeam.vscodeintellicode
RUN code-server --install-extension streetsidesoftware.code-spell-checker-hebrew
# - GIT ---------------------------------------------
RUN code-server --install-extension mhutchie.git-graph
RUN code-server --install-extension GitLab.gitlab-workflow
RUN code-server --install-extension codezombiech.gitignore
RUN code-server --install-extension donjayamanne.githistory
RUN code-server --install-extension GitHub.vscode-pull-request-github
# - FRONTEND -----------------------------------------------
RUN code-server --install-extension tht13.html-preview-vscode
RUN code-server --install-extension xabikos.JavaScriptSnippets
RUN code-server --install-extension thekalinga.bootstrap4-vscode
RUN code-server --install-extension kamikillerto.vscode-colorize
# - BACKEND ------------------------------------
RUN code-server --install-extension mtxr.sqltools
RUN code-server --install-extension ms-python.python
RUN code-server --install-extension LawrenceGrant.cql
RUN code-server --install-extension 42Crunch.vscode-openapi
RUN code-server --install-extension cweijan.vscode-redis-client
RUN code-server --install-extension waderyan.nodejs-extension-pack
RUN code-server --install-extension jasonnutter.search-node-modules
RUN code-server --install-extension donjayamanne.python-extension-pack
RUN code-server --install-extension donjayamanne.python-environment-manager
# - OPS -----------------------------------------
RUN code-server --install-extension redhat.ansible
RUN code-server --install-extension HashiCorp.terraform
RUN code-server --install-extension ms-azuretools.vscode-docker
RUN code-server --install-extension ms-kubernetes-tools.vscode-kubernetes-tools
# - THEMES -----------------------------------
RUN code-server --install-extension teabyii.ayu
RUN code-server --install-extension GitHub.github-vscode-theme
RUN code-server --install-extension zhuangtongfa.Material-theme
RUN code-server --install-extension dracula-theme.theme-dracula
RUN code-server --install-extension monokai.theme-monokai-pro-vscode
# Copy files:
#############
# Apply VS Code settings
COPY ./config/settings.json .local/share/code-server/User/settings.json
# Port
ENV PORT=8080