Skip to content
This repository was archived by the owner on Apr 25, 2023. It is now read-only.

Commit f64339f

Browse files
authored
Merge pull request #1 from linuxserver/initial
Go Live
2 parents c1163e6 + 887ff84 commit f64339f

File tree

17 files changed

+2092
-1
lines changed

17 files changed

+2092
-1
lines changed

.github/FUNDING.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
open_collective: linuxserver

.github/ISSUE_TEMPLATE.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
[linuxserverurl]: https://linuxserver.io
2+
[![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png)][linuxserverurl]
3+
4+
If you are new to Docker or this application our issue tracker is **ONLY** used for reporting bugs or requesting features. Please use [our discord server](https://discord.gg/YWrKVTn) for general support.
5+
6+
<!--- Provide a general summary of the issue in the Title above -->
7+
8+
------------------------------
9+
10+
## Expected Behavior
11+
<!--- Tell us what should happen -->
12+
13+
## Current Behavior
14+
<!--- Tell us what happens instead of the expected behavior -->
15+
16+
## Steps to Reproduce
17+
<!--- Provide a link to a live example, or an unambiguous set of steps to -->
18+
<!--- reproduce this bug. Include code to reproduce, if relevant -->
19+
1.
20+
2.
21+
3.
22+
4.
23+
24+
## Environment
25+
**OS:**
26+
**CPU architecture:** x86_64/arm32/arm64
27+
**How docker service was installed:**
28+
<!--- Providing context helps us come up with a solution that is most useful in the real world -->
29+
30+
## Command used to create docker container (run/create/compose/screenshot)
31+
<!--- Provide your docker create/run command or compose yaml snippet, or a screenshot of settings if using a gui to create the container -->
32+
33+
## Docker logs
34+
<!--- Provide a full docker log, output of "docker logs baseimage-rdesktop-web" -->

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
<!--- Provide a general summary of your changes in the Title above -->
2+
3+
[linuxserverurl]: https://linuxserver.io
4+
[![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png)][linuxserverurl]
5+
6+
7+
<!--- Before submitting a pull request please check the following -->
8+
9+
<!--- If this is a fix for a typo in code or documentation in the README please file an issue and let us sort it out we do not need a PR -->
10+
<!--- Ask yourself if this modification is something the whole userbase will benefit from, if this is a specific change for corner case functionality or plugins please look at making a Docker Mod or local script https://blog.linuxserver.io/2019/09/14/customizing-our-containers/ -->
11+
<!--- That if the PR is addressing an existing issue include, closes #<issue number> , in the body of the PR commit message -->
12+
<!--- You have included links to any files / patches etc your PR may be using in the body of the PR commit message -->
13+
<!--- We maintain a changelog of major revisions to the container at the end of readme-vars.yml in the root of this repository, please add your changes there if appropriate -->
14+
15+
16+
<!--- Coding guidelines: -->
17+
<!--- 1. Installed packages in the Dockerfiles should be in alphabetical order -->
18+
<!--- 2. Changes to Dockerfile should be replicated in Dockerfile.armhf and Dockerfile.aarch64 if applicable -->
19+
<!--- 3. Indentation style (tabs vs 4 spaces vs 1 space) should match the rest of the document -->
20+
<!--- 4. Readme is auto generated from readme-vars.yml, make your changes there -->
21+
22+
------------------------------
23+
24+
We welcome all PR’s though this doesn’t guarantee it will be accepted.
25+
26+
## Description:
27+
<!--- Describe your changes in detail -->
28+
29+
## Benefits of this PR and context:
30+
<!--- Please explain why we should accept this PR. If this fixes an outstanding bug, please reference the issue # -->
31+
32+
## How Has This Been Tested?
33+
<!--- Please describe in detail how you tested your changes. -->
34+
<!--- Include details of your testing environment, and the tests you ran to -->
35+
<!--- see how your change affects other areas of the code, etc. -->
36+
37+
38+
## Source / References:
39+
<!--- Please include any forum posts/github links relevant to the PR -->

Dockerfile

Lines changed: 148 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,148 @@
1+
FROM lsiobase/ubuntu:bionic as builder
2+
3+
ARG GUACD_VERSION=1.1.0
4+
5+
COPY /buildroot /
6+
7+
RUN \
8+
echo "**** install build deps ****" && \
9+
apt-get update && \
10+
apt-get install -qy --no-install-recommends \
11+
autoconf \
12+
automake \
13+
checkinstall \
14+
freerdp2-dev \
15+
g++ \
16+
gcc \
17+
git \
18+
libavcodec-dev \
19+
libavutil-dev \
20+
libcairo2-dev \
21+
libjpeg-turbo8-dev \
22+
libogg-dev \
23+
libossp-uuid-dev \
24+
libpulse-dev \
25+
libssl-dev \
26+
libswscale-dev \
27+
libtool \
28+
libvorbis-dev \
29+
libwebsockets-dev \
30+
libwebp-dev \
31+
make
32+
33+
RUN \
34+
echo "**** prep build ****" && \
35+
mkdir /tmp/guacd && \
36+
git clone https://github.com/apache/guacamole-server.git /tmp/guacd && \
37+
echo "**** build guacd ****" && \
38+
cd /tmp/guacd && \
39+
git checkout ${GUACD_VERSION} && \
40+
autoreconf -fi && \
41+
./configure --prefix=/usr && \
42+
make -j 2 && \
43+
mkdir -p /tmp/out && \
44+
/usr/bin/list-dependencies.sh \
45+
"/tmp/guacd/src/guacd/.libs/guacd" \
46+
$(find /tmp/guacd | grep "so$") \
47+
> /tmp/out/DEPENDENCIES && \
48+
PREFIX=/usr checkinstall \
49+
-y \
50+
-D \
51+
--nodoc \
52+
--pkgname guacd \
53+
--pkgversion "${GUACD_VERSION}" \
54+
--pakdir /tmp \
55+
--exclude "/usr/share/man","/usr/include","/etc" && \
56+
mkdir -p /tmp/out && \
57+
mv \
58+
/tmp/guacd_${GUACD_VERSION}-*.deb \
59+
/tmp/out/guacd_${GUACD_VERSION}.deb
60+
61+
# nodejs builder
62+
FROM lsiobase/ubuntu:bionic as nodebuilder
63+
ARG GCLIENT_RELEASE
64+
65+
RUN \
66+
echo "**** install build deps ****" && \
67+
apt-get update && \
68+
apt-get install -y \
69+
gnupg && \
70+
curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \
71+
echo 'deb https://deb.nodesource.com/node_12.x bionic main' \
72+
> /etc/apt/sources.list.d/nodesource.list && \
73+
apt-get update && \
74+
apt-get install -y \
75+
nodejs
76+
77+
RUN \
78+
echo "**** grab source ****" && \
79+
mkdir -p /gclient && \
80+
if [ -z ${GCLIENT_RELEASE+x} ]; then \
81+
GCLIENT_RELEASE=$(curl -sX GET "https://api.github.com/repos/linuxserver/gclient/releases/latest" \
82+
| awk '/tag_name/{print $4;exit}' FS='[""]'); \
83+
fi && \
84+
curl -o \
85+
/tmp/gclient.tar.gz -L \
86+
"https://github.com/linuxserver/gclient/archive/${GCLIENT_RELEASE}.tar.gz" && \
87+
tar xf \
88+
/tmp/gclient.tar.gz -C \
89+
/gclient/ --strip-components=1
90+
91+
RUN \
92+
echo "**** install node modules ****" && \
93+
cd /gclient && \
94+
npm install
95+
96+
# runtime stage
97+
FROM lsiobase/rdesktop:bionic
98+
99+
# set version label
100+
ARG BUILD_DATE
101+
ARG VERSION
102+
ARG GUACD_VERSION=1.1.0
103+
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
104+
LABEL maintainer="thelamer"
105+
106+
# Copy build outputs
107+
COPY --from=builder /tmp/out /tmp/out
108+
COPY --from=nodebuilder /gclient /gclient
109+
110+
RUN \
111+
echo "**** install guacd ****" && \
112+
dpkg --path-include=/usr/share/doc/${PKG_NAME}/* \
113+
-i /tmp/out/guacd_${GUACD_VERSION}.deb && \
114+
echo "**** install packages ****" && \
115+
apt-get update && \
116+
apt-get install -y \
117+
gnupg && \
118+
curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \
119+
echo 'deb https://deb.nodesource.com/node_12.x bionic main' \
120+
> /etc/apt/sources.list.d/nodesource.list && \
121+
apt-get update && \
122+
DEBIAN_FRONTEND=noninteractive \
123+
apt-get install --no-install-recommends -y \
124+
ca-certificates \
125+
libfreerdp2-2 \
126+
libfreerdp-client2-2 \
127+
libossp-uuid16 \
128+
nodejs \
129+
obconf \
130+
openbox \
131+
python \
132+
xterm && \
133+
apt-get install -qy --no-install-recommends \
134+
$(cat /tmp/out/DEPENDENCIES) && \
135+
cd /usr/bin && \
136+
echo "**** cleanup ****" && \
137+
apt-get autoclean && \
138+
rm -rf \
139+
/var/lib/apt/lists/* \
140+
/var/tmp/* \
141+
/tmp/*
142+
143+
# add local files
144+
COPY /root /
145+
146+
# ports and volumes
147+
EXPOSE 3000
148+
VOLUME /config

Dockerfile.aarch64

Lines changed: 148 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,148 @@
1+
FROM lsiobase/ubuntu:arm64v8-bionic as builder
2+
3+
ARG GUACD_VERSION=1.1.0
4+
5+
COPY /buildroot /
6+
7+
RUN \
8+
echo "**** install build deps ****" && \
9+
apt-get update && \
10+
apt-get install -qy --no-install-recommends \
11+
autoconf \
12+
automake \
13+
checkinstall \
14+
freerdp2-dev \
15+
g++ \
16+
gcc \
17+
git \
18+
libavcodec-dev \
19+
libavutil-dev \
20+
libcairo2-dev \
21+
libjpeg-turbo8-dev \
22+
libogg-dev \
23+
libossp-uuid-dev \
24+
libpulse-dev \
25+
libssl-dev \
26+
libswscale-dev \
27+
libtool \
28+
libvorbis-dev \
29+
libwebsockets-dev \
30+
libwebp-dev \
31+
make
32+
33+
RUN \
34+
echo "**** prep build ****" && \
35+
mkdir /tmp/guacd && \
36+
git clone https://github.com/apache/guacamole-server.git /tmp/guacd && \
37+
echo "**** build guacd ****" && \
38+
cd /tmp/guacd && \
39+
git checkout ${GUACD_VERSION} && \
40+
autoreconf -fi && \
41+
./configure --prefix=/usr && \
42+
make -j 2 && \
43+
mkdir -p /tmp/out && \
44+
/usr/bin/list-dependencies.sh \
45+
"/tmp/guacd/src/guacd/.libs/guacd" \
46+
$(find /tmp/guacd | grep "so$") \
47+
> /tmp/out/DEPENDENCIES && \
48+
PREFIX=/usr checkinstall \
49+
-y \
50+
-D \
51+
--nodoc \
52+
--pkgname guacd \
53+
--pkgversion "${GUACD_VERSION}" \
54+
--pakdir /tmp \
55+
--exclude "/usr/share/man","/usr/include","/etc" && \
56+
mkdir -p /tmp/out && \
57+
mv \
58+
/tmp/guacd_${GUACD_VERSION}-*.deb \
59+
/tmp/out/guacd_${GUACD_VERSION}.deb
60+
61+
# nodejs builder
62+
FROM lsiobase/ubuntu:arm64v8-bionic as nodebuilder
63+
ARG GCLIENT_RELEASE
64+
65+
RUN \
66+
echo "**** install build deps ****" && \
67+
apt-get update && \
68+
apt-get install -y \
69+
gnupg && \
70+
curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \
71+
echo 'deb https://deb.nodesource.com/node_12.x bionic main' \
72+
> /etc/apt/sources.list.d/nodesource.list && \
73+
apt-get update && \
74+
apt-get install -y \
75+
nodejs
76+
77+
RUN \
78+
echo "**** grab source ****" && \
79+
mkdir -p /gclient && \
80+
if [ -z ${GCLIENT_RELEASE+x} ]; then \
81+
GCLIENT_RELEASE=$(curl -sX GET "https://api.github.com/repos/linuxserver/gclient/releases/latest" \
82+
| awk '/tag_name/{print $4;exit}' FS='[""]'); \
83+
fi && \
84+
curl -o \
85+
/tmp/gclient.tar.gz -L \
86+
"https://github.com/linuxserver/gclient/archive/${GCLIENT_RELEASE}.tar.gz" && \
87+
tar xf \
88+
/tmp/gclient.tar.gz -C \
89+
/gclient/ --strip-components=1
90+
91+
RUN \
92+
echo "**** install node modules ****" && \
93+
cd /gclient && \
94+
npm install
95+
96+
# runtime stage
97+
FROM lsiobase/rdesktop:arm64v8-bionic
98+
99+
# set version label
100+
ARG BUILD_DATE
101+
ARG VERSION
102+
ARG GUACD_VERSION=1.1.0
103+
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
104+
LABEL maintainer="thelamer"
105+
106+
# Copy build outputs
107+
COPY --from=builder /tmp/out /tmp/out
108+
COPY --from=nodebuilder /gclient /gclient
109+
110+
RUN \
111+
echo "**** install guacd ****" && \
112+
dpkg --path-include=/usr/share/doc/${PKG_NAME}/* \
113+
-i /tmp/out/guacd_${GUACD_VERSION}.deb && \
114+
echo "**** install packages ****" && \
115+
apt-get update && \
116+
apt-get install -y \
117+
gnupg && \
118+
curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \
119+
echo 'deb https://deb.nodesource.com/node_12.x bionic main' \
120+
> /etc/apt/sources.list.d/nodesource.list && \
121+
apt-get update && \
122+
DEBIAN_FRONTEND=noninteractive \
123+
apt-get install --no-install-recommends -y \
124+
ca-certificates \
125+
libfreerdp2-2 \
126+
libfreerdp-client2-2 \
127+
libossp-uuid16 \
128+
nodejs \
129+
obconf \
130+
openbox \
131+
python \
132+
xterm && \
133+
apt-get install -qy --no-install-recommends \
134+
$(cat /tmp/out/DEPENDENCIES) && \
135+
cd /usr/bin && \
136+
echo "**** cleanup ****" && \
137+
apt-get autoclean && \
138+
rm -rf \
139+
/var/lib/apt/lists/* \
140+
/var/tmp/* \
141+
/tmp/*
142+
143+
# add local files
144+
COPY /root /
145+
146+
# ports and volumes
147+
EXPOSE 3000
148+
VOLUME /config

0 commit comments

Comments
 (0)