author | ymh <ymh.work@gmail.com> |
Wed, 27 Jun 2018 16:00:29 +0200 | |
changeset 1 | 3b0a8a6e685e |
permissions | -rw-r--r-- |
1
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1 |
# -*- mode: ruby -*- |
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2 |
# vi: set ft=ruby : |
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3 |
|
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4 |
# All Vagrant configuration is done below. The "2" in Vagrant.configure |
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5 |
# configures the configuration version (we support older styles for |
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6 |
# backwards compatibility). Please don't change it unless you know what |
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7 |
# you're doing. |
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8 |
Vagrant.configure("2") do |config| |
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
9 |
# The most common configuration options are documented and commented below. |
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
10 |
# For a complete reference, please see the online documentation at |
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
11 |
# https://docs.vagrantup.com. |
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
12 |
|
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
13 |
# Every Vagrant development environment requires a box. You can search for |
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
14 |
# boxes at https://vagrantcloud.com/search. |
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
15 |
config.vm.box = "alpine/alpine64" |
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
16 |
|
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
17 |
# Disable automatic box update checking. If you disable this, then |
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
18 |
# boxes will only be checked for updates when the user runs |
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
19 |
# `vagrant box outdated`. This is not recommended. |
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
20 |
# config.vm.box_check_update = false |
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
21 |
|
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
22 |
# Create a forwarded port mapping which allows access to a specific port |
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
23 |
# within the machine from a port on the host machine. In the example below, |
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
24 |
# accessing "localhost:8080" will access port 80 on the guest machine. |
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
25 |
# NOTE: This will enable public access to the opened port |
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
26 |
# config.vm.network "forwarded_port", guest: 80, host: 8080 |
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
27 |
|
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
28 |
# Create a forwarded port mapping which allows access to a specific port |
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
29 |
# within the machine from a port on the host machine and only allow access |
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
30 |
# via 127.0.0.1 to disable public access |
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
31 |
# config.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: "127.0.0.1" |
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
32 |
|
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
33 |
# Create a private network, which allows host-only access to the machine |
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
34 |
# using a specific IP. |
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
35 |
# config.vm.network "private_network", ip: "172.16.1.10", auto_config: false |
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
36 |
|
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
37 |
# Create a public network, which generally matched to bridged network. |
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
38 |
# Bridged networks make the machine appear as another physical device on |
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
39 |
# your network. |
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
40 |
# config.vm.network "public_network" |
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
41 |
|
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
42 |
# Share an additional folder to the guest VM. The first argument is |
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
43 |
# the path on the host to the actual folder. The second argument is |
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
44 |
# the path on the guest to mount the folder. And the optional third |
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
45 |
# argument is a set of non-required options. |
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
46 |
# config.vm.synced_folder "../data", "/vagrant_data" |
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
47 |
|
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
48 |
# Provider-specific configuration so you can fine-tune various |
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
49 |
# backing providers for Vagrant. These expose provider-specific options. |
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
50 |
# Example for VirtualBox: |
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
51 |
# |
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
52 |
# config.vm.provider "virtualbox" do |vb| |
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
53 |
# # Display the VirtualBox GUI when booting the machine |
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
54 |
# vb.gui = true |
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
55 |
# |
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
56 |
# # Customize the amount of memory on the VM: |
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
57 |
# vb.memory = "1024" |
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
58 |
# end |
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
59 |
# |
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
60 |
# View the documentation for the provider you are using for more |
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
61 |
# information on available options. |
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
62 |
|
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
63 |
# Enable provisioning with a shell script. Additional provisioners such as |
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
64 |
# Puppet, Chef, Ansible, Salt, and Docker are also available. Please see the |
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
65 |
# documentation for more information about their specific syntax and use. |
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
66 |
config.vm.provision "shell", inline: <<-SHELL |
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
67 |
apk update |
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
68 |
apk upgrade |
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
69 |
apk add python3 |
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
70 |
apk add git |
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
71 |
apk add build-base |
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
72 |
apk add postgresql-client |
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
73 |
apk add musl-dev postgresql-dev |
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
74 |
apk add jpeg-dev zlib-dev |
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
75 |
apk add python3-dev |
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
76 |
apk add memcached-dev |
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
77 |
apk add libmemcached |
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
78 |
apk add libmemcached-dev |
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
79 |
apk add linux-dev |
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
80 |
apk add linux-headers |
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
81 |
SHELL |
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
82 |
|
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
83 |
config.vbguest.auto_update = false |
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
84 |
|
3b0a8a6e685e
* Move importcollection and importmetacategories commands to the generic project
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
85 |
end |