mirror of
https://github.com/aleleba/aleleba-vscode-dockerfile-configuration.git
synced 2025-06-19 04:18:11 -06:00
Compare commits
21 Commits
Author | SHA1 | Date | |
---|---|---|---|
fdcea0d423 | |||
1a8869bb11 | |||
53afd74739 | |||
00defc98eb | |||
127a78f58d | |||
d5e345fb48 | |||
e0bb4bfa2f | |||
c90139bbcc | |||
3dc1c03a0f | |||
f7c889e3c9 | |||
115d25613c | |||
eaa8cc886d | |||
ff85878b7e | |||
c189c21474 | |||
49ffeccf7e | |||
72cc00272c | |||
1e044e4959 | |||
4bcf68cd67 | |||
711b77fa2c | |||
9c4f9247f8 | |||
071d112af7 |
37
Dockerfile
Normal file
37
Dockerfile
Normal file
@ -0,0 +1,37 @@
|
||||
FROM ubuntu:22.04
|
||||
|
||||
# Update the package list, install sudo, create a non-root user, and grant password-less sudo permissions
|
||||
RUN apt update
|
||||
RUN apt install -y sudo
|
||||
|
||||
RUN sudo apt-get update
|
||||
#Instalando Curl
|
||||
RUN sudo apt-get install -y curl
|
||||
#Instalando wget
|
||||
RUN sudo apt-get install -y wget
|
||||
#Instalando jq
|
||||
RUN sudo apt-get install -y jq
|
||||
|
||||
#Instalando devtunnel
|
||||
#Comandos que no se deben olvidar correr al crear el devtunnel
|
||||
#devtunnel user login -g -d
|
||||
#devtunnel token TUNNELID --scope connect
|
||||
RUN curl -sL https://aka.ms/DevTunnelCliInstall | bash
|
||||
|
||||
#Instalando VSCode
|
||||
RUN sudo apt-get update && sudo apt-get install -y gnupg2
|
||||
RUN sudo apt-get install -y software-properties-common
|
||||
RUN sudo wget -q https://packages.microsoft.com/keys/microsoft.asc -O- | sudo apt-key add -
|
||||
RUN sudo add-apt-repository "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main"
|
||||
RUN sudo apt update
|
||||
RUN sudo apt install code -y
|
||||
|
||||
#Making home writteable
|
||||
RUN sudo chmod -R a+rwX /home
|
||||
|
||||
RUN sudo sysctl -w fs.inotify.max_user_watches=524288
|
||||
|
||||
ADD ./entrypoint.sh /usr/bin/entrypoint.sh
|
||||
RUN sudo chmod +x /usr/bin/entrypoint.sh
|
||||
|
||||
ENTRYPOINT ["/usr/bin/entrypoint.sh"]
|
43
entrypoint.sh
Normal file
43
entrypoint.sh
Normal file
@ -0,0 +1,43 @@
|
||||
#!/bin/bash
|
||||
if [[ -z "${HOME_USER}" ]]; then
|
||||
HOME_USER="vscode"
|
||||
fi
|
||||
|
||||
addgroup nonroot
|
||||
adduser --disabled-password --gecos "" ${HOME_USER}
|
||||
echo "${HOME_USER} ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
|
||||
|
||||
#Creating extensions folder
|
||||
sudo mkdir /home/${HOME_USER}/.vscode-server
|
||||
sudo chmod -R a+rwX /home/${HOME_USER}/.vscode-server
|
||||
code --extensions-dir /home/${HOME_USER}/.vscode-server
|
||||
|
||||
# Check if the data.json file exists
|
||||
if [ -f "/home/extensions.json" ]; then
|
||||
# Read the JSON file into a variable
|
||||
jsonExtensions=$(cat /home/extensions.json)
|
||||
|
||||
# Use jq to extract the array elements
|
||||
extensions=$(echo $jsonExtensions | jq -r '.[]')
|
||||
|
||||
# Loop through the extensions and process each element
|
||||
for extension in $extensions; do
|
||||
echo "Installing extension: $extension"
|
||||
sudo su - ${HOME_USER} -c "code --install-extension $extension"
|
||||
done
|
||||
#sudo mkdir /home/${HOME_USER}/.vscode-server
|
||||
#sudo mkdir /home/${HOME_USER}/.vscode-server-insiders
|
||||
#sudo cp -R /home/${HOME_USER}/.vscode/* /home/${HOME_USER}/.vscode-server
|
||||
#sudo cp -R /home/${HOME_USER}/.vscode/* /home/${HOME_USER}.vscode-server-insiders
|
||||
#sudo chmod -R a+rwX /home/${HOME_USER}/.vscode
|
||||
#sudo chmod -R a+rwX /home/${HOME_USER}/.vscode-server
|
||||
#sudo chmod -R a+rwX /home/${HOME_USER}/.vscode-server-insiders
|
||||
else
|
||||
echo "File extensions.json not found"
|
||||
fi
|
||||
|
||||
if [[ -z "${VSCODE_TUNNEL_NAME}" ]]; then
|
||||
sudo su - ${HOME_USER} -c "code tunnel --accept-server-license-terms"
|
||||
else
|
||||
sudo su - ${HOME_USER} -c "code tunnel --accept-server-license-terms --name ${VSCODE_TUNNEL_NAME}"
|
||||
fi
|
1
version.txt
Normal file
1
version.txt
Normal file
@ -0,0 +1 @@
|
||||
1.0.20
|
Reference in New Issue
Block a user