-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile
More file actions
executable file
·71 lines (62 loc) · 1.34 KB
/
Dockerfile
File metadata and controls
executable file
·71 lines (62 loc) · 1.34 KB
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
# size: ~260MB, discarded
FROM python:alpine3.12 as python
ENV PATH $PATH:/py/bin
RUN apk add --no-cache gcc musl-dev
RUN pip3 install --prefix /py --no-cache-dir \
awscli \
aws-shell \
httpie-aws-authv4 \
httpie-jwt-auth \
neovim \
ydiff
# size: ~436MB
FROM alpine:3.12
RUN apk add --no-cache \
bash \
curl \
git \
groff \
less \
libuv \
libuv-dev \
make \
ncurses \
nodejs \
npm \
python3 \
zip
RUN apk add --no-cache \
docker-cli \
exa \
fish \
fzf \
httpie \
ipcalc \
jq \
neovim \
neovim-doc \
openssh-client \
ripgrep \
terraform \
tig
RUN npm install -g neovim fx
COPY ./home /home/
COPY ./bin/entrypoint.sh /entrypoint.sh
COPY --from=python /py /py
# for aws-shell
RUN ln -s /usr/bin/python3 /usr/local/bin/python
ENV PYTHONPATH /py/lib/python3.8/site-packages
ENV PATH $PATH:./node_modules/.bin:/py/bin
ENV JWT_AUTH_TOKEN ""
ENV EDITOR nvim
RUN adduser pda -h /home -D && chown -R pda ~pda
USER pda
WORKDIR /home
VOLUME /home/.cache
CMD [ "fish" ]
RUN curl git.io/pure-fish --output /tmp/pure_installer.fish --location --silent
RUN fish -c 'source /tmp/pure_installer.fish; and install_pure'
RUN nvim -n --noplugin +'PlugInstall --sync' +qa \
&& nvim -n +'UpdateRemotePlugins --sync' +qa
USER root
ENTRYPOINT [ "/entrypoint.sh" ]