-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDockerfile
83 lines (74 loc) · 2.42 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
#
# Copyright (C) 2018-2024 CASM Organization <https://casm-lang.org>
# All rights reserved.
#
# Developed by: Philipp Paulweber et al.
# <https://github.com/casm-lang/casm-lang.pkg.docker/graphs/contributors>
#
# This file is part of casm-lang.pkg.docker.
#
# casm-lang.pkg.docker is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# casm-lang.pkg.docker is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with casm-lang.pkg.docker. If not, see <http://www.gnu.org/licenses/>.
#
ARG RELEASE=0.6.0
ARG PACKAGE=casm
ARG MONACO=casm-lang.plugin.monaco
ARG OS=linux
ARG ARCH=x86_64
ARG ARCHIVE=tar.gz
ARG URL=https://github.com/casm-lang/$PACKAGE/releases/download/$RELEASE/$PACKAGE-$OS-$ARCH.$ARCHIVE
ARG EXT=https://github.com/casm-lang/$MONACO/archive/$RELEASE.$ARCHIVE
FROM alpine as source
ARG RELEASE
ARG PACKAGE
ARG MONACO
ARG OS
ARG ARCH
ARG ARCHIVE
ARG URL
ARG EXT
RUN wget -qO /tmp/archive.tar.gz --no-check-certificate $URL \
&& tar -xf /tmp/archive.tar.gz -C /tmp \
&& rm -f /tmp/archive.tar.gz \
&& wget -qO /tmp/archive.tar.gz --no-check-certificate $EXT \
&& tar -xf /tmp/archive.tar.gz -C /tmp \
&& rm -f /tmp/archive.tar.gz
FROM node:buster-slim
ARG RELEASE
ARG PACKAGE
ARG MONACO
ARG OS
ARG ARCH
ARG ARCHIVE
ARG URL
ARG EXT
RUN echo "deb http://ftp.us.debian.org/debian testing main contrib non-free" >> /etc/apt/sources.list \
&& apt -y update \
&& apt -y install build-essential
RUN mkdir -p /opt
WORKDIR /opt
COPY --from=source /tmp/$PACKAGE-$RELEASE /usr
COPY --from=source /tmp/$MONACO-$RELEASE .
RUN chown root.root /usr/bin/casmi /usr/bin/casmd /usr/bin/casmf
RUN chmod +x /usr/bin/casmi /usr/bin/casmd /usr/bin/casmf
RUN casmi --version
RUN casmd --version
RUN casmf --version
RUN npm install \
&& npm run build
RUN echo "#!/bin/sh" > /usr/local/bin/editor \
&& echo "(cd /opt; npm run standalone)" >> /usr/local/bin/editor \
&& chmod +x /usr/local/bin/editor
EXPOSE 8080 8010
CMD ["/bin/bash"]
LABEL maintainer ppaulweber