Add Vagrantfile
This commit is contained in:
parent
ba335aa33d
commit
9bbfc3f371
3
.gitignore
vendored
Normal file
3
.gitignore
vendored
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
.idea
|
||||||
|
.vagrant
|
||||||
|
Vagrantfile
|
80
Vagrantfile.template
Normal file
80
Vagrantfile.template
Normal file
@ -0,0 +1,80 @@
|
|||||||
|
# encoding: utf-8
|
||||||
|
# -*- mode: ruby -*-
|
||||||
|
# vi: set ft=ruby :
|
||||||
|
# Box / OS
|
||||||
|
VAGRANT_BOX = 'bento/ubuntu-19.10'
|
||||||
|
|
||||||
|
# VM User — 'vagrant' by default
|
||||||
|
VM_USER = 'vagrant'
|
||||||
|
|
||||||
|
VM_NAME = 'workadventure'
|
||||||
|
VM_GUEST_PATH = '/opt/workadventure'
|
||||||
|
VM_HOST_PATH = '#VM_HOST_PATH#'
|
||||||
|
|
||||||
|
# # VM Port — uncomment this to use NAT instead of DHCP
|
||||||
|
# VM_PORT = 8080
|
||||||
|
Vagrant.configure(2) do |config|
|
||||||
|
# Vagrant box from Hashicorp
|
||||||
|
config.vm.box = VAGRANT_BOX
|
||||||
|
|
||||||
|
# Actual machine name
|
||||||
|
config.vm.hostname = VM_NAME
|
||||||
|
|
||||||
|
# Set VM name in Virtualbox
|
||||||
|
config.vm.provider "virtualbox" do |v|
|
||||||
|
v.name = VM_NAME
|
||||||
|
v.memory = 8192
|
||||||
|
v.cpus = 4
|
||||||
|
end
|
||||||
|
|
||||||
|
#DHCP — comment this out if planning on using NAT instead
|
||||||
|
#config.vm.network "private_network", type: "dhcp"
|
||||||
|
config.vm.network :forwarded_port, guest: 80, host: 80
|
||||||
|
config.vm.network :forwarded_port, guest: 8080, host: 8080
|
||||||
|
|
||||||
|
# Sync folder
|
||||||
|
config.vm.synced_folder VM_HOST_PATH, VM_GUEST_PATH
|
||||||
|
#,type: "smb"
|
||||||
|
#if you push directly credential to access at your sharing file, you can use :
|
||||||
|
#,smb_password: "#MAC_PASSWORD#"
|
||||||
|
#,smb_username: "#MAC_USER#"
|
||||||
|
#,mount_options: [ "username=#MAC_USER#", "password=#MAC_PASSWORD#" ]
|
||||||
|
|
||||||
|
# Disable default Vagrant folder, use a unique path per project
|
||||||
|
config.vm.synced_folder '.', '/home/'+VM_USER+'', disabled: true
|
||||||
|
|
||||||
|
# Use config of you local machine for root user
|
||||||
|
#config.vm.provision "file", source: "~/.ssh/id_rsa", destination: '/home/'+VM_USER+'/.ssh/id_rsa'
|
||||||
|
#config.vm.provision "file", source: "~/.ssh/id_rsa.pub", destination: '/home/'+VM_USER+'/.ssh/id_rsa.pub'
|
||||||
|
#config.vm.provision "file", source: "~/.ssh/known_hosts", destination: '/home/'+VM_USER+'/.ssh/known_hosts'
|
||||||
|
#config.vm.provision "file", source: "~/.bash_profile", destination: '/home/'+VM_USER+'/.bash_profile'
|
||||||
|
#config.vm.provision "file", source: "~/.gitconfig", destination: '/home/'+VM_USER+'/.gitconfig'
|
||||||
|
|
||||||
|
#Install package for your VM
|
||||||
|
config.vm.provision "shell",
|
||||||
|
env: {"VM_GUEST_PATH" => VM_GUEST_PATH},
|
||||||
|
inline: <<-SHELL
|
||||||
|
echo
|
||||||
|
apt-get update -y
|
||||||
|
apt-get install -y git
|
||||||
|
apt-get install -y apt-transport-https
|
||||||
|
apt-get install -y build-essential
|
||||||
|
apt-get install -y curl
|
||||||
|
apt-get install -y gnupg-agent
|
||||||
|
apt-get install -y software-properties-common
|
||||||
|
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
|
||||||
|
apt-key fingerprint 0EBFCD88
|
||||||
|
add-apt-repository \
|
||||||
|
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
|
||||||
|
$(lsb_release -cs) \
|
||||||
|
stable"
|
||||||
|
apt-get update -y
|
||||||
|
apt-get install -y docker-ce docker-ce-cli containerd.io
|
||||||
|
curl -L "https://github.com/docker/compose/releases/download/1.25.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
|
||||||
|
chmod +x /usr/local/bin/docker-compose
|
||||||
|
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
|
||||||
|
usermod -aG docker vagrant
|
||||||
|
newgrp docker
|
||||||
|
echo "cd ${VM_GUEST_PATH}" >> /home/vagrant/.bashrc
|
||||||
|
SHELL
|
||||||
|
end
|
Loading…
Reference in New Issue
Block a user