picobox 0.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +16 -0
- data/.rspec +5 -0
- data/.travis.yml +5 -0
- data/CODE_OF_CONDUCT.md +74 -0
- data/DOCKER_INFO.md +3 -0
- data/Gemfile +5 -0
- data/Guardfile +47 -0
- data/LICENSE.txt +21 -0
- data/README.md +138 -0
- data/Rakefile +6 -0
- data/bin/console +14 -0
- data/bin/picobox +5 -0
- data/bin/picobox_dev +10 -0
- data/bin/rake +17 -0
- data/bin/setup +8 -0
- data/docs/demo_script.md +27 -0
- data/docs/testdrive +5658 -0
- data/docs/testdrive.gif +0 -0
- data/lib/picobox.rb +79 -0
- data/lib/picobox/box.rb +37 -0
- data/lib/picobox/boxes/manifest.rb +59 -0
- data/lib/picobox/boxes/packages/elixir/Dockerfile +47 -0
- data/lib/picobox/boxes/packages/elixir/docker-compose.yml +26 -0
- data/lib/picobox/boxes/packages/elixir/info +18 -0
- data/lib/picobox/boxes/packages/elixir/start +3 -0
- data/lib/picobox/boxes/packages/python/Dockerfile +33 -0
- data/lib/picobox/boxes/packages/python/docker-compose.yml +14 -0
- data/lib/picobox/boxes/packages/python/start +3 -0
- data/lib/picobox/boxes/packages/rails/Dockerfile +57 -0
- data/lib/picobox/boxes/packages/rails/docker-compose.yml +50 -0
- data/lib/picobox/boxes/packages/rails/start +9 -0
- data/lib/picobox/boxes/packages/ruby/Dockerfile +5 -0
- data/lib/picobox/boxes/packages/ruby/docker-compose.yml +22 -0
- data/lib/picobox/boxes/packages/ruby/start +3 -0
- data/lib/picobox/boxes/unpacker.rb +55 -0
- data/lib/picobox/cli.rb +163 -0
- data/lib/picobox/commands/add_box.rb +23 -0
- data/lib/picobox/commands/add_service.rb +25 -0
- data/lib/picobox/commands/build_service.rb +16 -0
- data/lib/picobox/commands/download_docker.rb +17 -0
- data/lib/picobox/commands/finish_install.rb +10 -0
- data/lib/picobox/commands/finish_uninstall.rb +9 -0
- data/lib/picobox/commands/initialize_project.rb +35 -0
- data/lib/picobox/commands/install_docker.rb +27 -0
- data/lib/picobox/commands/list_boxes.rb +16 -0
- data/lib/picobox/commands/list_services.rb +16 -0
- data/lib/picobox/commands/open_shell.rb +26 -0
- data/lib/picobox/commands/remove_service.rb +25 -0
- data/lib/picobox/commands/remove_setup_shell.rb +28 -0
- data/lib/picobox/commands/restart.rb +21 -0
- data/lib/picobox/commands/setup_shell.rb +19 -0
- data/lib/picobox/commands/start.rb +22 -0
- data/lib/picobox/commands/start_install.rb +9 -0
- data/lib/picobox/commands/start_uninstall.rb +20 -0
- data/lib/picobox/commands/stop.rb +24 -0
- data/lib/picobox/constants.rb +14 -0
- data/lib/picobox/dns.rb +8 -0
- data/lib/picobox/docker_compose/config.rb +59 -0
- data/lib/picobox/errors/picobox_error.rb +15 -0
- data/lib/picobox/handlers/stdout_handler.rb +142 -0
- data/lib/picobox/os/abstract.rb +29 -0
- data/lib/picobox/os/current_os.rb +14 -0
- data/lib/picobox/os/darwin.rb +15 -0
- data/lib/picobox/os/linux.rb +9 -0
- data/lib/picobox/os/unsupported_os.rb +9 -0
- data/lib/picobox/project.rb +19 -0
- data/lib/picobox/service.rb +64 -0
- data/lib/picobox/services/installer.rb +41 -0
- data/lib/picobox/services/manifest.rb +50 -0
- data/lib/picobox/services/packages/elasticsearch/config.yml +14 -0
- data/lib/picobox/services/packages/memcached/config.yml +9 -0
- data/lib/picobox/services/packages/mongodb/config.yml +13 -0
- data/lib/picobox/services/packages/mysql/config.yml +17 -0
- data/lib/picobox/services/packages/postgres/config.yml +16 -0
- data/lib/picobox/services/packages/redis/config.yml +7 -0
- data/lib/picobox/shell/dot_profile.rb +42 -0
- data/lib/picobox/shell/dot_zshrc.rb +42 -0
- data/lib/picobox/shell/startup_script.rb +18 -0
- data/lib/picobox/system.rb +83 -0
- data/lib/picobox/templates/shell_extensions.bash +125 -0
- data/lib/picobox/utils/domain_event_publisher.rb +11 -0
- data/lib/picobox/utils/output.rb +69 -0
- data/lib/picobox/utils/progress_bar.rb +31 -0
- data/lib/picobox/utils/project.rb +55 -0
- data/lib/picobox/utils/shell.rb +18 -0
- data/lib/picobox/utils/visitable.rb +9 -0
- data/lib/picobox/utils/visitor_by_os.rb +29 -0
- data/lib/runner.rb +51 -0
- data/picobox.gemspec +49 -0
- metadata +386 -0
data/docs/testdrive.gif
ADDED
|
Binary file
|
data/lib/picobox.rb
ADDED
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
require 'thor'
|
|
2
|
+
require 'ruby-progressbar'
|
|
3
|
+
require 'wisper'
|
|
4
|
+
require 'open-uri'
|
|
5
|
+
require 'uri'
|
|
6
|
+
require 'tty-file'
|
|
7
|
+
require 'tty-command'
|
|
8
|
+
require 'tty-platform'
|
|
9
|
+
require 'ostruct'
|
|
10
|
+
require 'yaml'
|
|
11
|
+
require 'inifile'
|
|
12
|
+
require 'pathname'
|
|
13
|
+
|
|
14
|
+
require 'picobox/utils/progress_bar'
|
|
15
|
+
require 'picobox/utils/project'
|
|
16
|
+
require 'picobox/utils/visitable'
|
|
17
|
+
require 'picobox/utils/domain_event_publisher'
|
|
18
|
+
require 'picobox/utils/visitor_by_os'
|
|
19
|
+
require 'picobox/utils/output'
|
|
20
|
+
require 'picobox/utils/shell'
|
|
21
|
+
|
|
22
|
+
require 'picobox/docker_compose/config'
|
|
23
|
+
|
|
24
|
+
require 'picobox/errors/picobox_error'
|
|
25
|
+
|
|
26
|
+
require 'picobox/handlers/stdout_handler'
|
|
27
|
+
|
|
28
|
+
require 'picobox/commands/download_docker'
|
|
29
|
+
require 'picobox/commands/install_docker'
|
|
30
|
+
require 'picobox/commands/setup_shell'
|
|
31
|
+
require 'picobox/commands/remove_setup_shell'
|
|
32
|
+
require 'picobox/commands/start_install'
|
|
33
|
+
require 'picobox/commands/build_service'
|
|
34
|
+
require 'picobox/commands/start_uninstall'
|
|
35
|
+
require 'picobox/commands/finish_install'
|
|
36
|
+
require 'picobox/commands/finish_uninstall'
|
|
37
|
+
require 'picobox/commands/initialize_project'
|
|
38
|
+
require 'picobox/commands/add_box'
|
|
39
|
+
require 'picobox/commands/list_boxes'
|
|
40
|
+
require 'picobox/commands/list_services'
|
|
41
|
+
require 'picobox/commands/add_service'
|
|
42
|
+
require 'picobox/commands/remove_service'
|
|
43
|
+
require 'picobox/commands/start'
|
|
44
|
+
require 'picobox/commands/stop'
|
|
45
|
+
require 'picobox/commands/restart'
|
|
46
|
+
require 'picobox/commands/open_shell'
|
|
47
|
+
|
|
48
|
+
require 'picobox/boxes/manifest'
|
|
49
|
+
require 'picobox/boxes/unpacker'
|
|
50
|
+
|
|
51
|
+
require 'picobox/services/manifest'
|
|
52
|
+
require 'picobox/services/installer'
|
|
53
|
+
|
|
54
|
+
require 'picobox/os/abstract'
|
|
55
|
+
require 'picobox/os/darwin'
|
|
56
|
+
require 'picobox/os/linux'
|
|
57
|
+
require 'picobox/os/unsupported_os'
|
|
58
|
+
require 'picobox/os/current_os'
|
|
59
|
+
|
|
60
|
+
require 'picobox/shell/startup_script'
|
|
61
|
+
require 'picobox/shell/dot_profile'
|
|
62
|
+
require 'picobox/shell/dot_zshrc'
|
|
63
|
+
|
|
64
|
+
require 'picobox/constants'
|
|
65
|
+
require 'picobox/cli'
|
|
66
|
+
require 'picobox/system'
|
|
67
|
+
require 'picobox/project'
|
|
68
|
+
require 'picobox/box'
|
|
69
|
+
require 'picobox/service'
|
|
70
|
+
|
|
71
|
+
Wisper.subscribe(
|
|
72
|
+
Picobox::Handlers::StdoutHandler.new,
|
|
73
|
+
scope: Picobox::Utils::DomainEventPublisher
|
|
74
|
+
)
|
|
75
|
+
|
|
76
|
+
# silence warnings found in tty-file-0.3.0 for forwarding to private method
|
|
77
|
+
$VERBOSE=nil
|
|
78
|
+
|
|
79
|
+
|
data/lib/picobox/box.rb
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
module Picobox
|
|
2
|
+
class Box
|
|
3
|
+
include Utils::Visitable
|
|
4
|
+
include Utils::Output
|
|
5
|
+
|
|
6
|
+
attr_reader :os
|
|
7
|
+
|
|
8
|
+
def initialize(os)
|
|
9
|
+
@os = os
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def install(type = nil)
|
|
13
|
+
return if type.nil?
|
|
14
|
+
# TODO place to inject unpacker for different types
|
|
15
|
+
# of unpacking (ie net), could first search locally
|
|
16
|
+
# then on the net
|
|
17
|
+
# accept(Commands::AddBox.new(type, FileUnpacker, NetUnpacker))
|
|
18
|
+
accept(Commands::AddBox.new(type))
|
|
19
|
+
rescue Errors::BoxNotImplemented
|
|
20
|
+
display_box_not_available type
|
|
21
|
+
list # called like for exception handling
|
|
22
|
+
rescue Errors::ProjectNotInitialized
|
|
23
|
+
display_project_not_initialized
|
|
24
|
+
exit 1
|
|
25
|
+
rescue Exception => e
|
|
26
|
+
display_info(e, :red)
|
|
27
|
+
exit 1
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def list()
|
|
31
|
+
accept(Commands::ListBoxes.new)
|
|
32
|
+
rescue Exception => e
|
|
33
|
+
display_info(e, :red)
|
|
34
|
+
exit 1
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
module Picobox
|
|
2
|
+
module Boxes
|
|
3
|
+
class Manifest
|
|
4
|
+
def initialize(os, type = nil)
|
|
5
|
+
@os, @type = os, type
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
def list
|
|
9
|
+
result = Dir.glob("#{Picobox.box_packages_dir}/*").select {|f| File.directory? f}
|
|
10
|
+
result.map {|r| strip_path(r) }
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
def package_contents
|
|
15
|
+
@package_contents ||= Dir.glob(File.join(package_dir, "*"))
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
def check!
|
|
20
|
+
raise Errors::BoxNotImplemented unless list.include?(type)
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
def source
|
|
25
|
+
@source ||= OpenStruct.new(
|
|
26
|
+
start_script: "#{package_dir}/start",
|
|
27
|
+
docker_compose: "#{package_dir}/docker-compose.yml",
|
|
28
|
+
dockerfile: "#{package_dir}/Dockerfile"
|
|
29
|
+
)
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
def dest
|
|
34
|
+
@dest ||= OpenStruct.new(
|
|
35
|
+
start_script: "#{os.project_root}/#{Picobox::CONFIG_DIR}/start",
|
|
36
|
+
docker_compose: "#{os.project_root}/docker-compose.yml",
|
|
37
|
+
dockerfile: "#{os.project_root}/Dockerfile"
|
|
38
|
+
)
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
def additional_files
|
|
42
|
+
(package_contents - source.to_h.values).map do |file|
|
|
43
|
+
{ source: file, dest: "#{os.project_root}/#{strip_path(file)}" }
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
private
|
|
48
|
+
attr_reader :os, :type
|
|
49
|
+
|
|
50
|
+
def package_dir
|
|
51
|
+
"#{Picobox.box_packages_dir}/#{type}"
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
def strip_path(file)
|
|
55
|
+
file.split('/').last
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
end
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# picobox with elixir
|
|
2
|
+
#
|
|
3
|
+
# VERSION 0.1.0
|
|
4
|
+
FROM elixir:latest
|
|
5
|
+
MAINTAINER Stefan Surzycki <stefan.surzycki@gmail.com>
|
|
6
|
+
|
|
7
|
+
ENV HOSTNAME picobox
|
|
8
|
+
ENV APP_HOME /var/www
|
|
9
|
+
|
|
10
|
+
# silence deb warnings
|
|
11
|
+
ENV DEBIAN_FRONTEND noninteractive
|
|
12
|
+
ENV HOSTNAME picobox
|
|
13
|
+
|
|
14
|
+
# do install here
|
|
15
|
+
RUN mkdir -p /tmp
|
|
16
|
+
WORKDIR /tmp
|
|
17
|
+
|
|
18
|
+
# add repository software
|
|
19
|
+
RUN apt-get update
|
|
20
|
+
|
|
21
|
+
# install nodejs
|
|
22
|
+
# nodejs
|
|
23
|
+
RUN curl -sL https://deb.nodesource.com/setup_6.x | bash -
|
|
24
|
+
RUN apt-get install -y nodejs
|
|
25
|
+
|
|
26
|
+
# utils
|
|
27
|
+
RUN apt-get install -y nano git
|
|
28
|
+
|
|
29
|
+
# make nano work
|
|
30
|
+
RUN echo "export TERM=xterm" >> /etc/bash.bashrc
|
|
31
|
+
|
|
32
|
+
# get inotify
|
|
33
|
+
RUN apt-get install -y inotify-tools
|
|
34
|
+
|
|
35
|
+
# update mix
|
|
36
|
+
RUN mix local.hex --force
|
|
37
|
+
RUN mix local.rebar --force
|
|
38
|
+
|
|
39
|
+
# phoenix
|
|
40
|
+
RUN mix archive.install --force https://github.com/phoenixframework/archives/raw/master/phx_new.ez
|
|
41
|
+
|
|
42
|
+
# working dir
|
|
43
|
+
RUN mkdir -p $APP_HOME
|
|
44
|
+
WORKDIR $APP_HOME
|
|
45
|
+
|
|
46
|
+
# hook up source
|
|
47
|
+
ONBUILD ADD . $APP_HOME
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
---
|
|
2
|
+
version: '2'
|
|
3
|
+
volumes:
|
|
4
|
+
db-data:
|
|
5
|
+
external: false
|
|
6
|
+
services:
|
|
7
|
+
dev:
|
|
8
|
+
build: "."
|
|
9
|
+
entrypoint: ".picobox/start"
|
|
10
|
+
volumes:
|
|
11
|
+
- ".:/var/www:cached"
|
|
12
|
+
hostname: picobox
|
|
13
|
+
environment:
|
|
14
|
+
MIX_ENV: dev
|
|
15
|
+
ports:
|
|
16
|
+
- 80:4000
|
|
17
|
+
- 4000:4000
|
|
18
|
+
test:
|
|
19
|
+
build: "."
|
|
20
|
+
entrypoint: ".picobox/start"
|
|
21
|
+
volumes:
|
|
22
|
+
- ".:/var/www:cached"
|
|
23
|
+
environment:
|
|
24
|
+
MIX_ENV: test
|
|
25
|
+
hostname: picobox_test
|
|
26
|
+
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
To create new phoenix project:
|
|
2
|
+
|
|
3
|
+
$ picobox add postgres
|
|
4
|
+
$ mix phx.new . --app helloworld
|
|
5
|
+
|
|
6
|
+
Configure database:
|
|
7
|
+
|
|
8
|
+
config/dev.exs:
|
|
9
|
+
--------------------------------
|
|
10
|
+
config :hello, Hello.Repo,
|
|
11
|
+
adapter: Ecto.Adapters.Postgres,
|
|
12
|
+
username: "picobox",
|
|
13
|
+
password: "picobox",
|
|
14
|
+
database: "helloworld_dev",
|
|
15
|
+
hostname: "postgres",
|
|
16
|
+
pool_size: 10
|
|
17
|
+
--------------------------------
|
|
18
|
+
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# python
|
|
2
|
+
#
|
|
3
|
+
# VERSION 0.0.2
|
|
4
|
+
FROM ubuntu
|
|
5
|
+
MAINTAINER Stefan Surzycki <stefan.surzycki@gmail.com>
|
|
6
|
+
|
|
7
|
+
ENV APP_HOME ~
|
|
8
|
+
|
|
9
|
+
# silence deb warnings
|
|
10
|
+
ENV DEBIAN_FRONTEND noninteractive
|
|
11
|
+
ENV HOSTNAME picobox
|
|
12
|
+
|
|
13
|
+
# add repository software
|
|
14
|
+
RUN apt-get update
|
|
15
|
+
|
|
16
|
+
# replace default interpreter to bash
|
|
17
|
+
RUN rm /bin/sh && ln -s /bin/bash /bin/sh
|
|
18
|
+
|
|
19
|
+
## Languages
|
|
20
|
+
|
|
21
|
+
# install python
|
|
22
|
+
RUN apt-get install -y python-pip python-yaml gcc python-dev libffi-dev libssl-dev sshpass openssh-client git
|
|
23
|
+
|
|
24
|
+
## Tools
|
|
25
|
+
|
|
26
|
+
# utils
|
|
27
|
+
RUN apt-get install -y sudo nano wget
|
|
28
|
+
|
|
29
|
+
# set working dir
|
|
30
|
+
WORKDIR $APP_HOME
|
|
31
|
+
|
|
32
|
+
# hook up source files
|
|
33
|
+
ADD . $APP_HOME
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# picobox for use with rails containing ruby and nodejs
|
|
2
|
+
#
|
|
3
|
+
# VERSION 0.1.0
|
|
4
|
+
FROM picobox/ruby:latest
|
|
5
|
+
MAINTAINER Stefan Surzycki <stefan.surzycki@gmail.com>
|
|
6
|
+
|
|
7
|
+
ENV APP_HOME /var/www
|
|
8
|
+
ENV PATH $APP_HOME/bin:$PATH
|
|
9
|
+
|
|
10
|
+
# silence deb warnings
|
|
11
|
+
ENV DEBIAN_FRONTEND noninteractive
|
|
12
|
+
ENV HOSTNAME picobox
|
|
13
|
+
|
|
14
|
+
# do install here
|
|
15
|
+
RUN mkdir -p /tmp
|
|
16
|
+
WORKDIR /tmp
|
|
17
|
+
|
|
18
|
+
## Database dependencies
|
|
19
|
+
|
|
20
|
+
# postgres client
|
|
21
|
+
RUN apt-get install -y libpq-dev postgresql-client
|
|
22
|
+
|
|
23
|
+
# sql-lite
|
|
24
|
+
RUN apt-get install -y libsqlite3-dev
|
|
25
|
+
|
|
26
|
+
# mysql
|
|
27
|
+
RUN apt-get install -y libmysqlclient-dev
|
|
28
|
+
|
|
29
|
+
## Tools
|
|
30
|
+
|
|
31
|
+
# phantomjs pre-requisites
|
|
32
|
+
RUN apt-get install -y chrpath libssl-dev libxft-dev
|
|
33
|
+
RUN apt-get install -y libfreetype6 libfreetype6-dev
|
|
34
|
+
RUN apt-get install -y libfontconfig1 libfontconfig1-dev
|
|
35
|
+
|
|
36
|
+
# phantomjs latest
|
|
37
|
+
RUN npm -g install phantomjs-prebuilt
|
|
38
|
+
|
|
39
|
+
# install yarn
|
|
40
|
+
RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
|
|
41
|
+
RUN echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list
|
|
42
|
+
RUN apt-get update && apt-get install -y yarn
|
|
43
|
+
|
|
44
|
+
# utils
|
|
45
|
+
RUN apt-get install -y nano git
|
|
46
|
+
|
|
47
|
+
# hook up cache volume
|
|
48
|
+
ENV BUNDLE_PATH /bundle
|
|
49
|
+
|
|
50
|
+
# working dir
|
|
51
|
+
WORKDIR $APP_HOME
|
|
52
|
+
|
|
53
|
+
# add gemfile
|
|
54
|
+
ONBUILD ADD Gemfile* $APP_HOME/
|
|
55
|
+
|
|
56
|
+
# hook up source
|
|
57
|
+
ONBUILD ADD . $APP_HOME
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
---
|
|
2
|
+
version: '2'
|
|
3
|
+
volumes:
|
|
4
|
+
db-data:
|
|
5
|
+
external: false
|
|
6
|
+
bundle-data:
|
|
7
|
+
external: false
|
|
8
|
+
services:
|
|
9
|
+
dev:
|
|
10
|
+
build: "."
|
|
11
|
+
entrypoint: ".picobox/start"
|
|
12
|
+
volumes:
|
|
13
|
+
- ".:/var/www:cached"
|
|
14
|
+
volumes_from:
|
|
15
|
+
- bundle
|
|
16
|
+
environment:
|
|
17
|
+
RAILS_ENV: development
|
|
18
|
+
BUNDLE_PATH: "/bundle"
|
|
19
|
+
hostname: picobox
|
|
20
|
+
ports:
|
|
21
|
+
- 80:3000
|
|
22
|
+
- 3000:3000
|
|
23
|
+
test:
|
|
24
|
+
build: "."
|
|
25
|
+
entrypoint: ".picobox/start"
|
|
26
|
+
volumes:
|
|
27
|
+
- ".:/var/www:cached"
|
|
28
|
+
volumes_from:
|
|
29
|
+
- bundle
|
|
30
|
+
environment:
|
|
31
|
+
RAILS_ENV: test
|
|
32
|
+
BUNDLE_PATH: "/bundle"
|
|
33
|
+
hostname: picobox_test
|
|
34
|
+
webpack:
|
|
35
|
+
image: picobox/webpack_rails
|
|
36
|
+
entrypoint: ".picobox/start"
|
|
37
|
+
volumes_from:
|
|
38
|
+
- bundle
|
|
39
|
+
volumes:
|
|
40
|
+
- ".:/var/www:cached"
|
|
41
|
+
environment:
|
|
42
|
+
RAILS_ENV: development
|
|
43
|
+
BUNDLE_PATH: "/bundle"
|
|
44
|
+
hostname: picobox
|
|
45
|
+
ports:
|
|
46
|
+
- 8080:8080
|
|
47
|
+
bundle:
|
|
48
|
+
image: busybox
|
|
49
|
+
volumes:
|
|
50
|
+
- bundle-data:/bundle:cached
|