The AcnTech ML-developer Desktop is a Vagrant box is a premade image containing typical ml tool and utils. Created with Vagrant 2.2.6 and VirtualBox 6.0.14. The box comes in two flavours; desktop and minimal.
AcnTech ML-developer Desktop
Based on acntech/ubuntu (Ubuntu 19.10)
See details in folder /ml_developer-desktop.
AcnTech ML-developer Minimal (recommended)
Based on bento/ubuntu-20.04 (Ubuntu 20.04)
See details in folder ml_developer-minimal.
The host computer must have Intel VT/AMD-V virtualization support enabled in the BIOS. Oracle VirtualBox 6.0 and Vagrant must also be installed on the host.
The best way to use ML-develope is simply to create a new directory on your computer that contains a Vagranfile referencing this box from Vagrant cloud. As a minimum as such:
Vagrant.configure("2") do |config|
# Change the Vagrantcloud box to use
config.vm.box = "acntech/ml-developer-minimal"
# Change box version to use
config.vm.box_version = "1.0.3"
end
For convenience a richer example file is placed in our github repo under /machines/ml_developer-minimal_example_machine. Please refer to this file for correct setup for portforwarding and basic virtualbox setup.
The box has the following developer tools installed.
- zsh
- Git 2.20.1
- Docker 19.03.5 Community Edition
- Docker Compose 1.24.1
- Python 3.8.5
- pip
- python-venv
- Sqlite3
- Miniconda3
- Poetry
Make zsh default shell:
chsh -s $(which zsh) && zsh
The AcnTech ML-developer box comes with both Python and Anaconda (Miniconda) installed. By default python3 will refer the "native" python 3.8 installation which ships with ubuntu. To switch to/from Miniconda3-python type:
# Switch to miniconda
conda activate
# Switch back to native python
conda deactivate
username: vagrant
pw: vagrant
ssh key: https://raw.githubusercontent.com/mitchellh/vagrant/master/keys/vagrant.pub
To change insecure SSH-key update in Vagrantfile:
config.ssh.insert_key = true
Port forwarding
AcnTech ML Developer forwards ssh-port to port 2222 (by default) on local host. To ssh into guest:
# standing in same folder as Vagrantfile of box in question
vagrant ssh # Connects to box automagically
# Connect with Putty/VSCode to Vagrantbox
ssh vagrant@127.0.0.1:2222 -i vagrant.pub
If port is already binded (for example by another box), vagrant reassigns port number automatically.
Easiest way to find new port is to:
Open virtualbox --> select desired machine --> Settings --> Network --> Advanced --> Port forwarding
Support both in Pycharm Pro and Visual Studio Code makes it possible to use AcnTech ML developer box as a remote environment.
The procedure is tried and tested from VSCode with remote development extension.
- Install VSCode on host machine
- Install the VSCode remote ssh-extension
code --install-extension ms-vscode-remote.remote-ssh
- Configure SSH remote environment by:
Remote Explorer -> Configure ->C:\Users\<USER\.ssh\config
- Add following configuration:
Host <INSERT DESIRED MACHINE NAME>
HostName 127.0.0.1
Port 2222
User vagrant
IdentityFile <PATH TO VAGRANT FOLDER>\.vagrant\machines\default\virtualbox\private_key
- Connect to host.
- Check that path to SSH identity file is correct
- Check if multiple boxes are running. If so check forward of port 22 and edit config to correct SSH port
Extensions must be installed on box to funtion. In extensions tab in VSCode install desired extension in remote environement.