-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathDockerfile
80 lines (70 loc) · 1.77 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
FROM ubuntu:14.04
MAINTAINER Bob Pace <[email protected]>
ENV TERM xterm-256color
RUN apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get -y install \
build-essential \
ca-certificates \
cmake \
curl \
git \
libpq-dev \
locales \
postgresql-client \
python-dev \
python-software-properties \
silversearcher-ag \
software-properties-common \
ssh \
sudo \
tmux \
tree \
unzip \
vim-gtk \
wget \
xauth \
xclip \
zip \
zsh \
&& DEBIAN_FRONTEND=noninteractive apt-get -y build-dep emacs24 \
&& rm -rf /var/lib/apt/lists/*
#Timezone
run cp /usr/share/zoneinfo/US/Mountain /etc/localtime
#UTF-8
RUN dpkg-reconfigure locales \
&& locale-gen en_US.UTF-8 \
&& /usr/sbin/update-locale LANG=en_US.UTF-8
ENV LANG en_US.UTF-8
ENV LC_ALL en_US.UTF-8
RUN useradd --create-home -G users devuser \
&& chgrp -R devuser /usr/local \
&& find /usr/local -type d | xargs chmod g+w \
&& chsh -s /bin/zsh devuser
RUN echo "devuser ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers.d/devuser \
&& echo "Defaults env_keep+=SSH_AUTH_SOCK" >> /etc/sudoers.d/devuser \
&& chmod 0440 /etc/sudoers.d/devuser
#emacs 24.4
WORKDIR /usr/local/lib
RUN mkdir emacs \
&& cd emacs \
&& wget http://mirror.team-cymru.org/gnu/emacs/emacs-24.4.tar.gz \
&& tar xvf emacs-24.4.tar.gz \
&& cd emacs-24.4 \
&& ./configure \
&& make \
&& make install
#node.js
RUN curl -sL https://deb.nodesource.com/setup_4.x | bash - \
&& apt-get install -y nodejs \
&& npm install -g npm \
&& npm install -g \
babel-eslint \
eslint \
eslint-plugin-react \
jsonlint \
tern \
&& rm -rf /var/lib/apt/lists/*
USER devuser
ENV HOME /home/devuser
WORKDIR /home/devuser
CMD ["/bin/zsh"]