1+ # -*- mode: ruby -*-
2+ # vi: set ft=ruby :
3+
4+ # All Vagrant configuration is done below. The "2" in Vagrant.configure
5+ # configures the configuration version (we support older styles for
6+ # backwards compatibility). Please don't change it unless you know what
7+ # you're doing.
8+ Vagrant . configure ( "2" ) do |config |
9+ # The most common configuration options are documented and commented below.
10+ # For a complete reference, please see the online documentation at
11+ # https://docs.vagrantup.com.
12+
13+ # Every Vagrant development environment requires a box. You can search for
14+ # boxes at https://vagrantcloud.com/search.
15+ config . vm . box = "hashicorp/bionic64"
16+
17+ # Disable automatic box update checking. If you disable this, then
18+ # boxes will only be checked for updates when the user runs
19+ # `vagrant box outdated`. This is not recommended.
20+ # config.vm.box_check_update = false
21+
22+ # Create a forwarded port mapping which allows access to a specific port
23+ # within the machine from a port on the host machine. In the example below,
24+ # accessing "localhost:8080" will access port 80 on the guest machine.
25+ # NOTE: This will enable public access to the opened port
26+ config . vm . network "forwarded_port" , guest : 8050 , host : 8050
27+ config . vm . network "forwarded_port" , guest : 8051 , host : 8051
28+
29+ # Create a forwarded port mapping which allows access to a specific port
30+ # within the machine from a port on the host machine and only allow access
31+ # via 127.0.0.1 to disable public access
32+ # config.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: "127.0.0.1"
33+
34+ # Create a private network, which allows host-only access to the machine
35+ # using a specific IP.
36+ # config.vm.network "private_network", ip: "192.168.33.10"
37+
38+ # Create a public network, which generally matched to bridged network.
39+ # Bridged networks make the machine appear as another physical device on
40+ # your network.
41+ # config.vm.network "public_network"
42+
43+ # Share an additional folder to the guest VM. The first argument is
44+ # the path on the host to the actual folder. The second argument is
45+ # the path on the guest to mount the folder. And the optional third
46+ # argument is a set of non-required options.
47+ # config.vm.synced_folder "../data", "/vagrant_data"
48+
49+ # Provider-specific configuration so you can fine-tune various
50+ # backing providers for Vagrant. These expose provider-specific options.
51+ # Example for VirtualBox:
52+ #
53+ # config.vm.provider "virtualbox" do |vb|
54+ # # Display the VirtualBox GUI when booting the machine
55+ # vb.gui = true
56+ #
57+ # # Customize the amount of memory on the VM:
58+ # vb.memory = "1024"
59+ # end
60+ #
61+ # View the documentation for the provider you are using for more
62+ # information on available options.
63+
64+ # Enable provisioning with a shell script. Additional provisioners such as
65+ # Ansible, Chef, Docker, Puppet and Salt are also available. Please see the
66+ # documentation for more information about their specific syntax and use.
67+ config . vm . provision "shell" , inline : <<-SHELL
68+ sudo apt-get update
69+ sudo apt-get install -y \
70+ apt-transport-https \
71+ ca-certificates \
72+ curl \
73+ gnupg-agent \
74+ software-properties-common
75+ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
76+ sudo add-apt-repository \
77+ "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
78+ $(lsb_release -cs) \
79+ stable"
80+ sudo apt-get update
81+ sudo apt-get install -y docker-ce docker-ce-cli containerd.io
82+ sudo curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
83+ sudo chmod +x /usr/local/bin/docker-compose
84+ SHELL
85+ end
0 commit comments