-
Notifications
You must be signed in to change notification settings - Fork 7
/
Dockerfile
102 lines (86 loc) · 2.65 KB
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
FROM ruby:2.3
# Tell debconf to run in non-interactive mode
ENV DEBIAN_FRONTEND noninteractive
# Install apt based dependencies required to run Rails as
# well as RubyGems. As the Ruby image itself is based on a
# Debian image, we use apt-get to install those.
RUN apt-get update
RUN apt-get install -y --no-install-recommends \
build-essential \
sudo \
nodejs
RUN apt-get install -y --no-install-recommends \
libsdl2-dev \
libsdl2-ttf-dev \
libpango1.0-dev \
libgl1-mesa-dev \
libfreeimage-dev \
libopenal-dev \
libsndfile-dev \
libiconv-hook-dev \
libxml2-dev \
freeglut3 \
freeglut3-dev \
ImageMagick \
libmagickwand-dev
RUN apt-get install -y \
xauth \
alsa-utils \
libgl1-mesa-dri \
libgl1-mesa-glx \
libpangoxft-1.0-0 \
libssl1.0.0 \
libxss1
RUN apt-get install -y \
mesa-utils \
binutils \
x-window-system \
module-init-tools \
xserver-xorg-video-all
# TO NVIDIA
#RUN wget -O /tmp/nvidia-driver.run http://us.download.nvidia.com/XFree86/Linux-x86_64/352.63/NVIDIA-Linux-x86_64-352.63.run \
# && sh /tmp/nvidia-driver.run -a -N --ui=none --no-kernel-module \
# && rm /tmp/nvidia-driver.run
RUN apt-get clean && rm -rf /var/lib/apt/lists/*
# ADD an user
RUN adduser --disabled-password --gecos '' bomberman \
&& usermod -a -G video bomberman \
&& usermod -a -G sudo bomberman \
&& usermod -a -G dialout bomberman \
&& echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers \
&& echo 'bomberman:bomberman' | chpasswd
# SET ENV Gems
ENV HOME=/home/bomberman \
APP=/usr/src/app \
LIBGL_DEBUG=verbose
# Configure the main working directory. This is the base
# directory used in any further RUN, COPY, and ENTRYPOINT
# commands.
RUN mkdir -p $HOME \
&& mkdir -p $APP \
&& chown -R bomberman:bomberman $APP \
&& gem install bundler \
&& echo "PATH=$PATH" >> /etc/profile \
&& echo "export GEM_HOME=/usr/local/bundle" >> /etc/profile \
&& echo "GEM_HOME=/usr/local/bundle" >> /etc/environment \
&& chown -R bomberman:bomberman $HOME
# Copy the Gemfile as well as the Gemfile.lock and install
# the RubyGems. This is a separate step so the dependencies
# will be cached unless changes to one of those two files
# are made.
WORKDIR $APP
COPY Gemfile Gemfile.lock $APP/
RUN bundle install --jobs 20 --retry 5
# Copy the main application.
COPY . ./
RUN chown -R bomberman:bomberman $APP
# Expose port 3000 to the Docker host, so we can access it
# from the outside.
#EXPOSE 22
#EXPOSE 3000
#EXPOSE 5532
# The main command to run when the container starts. Also
# tell the Rails dev server to bind to all interfaces by
# default.
#CMD ["/usr/bin/sudo", "/usr/sbin/sshd", "-D"]
CMD ["ruby", "main.rb"]