Graphical virtual desktop environment based on Ubuntu 20.04 for developers.
- Windows 10 with administrator permissions
- VirtualBox 6.1+
- Vagrant 2.2+
- Minimum 15 Gb free disk space
- Ubuntu 20.04 Desktop with Russian locale (my test Vagrant box is based on the article)
- Git
- Ansible
- NVM (Node Version Manager)
- PHP 8
- Midnight Commander (mc)
- Docker with Docker Compose
- PhpStorm (see Information section)
- Visual Code
- DBeaver Community Edition
Clone Ubuntu Development Box into any directory.
git clone [email protected]:s-mokrushin/ubuntu-development-box.git
Copy your private Git key to ubuntu-development-box/id_rsa
.
Copy .env.example
to .env
. Edit limits.
BOX_CPU_COUNT
- CPU cores dedicated to virtual machine. Recommended value = Total CPU cores / 2. Optimal - 4. Minimum - 1.BOX_MEMORY_SIZE
- RAM size (in megabytes). Recommended = Total RAM / 2. Optimal - 8096. Minimum - 2048.BOX_DISK_SIZE
- disk space used. Recommended - 75GB. It means only the maximum disk space that a virtual machine can use, but real starting disk usage is about 12 Gb.BOX_IP_ADDRESS
- virtual machine local IP address.BOX_HOSTNAME
- local hostname.
Run the PowerShell in ubuntu-development-box
folder and execute the following comand.
vagrant up
# during the first launch it will be needed to confirm plugins setup
# afterwards you’ll need to run the command one more time
vagrant up
Installation includes the following steps:
- Virtual machine image is downloaded with Vagrant.
- The new virtual machine is created and launched via VirtualBox.
- During the first launch Vagrant will install VirtualBox Additions which are necessary for changing the screen resolution and turning on the functionality of the clipboard.
- After restart all the needed components will be installed in the background process. This will take some time and you’ll be able to track the progress in the command line.
vagrant up
You need to wait a bit for the desktop to appear.
- Username:
vagrant
- Password:
vagrant
User has administrator permissions without password prompt: sudo su
You can upgrade configuration to the latest version with the following commands.
git pull
vagrant up --provision
You can turn on the function of shared clipboard between virtual and host machines in VirtualBox menu: ‘Devices’ - ‘Shared clipboard’. If it doesn’t work, try to reinstall virtual machine drivers in menu: ‘Devices’ - ‘Insert Guest Additions CD image’
PhpStorm notice. First you need to run the command from the terminal. Execute command phpstorm
.
Some ansible roles inspired and powered by:
- roles/phpstorm — https://github.com/kosssi/ansible-role-phpstorm
- roles/visualcode — https://github.com/gantsign/ansible-role-visual-studio-code
- roles/nvm — https://github.com/morgangraphics/ansible-role-nvm
- roles/dbeaver — https://github.com/flaminem/ansible-role-dbeaver