You will find below the instructions to set up you computer for Le Wagon Data Science course
Please read them carefully and execute all commands in the following order. If you get stuck, don't hesitate to ask a teacher for help 🙋
Let's start 🚀
Have you signed up to GitHub? If not, do it right away.
👉 Upload a picture and put your name correctly on your GitHub account. This is important as we'll use an internal dashboard with your avatar. Please do this now, before you continue with this guide.
👉 Enable Two-Factor Authentication (2FA). GitHub will send you text messages with a code when you try to log in. This is important for security and also will soon be required in order to contribute code on GitHub.
We want to safely communicate with your virtual machine using SSH protocol. We need to generate a SSH key to authenticate.
- Open your terminal
💡 Windows tip
We highly recommend installing Windows Terminal from the Windows Store (installed on Windows 11 by default) to perform this operation
- Create a SSH key
Windows
# replace your_email@example.com, this is purely informative and allows you to remember the use of this key
ssh-keygen.exe -t ed25519 -C your_email@example.comMacOS & Linux
# replace your_email@example.com, this is purely informative and allows you to remember the use of this key
ssh-keygen -t ed25519 -C your_email@example.comYou should get the following message: > Generating public/private algorithm key pair.
- When you are prompted
> Enter a file in which to save the key, press Enter - You should be asked to
Enter a passphrase- this is optional if you want additional security. To continue without a passphrase press enter without typing anything when asked to enter a passphrase.
ℹ️ Don't worry if nothing prompt when you type, that is perfectly normal for security reasons.
- You should be asked to
Enter same passphrase again, do it.
❗️ You must remember this passphrase.
❗️ /home/your_username/.ssh/id_ed25519 already exists.
If you receive this message, you may already have an SSH Key with the same name (if you are a Le Wagon Alumni or are using SSH Authentication with Github).To create a separate SSH key to exclusively use for this bootcamp use the following:
# replace your_email@example.com, this is purely informative and allows you to remember the use of this key
ssh-keygen -t ed25519 -f ~/.ssh/ds-bootcamp -C your_email@example.comYour new SSH Key will be named ds-bootcamp. Make sure to remember it for later!
Let's redeem the virtual machine on which we will work.
In order to move forwards, you will need to use:
- The SSH public and PRIVATE keys you just created
- The alias provided to you by Le Wagon
- The VM IP address provided to you by Le Wagon
🤔 What are the SSH public and private keys ?
A SSH key is a pair constituted of linked public and private keys.
The PRIVATE part of the SSH key (private key) is the part that allows you alone to use the key. It should not be communicated to anyone and should never leave your machine.
The public part of the SSH key (public key) is the part that identifies you when communicating over SSH. It can be communicated widely.
The file storing the public key ends in .pub (for example id_ed25519.pub), while the file storing the private key does not have an extension (for example id_ed25519).
In this setup we will publish the public key to the virtual machine provided by Le Wagon in order to identify ourselves. We will then use the PRIVATE key to authenticate remotely and connect to the virtual machine.
Retrieve your SSH public key using the command below:
- Replace
👉PATH_TO_YOUR_PUBLIC_KEY👈with the path to your public key
Windows
type 👉PATH_TO_YOUR_PUBLIC_KEY👈
# type C:\Users\<YourUsername>\.ssh\id_ed25519.pubMacOS & Linux
cat 👉PATH_TO_YOUR_PUBLIC_KEY👈
# cat ~/.ssh/id_ed25519.pubYou should see something similar to the following even though multiple formats exist:
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIG8ToZnCWvZkjqw6ueq3RRWSGtGE6DE+VODZQEHibYMY alexdev@gmail.com
Fetch the alias provided to you by Le Wagon. The alias contains random pet names separated by dashes, for exampe actual-macaque-5115d600. If you cannot find it, ask a teacher for help 🙋
Now let's register your SSH key:
- Go to https://github.com/lewagon/remote-setup/issues
- Click on New issue
- Select New SSH Key
- Enter your alias
- Enter your SSH public key
- Validate with Create
👉 Your SSH public key is being added to your virtual machine
After a couple of minutes, a comment should appear and indicate that the operation is complete. If the registration fails, ask a teacher for help 🙋
In order to further improve the security of your VM, it has been configured to refuse incoming SSH connections unless from registered IP addresses.
Let's register your IP address to allow SSH access to your VM from your current location.
In order to move forwards, you will need to use:
- The alias provided to you by Le Wagon
- Your public IP address (NOT the VM IP address provided to you by Le Wagon)
🤔 How does my public IP address differ from my VM IP address ?
Your public IP address is the address from which you are accessing the network. It changes whenever you change locations or if you switch your means of connecting to the Internet.
This IP address is coined as public since it is the address any website or application sees when you connect to it. It is the IP address we need the VM to accept connections from.
Your public IP address identifies the location from which you connect.
The VM IP address identifies the machine you want to connect to.
In order to connect to your VM using SSH you need to both:
- Connect from a known location, identified by a registered public IP address
- Connect using a known user, identified by the registered public SSH key
Retrieve your public IP address:
Windows
curl.exe -s ifconfig.meMacOS & Linux
curl -s ifconfig.me && echoCopy your public IP address.
Now let's register your public IP address:
- Go to https://github.com/lewagon/remote-setup/issues
- Click on New issue
- Select Register IP address
- Enter your alias
- Enter your public IP address
- Validate with Create
👉 Your public IP address is being allowed so you can SSH to your virtual machine from your location
After a couple of minutes, a comment should appear and indicate that the operation is complete. If the registration fails, ask a teacher for help 🙋
Your virtual machine is like any regular computer. You will not be able to access and use it unless it is started. To conserve energy, it should be turned off whenever it is not in use 💡
Let's start your virtual machine:
- Go to https://github.com/lewagon/remote-setup/issues
- Click on New issue
- Select Start my VM
- Enter your alias
- Validate with Create
👉 The VM is being started
After a couple of minutes, a comment should appear and indicate that the operation is complete. If the start fails, ask a teacher for help 🙋
Once the VM is started, it takes a couple of minutes for the SSH server to be ready and accept incoming connections ⏳
You may take a quick sip ☕️
Let's check the connection to the virtual machine with the command below:
- Replace
👉YOUR_VM_IP_ADDRESS👈with the VM IP address provided to you by Le Wagon - Replace
👉PATH_TO_YOUR_PRIVATE_KEY👈with the path to your PRIVATE key
Windows
ssh -i 👉PATH_TO_YOUR_PRIVATE_KEY👈 lewagon@👉YOUR_VM_IP_ADDRESS👈
# ssh -i C:\Users\<YourUsername>\.ssh\id_ed25519 lewagon@34.52.208.105MacOS & Linux
ssh -i 👉PATH_TO_YOUR_PRIVATE_KEY👈 lewagon@👉YOUR_VM_IP_ADDRESS👈
# ssh -i ~/.ssh/id_ed25519 lewagon@34.52.208.105❌ Operation timed out
Error:
ssh -i ~/.ssh/id_ed25519 lewagon@34.52.208.105
ssh: connect to host 34.52.208.105 port 22: Operation timed outThe virtual machine is not started OR your public IP address is not registered, ask a teacher for help 🙋
❌ Connection refused
ssh -i ~/.ssh/id_ed25519 lewagon@34.52.208.105
ssh: connect to host 34.52.208.105 port 22: Connection refusedThis can happen if the virtual machine was just started and the SSH server is not ready yet to accept connections. If the issue persists after a couple of minutes, ask a teacher for help 🙋
A new terminal invite should be visible once connected to the machine:
lewagon@actual-macaque-5115d600:~$You can now disconnect from the virtual machine:
exitYou will be back to the regular terminal prompt:
lewagon@actual-macaque-5115d600:~$ exit
logout
Connection to 34.52.208.105 closed.Let's install Visual Studio Code text editor.
- Go to Visual Studio Code download page.
- Click on "Windows" button
- Open the file you have just downloaded.
- Install it with few options:
When the installation is finished, launch VS Code.
We need to connect VS Code to a virtual machine in the cloud so you will only work on that machine during the bootcamp. A pretty useful Remote SSH Extension is available on the VS Code Marketplace.
- Open VS Code > Open the command palette > Type
Extensions: Install Extensions
- Install the extension
That's the only extension you should install on your local machine, we will install additional VS Code extensions on your virtual machine.
- Open VS Code > Open the command palette > Type
Remote-SSH: Connect to Host...
- Click on
Add a new host - Type
ssh -i <path/to/your/private/key> <username>@<ip address>, for instance, my username issomedude, my private SSH key is located at~/.ssh/id_rsaon my local computer, my VM has a public IP of34.77.50.76: I'll typessh -i ~/.ssh/id_rsa somedude@34.77.50.76
- When prompted to
Select SSH configuration file to update, pick the one in your home directory, under the.sshfolder,~/.ssh/configbasically. Usually VS Code will pick automatically the best option, so their default should work.
- You should get a pop-up on the bottom right notifying you the host has been added
- Open again the command palette > Type
Remote-SSH: Connect to Host...> Pick your VM IP address
- The first time, VSCode might ask you for a security permission like below, say yes / continue.
- Open again the command palette > Type
Terminal: Create New Terminal (in active workspace)> You now have a Bash terminal in your virtual machine!
- Still on your local computer, lets create a more readable version of your machine to connect to!
code ~/.ssh/configYou should see something like the following:
Host <machine ip>
HostName <machine ip>
IdentityFile <file path for your ssh key>
User <username>You can now change Host to whatever you would like to see as the name of your connection or in terminal with ssh <Host>!
❗️ It is important that the Host alias does not contain any whitespaces ❗️
# For instance
Host "ds-bootcamp-vm"
HostName 34.77.50.76 # replace with your VM's public IP address
IdentityFile <file path for your ssh key>
User <username>The setup of your local machine is over. All following commands will be run from within your 🚨 virtual machine🚨 terminal (via VS code for instance)
Let's install some useful extensions to VS Code.
code --install-extension ms-vscode.sublime-keybindings
code --install-extension emmanuelbeziat.vscode-great-icons
code --install-extension MS-vsliveshare.vsliveshare
code --install-extension ms-python.python
code --install-extension KevinRose.vsc-python-indent
code --install-extension ms-python.vscode-pylance
code --install-extension ms-toolsai.jupyter
code --install-extension alexcvzz.vscode-sqliteHere is a list of the extensions you are installing:
- Sublime Text Keymap and Settings Importer
- VSCode Great Icons
- Live Share
- Python
- Python Indent
- Pylance
- Jupyter
- SQLite
VS Code includes many powerful AI features, which are a great tool once you already know how to code.
That said, relying on AI too early can hide important concepts and make debugging harder to understand. Once you’re comfortable with the fundamentals, you’ll know when and how to use AI effectively — without letting it do the thinking for you.
For the start of the bootcamp, we’ll disable these features. At the right point in the course, we’ll reenable them so you can put them to good use.
In VS Code:
- Let's open the VS Code "Command Palette": type
Ctrl-Shift-P(Windows / Linux) orCmd-Shift-P(macOS). - This will open the Command Palette: a small text box at the top of your screen. Start typing
aifeaturesuntil you see "Chat: Learn How to Hide AI features". Click on it.
- This will open the settings, and will show you the option "Disable and hide built-in AI features ...". Tick the checkbox in front of that option.

Later, if you want to reenable the AI features, you can follow the same instructions to untick the checkbox.
The locale is a mechanism allowing to customize programs to your language and country.
Let's verify that the default locale is set to English, please type this in the Ubuntu terminal:
localeIf the output does not contain LANG=en_US.UTF-8, run the following command in a Ubuntu terminal to install the english locale:
sudo locale-gen en_US.UTF-8If after, you receive a warning (bash: warning: setlocale: LC_ALL: cannot change locale (en_US.utf-8)) in your terminal, please do the following:
Generate locale
Please, run this lines in your terminal.
sudo update-locale LANG=en_US.UTF8
sudo apt-get update
sudo apt-get install language-pack-en language-pack-en-base manpagesInstead of using the default bash shell, we will use zsh.
We will also use git, a command line software used for version control.
Let's install them, along with other useful tools:
- Open an Ubuntu terminal
- Copy and paste the following commands:
sudo apt updatesudo apt install -y curl git imagemagick jq unzip vim zsh treeThese commands will ask for your password: type it in.
Enter.
Let's now install GitHub official CLI (Command Line Interface). It's a software used to interact with your GitHub account via the command line.
In your terminal, copy-paste the following commands and type in your password if asked:
sudo apt remove -y gitsome # gh command can conflict with gitsome if already installed
curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo dd of=/usr/share/keyrings/githubcli-archive-keyring.gpgecho "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/nullsudo apt updatesudo apt install -y ghTo check that gh has been successfully installed on your machine, you can run:
gh --version✔️ If you see gh version X.Y.Z (YYYY-MM-DD), you're good to go 👍
❌ Otherwise, please contact a teacher
Let's install the zsh plugin Oh My Zsh.
In a terminal execute the following command:
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"If asked "Do you want to change your default shell to zsh?", press Y
At the end your terminal should look like this:
✔️ If it does, you can continue 👍
❌ Otherwise, please ask for a teacher
direnv is a shell extension. It makes it easy to deal with per project environment variables. This will be useful in order to customize the behavior of your code.
sudo apt-get update; sudo apt-get install direnv
echo 'eval "$(direnv hook zsh)"' >> ~/.zshrcCLI is the acronym of Command-line Interface.
In this section, we will use GitHub CLI to interact with GitHub directly from the terminal.
It should already be installed on your computer from the previous commands.
We will use the GitHub CLI (gh) to connect to GitHub using SSH, a protocol to log in using SSH keys instead of the well known username/password pair.
First in order to login, copy-paste the following command in your terminal:
email — Even though user:email looks like a placeholder for your actual email address, it isn't — do not replace it.
gh auth login -s 'user:email' -w --git-protocol sshgh will ask you few questions:
-
Generate a new SSH key to add to your GitHub account?PressEnterto ask gh to generate the SSH keys for you.If you already have SSH keys, you will see instead
Upload your SSH public key to your GitHub account?With the arrows, select your public key file path and pressEnter. -
Enter a passphrase for your new SSH key (Optional):- FOR MOST PEOPLE: Just press
Enterto skip. You don't need a passphrase for the bootcamp and it would prompt you every time you use the key. There is a risk, however, that if someone steals your laptop, they could then push to GitHub. - IF SECURITY IS REALLY IMPORTANT TO YOU: Enter a passphrase of your choice and press
Enter. It's really important that if you enter a passphrase, you write it down somewhere immediately and do not lose/forget it. You will need to enter this frequently.
- FOR MOST PEOPLE: Just press
-
Title for your SSH key. You can leave it at the proposed "GitHub CLI", pressEnter.
You will then get the following output:
! First copy your one-time code: 0EF9-D015
- Press Enter to open github.com in your browser...Select and copy the code (0EF9-D015 in the example), then press Enter.
Your browser will open and ask you to authorize GitHub CLI to use your GitHub account. Accept and wait a bit.
Come back to the terminal, press Enter again, and that's it.
To check that you are properly connected, type:
gh auth status✔️ If you get Logged in to github.com as <YOUR USERNAME> , then all good 👍
❌ If not, contact a teacher.
Hackers love to refine and polish their shell and tools. We'll start with a great default configuration provided by Le Wagon, stored on GitHub.
First, let's do a quick check. Open your terminal and run the following command:
export GITHUB_USERNAME=`gh api user | jq -r '.login'`
echo $GITHUB_USERNAMEYou should see your GitHub username printed. If it's not the case, stop here and ask for help.
There seems to be a problem with the previous step (gh auth).
There are three options, choose one:
I did not attend the Web Dev or Data Science & AI bootcamp at Le Wagon
As your configuration is personal, you need your own repository storing it, so you'll need to fork it to your GitHub account.
Forking means that it will create a new repo in your GitHub account, identical to the original one. You'll have a new repository on your GitHub account, your_github_username/dotfiles. We need to fork because each of you will need to put specific information (e.g. your name) in those
files.
Lets' run this command to fork the repo, and clone it on your laptop:
mkdir -p ~/code/$GITHUB_USERNAME && cd $_
gh repo fork lewagon/dotfiles --cloneI already attended a Le Wagon coding bootcamp (Web Development or Data Science & AI) but I have a new laptop
This means that you already forked the GitHub repo lewagon/dotfiles, but at that time the configuration was maybe not ready for the current Data Science & AI bootcamp. Let's update it. Ask a TA to join you for the nex steps.
First, clone your fork on this machine:
mkdir -p ~/code/$GITHUB_USERNAME && cd $_
gh repo clone $GITHUB_USERNAME/dotfilesOpen your terminal and go to your dotfiles project:
cd ~/code/$GITHUB_USERNAME/dotfilesTime to merge the changes from lewagon/dotfiles into yours:
-
Commit your current version of your dotfiles:
git add . git status # Check what will be committed git commit -m "Version prior to new setup"
-
Let's bring in the changes from upstream:
git merge upstream/master -
Check that you're not in
MERGINGstate. If you are, resolve any conflicts. -
Do a
git diff HEAD~1 HEADto check what changed. -
If nothing seems out of the ordinary, continue
Too many conflicts?
Let's just take over the current version from lewagon/dotfiles.
First abort the merge: git merge --abort.
Run code .
In VS Code, open the zshrc file. Replace its content with the newest version. Save to disk.
Still in VS Code, open the zprofile file. Replace its content with the newest version. Save to disk.
Back in the terminal, run a git diff and check if this didn't remove any personal configuration setting that you wanted to keep.
Time to commit your changes and push them.
git add .
git commit -m "Update for Data Science bootcamp"
git push origin masterI already did the setup of a Le Wagon coding bootcamp (WebDev or Data Science & AI) on the same laptop before
This means that you already forked and cloned the GitHub repo lewagon/dotfiles, but at that time the configuration was maybe not ready for the current Data Science & AI bootcamp. Let's update it. Ask a TA to join you for the nex steps.
Open your terminal and go to your dotfiles project:
cd ~/code/$GITHUB_USERNAME/dotfilesTime to merge the changes from lewagon/dotfiles into yours:
-
Commit your current version of your dotfiles:
git add . git status # Check what will be committed git commit -m "Version prior to new setup"
-
Let's bring in the changes from upstream:
git merge upstream/master -
Check that you're not in
MERGINGstate. If you are, resolve any conflicts. -
Do a
git diff HEAD~1 HEADto check what changed. -
If nothing seems out of the ordinary, continue
Too many conflicts?
Let's just take over the current version from lewagon/dotfiles.
First abort the merge: git merge --abort.
Run code .
In VS Code, open the zshrc file. Replace its content with the newest version. Save to disk.
Still in VS Code, open the zprofile file. Replace its content with the newest version. Save to disk.
Back in the terminal, run a git diff and check if this didn't remove any personal configuration setting that you wanted to keep.
Time to commit your changes and push them.
git add .
git commit -m "Update for Data Science bootcamp"
git push origin masterIt's time to run the dotfiles installer:
cd ~/code/$GITHUB_USERNAME/dotfiles && zsh install.shCheck the emails registered with your GitHub Account. You'll need to pick one at the next step:
gh api user/emails | jq -r '.[].email'Run the git installer:
cd ~/code/$GITHUB_USERNAME/dotfiles && zsh git_setup.sh☝️ This will prompt you for your name (FirstName LastName) and your email.
:warning: You need to put one of the emails listed above thanks to the previous gh api ... command. If you don't do that, Kitt won't be able to track your progress. 💡 Select the @users.noreply.github.com address if you don't want your email to appear in public repositories you may contribute to.
Please now quit all your opened terminal windows.
Set zsh as your default VS Code terminal.
You don't want to be asked for your passphrase every time you communicate with a distant repository. So, you need to add the plugin ssh-agent to oh my zsh:
First, open the .zshrc file:
code ~/.zshrcThen:
- Spot the line starting with
plugins= - Add
ssh-agentat the end of the plugins list
✔️ Save the .zshrc file with Ctrl + S and close your text editor.
Ubuntu comes with an outdated version of Python that we don't want to use. You might already have installed Anaconda or something else to tinker with Python and Data Science packages. All of this does not really matter as we are going to do a professional setup of Python where you'll be able to switch which version you want to use whenever you type python in the terminal.
First let's install pyenv with the following Terminal command:
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
exec zshLet's install some dependencies needed to build Python from pyenv:
sudo apt-get update; sudo apt-get install make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev sqlite3 libsqlite3-dev wget curl llvm \
libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev \
python3-devLet's install the latest stable version of Python supported by Le Wagon's curriculum:
pyenv install 3.12.9This command might take a while, this is perfectly normal. Don't hesitate to help other students seated next to you!
🛠 Troubleshooting `pyenv` not found
If you encounter an error Command 'pyenv' not found: execute the following line:
source ~/.zprofileThen try to install Python again:
pyenv install 3.12.9If pyenv is still not found, contact a teacher.
OK once this command is complete, we are going to tell the system to use this version of Python by default. This is done with:
pyenv global 3.12.9
exec zshTo check if this worked, run python --version. If you see 3.12.9, perfect! If not, ask a TA that will help you debug the problem thanks to pyenv versions and type -a python (python should be using the .pyenv/shims version first).
Before we start installing relevant Python packages, we will isolate the setup for the Bootcamp into a dedicated virtual environment. We will use a pyenv plugin called pyenv-virtualenv.
First let's install this plugin:
git clone https://github.com/pyenv/pyenv-virtualenv.git $(pyenv root)/plugins/pyenv-virtualenv
exec zshLet's create the virtual environment we are going to use during the whole bootcamp:
pyenv virtualenv 3.12.9 lewagonLet's now set the virtual environment with:
pyenv global lewagonGreat! Anytime we'll install Python package, we'll do it in that environment.
Now that we have a pristine lewagon virtual environment, it's time to install some packages in it.
First, let's upgrade pip, the tool to install Python Packages from pypi.org. In the latest terminal where the virtualenv lewagon is activated, run:
pip install --upgrade pipThen let's install some packages for the first weeks of the program:
pip install -r https://raw.githubusercontent.com/lewagon/data-setup/master/specs/releases/linux.txtLet's improve the display of the details disclosure elements in your notebooks.
Run the following lines to create a custom.css stylesheet in your Jupyter config directory:
LOCATION=$(jupyter --config-dir)/custom
SOURCE=https://raw.githubusercontent.com/lewagon/data-setup/refs/heads/master/specs/jupyter/custom.css
mkdir -p $LOCATION
curl $SOURCE > $LOCATION/custom.cssLet's reset your terminal:
cd ~/code && exec zshCheck your Python version with the following commands:
zsh -c "$(curl -fsSL https://raw.githubusercontent.com/lewagon/data-setup/master/checks/python_checker.sh)" 3.12.9Run the following command to check if you successfully installed the required packages:
zsh -c "$(curl -fsSL https://raw.githubusercontent.com/lewagon/data-setup/master/checks/pip_check.sh)"Now run the following command to check if you can load these packages:
python -c "$(curl -fsSL https://raw.githubusercontent.com/lewagon/data-setup/master/checks/pip_check.py)"Make sure you can run Jupyter:
jupyter notebookLet's open the jupyter app:
Regular setup
Your web browser should open on a jupyter window.
Virtual machine setup
VSCode detects that a jupyter notebook started in your virtual machine and creates a port forward in order to allow you to open the application in your browser.
Hit Open in Browser or go to http://localhost:8888/ (the url to use is available in the terminal).
On the first run, jupyter will ask for the token displayed in the terminal of your virtual machine in order to allow you to connect to the application from your local machine.
Fill the token and hit Log in.
You are now interacting from your local machine with the jupyter application running in your virtual machine.
You now have access to the jupyter window:
Click on New and in the dropdown menu select Python 3 (ipykernel):
A tab should open on a new notebook:
Make sure that you are running the correct python version in the notebook. Open a cell and run:
import sys; sys.versionIt should output 3.12.9 followed by some more details. If not, check with a TA.
You can close your web browser then terminate the jupyter server with CTRL + C.
Here you have it! A complete python virtual env with all the third-party packages you'll need for the whole bootcamp.
Download and install DBeaver, a free and open source powerful tool to connect to any database, explore the schema and even run SQL queries.
Docker is an open platform for developing, shipping, and running applications.
if you already have Docker installed on your machine please update with the latest version
Go to Docker install documentation.
Then follow the tutorial instructions to install Docker using the repository. There are 2 steps:
- Set up Docker's apt repository.
- Install the Docker packages.
Now, let's make sure we can run docker without sudo.
Run the following commands one by one:
sudo groupadd docker
sudo usermod -aG docker $USER
newgrp docker
sudo rm -rf ~/.docker/When finished, run the following command:
docker run hello-worldThe following message should print:
Now that we are done with the setup, we can turn off the VM to conserve energy 💡
Let's stop your virtual machine:
- Go to https://github.com/lewagon/remote-setup/issues
- Click on New issue
- Select Stop my VM
- Enter your alias
- Validate with Create
👉 The VM is being stopped
You will notice it takes a couple of minutes more to stop the VM than it takes to start it.
After a couple of minutes, a comment should appear and indicate that the operation is complete. If the stop fails, ask a teacher for help 🙋
Congratulations, you're all set! 🎉





























