primeiro commit
This commit is contained in:
commit
02492d3733
19
Dockerfile
Normal file
19
Dockerfile
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
FROM alpine:3.19 as builder
|
||||||
|
RUN apk add libxslt-dev libxml2-dev libogg-dev libvorbis-dev libtheora-dev openssl-dev curl-dev g++ gcc make git autoconf automake libtool patch
|
||||||
|
RUN git clone --recursive https://gitlab.xiph.org/xiph/icecast-server.git -b v2.5.0-beta.3 /usr/src/icecast-server
|
||||||
|
COPY haccme.patch /usr/src/icecast-server/haccme.patch
|
||||||
|
RUN cd /usr/src/icecast-server &&\
|
||||||
|
patch -p1 < /usr/src/icecast-server/haccme.patch &&\
|
||||||
|
autoreconf -i &&\
|
||||||
|
./configure --prefix=/opt/icecast-server --with-curl &&\
|
||||||
|
make install
|
||||||
|
|
||||||
|
FROM alpine:3.19
|
||||||
|
COPY --from=builder /opt/icecast-server /opt/icecast-server
|
||||||
|
RUN apk add libcurl libogg libssl3 libtheora libvorbis libxml2 libxslt bash
|
||||||
|
COPY run /usr/local/bin/run
|
||||||
|
RUN chmod +x /usr/local/bin/run &&\
|
||||||
|
mkdir -p /opt/icecast-server/var/log/icecast
|
||||||
|
VOLUME ["/opt/icecast-server/config"]
|
||||||
|
VOLUME ["/opt/icecast-server/var/log/icecast"]
|
||||||
|
ENTRYPOINT ["/usr/local/bin/run"]
|
18
haccme.patch
Normal file
18
haccme.patch
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
diff --git a/src/main.c b/src/main.c
|
||||||
|
index dc66a15f..c7f2eb21 100644
|
||||||
|
--- a/src/main.c
|
||||||
|
+++ b/src/main.c
|
||||||
|
@@ -663,13 +663,6 @@ int main(int argc, char **argv)
|
||||||
|
#ifdef HAVE_SETUID
|
||||||
|
/* We'll only have getuid() if we also have setuid(), it's reasonable to
|
||||||
|
* assume */
|
||||||
|
- if(!getuid() && getpid() != 1) /* Running as root! Don't allow this */
|
||||||
|
- {
|
||||||
|
- fprintf(stderr, "ERROR: You should not run icecast2 as root\n");
|
||||||
|
- fprintf(stderr, "Use the changeowner directive in the config file\n");
|
||||||
|
- shutdown_subsystems();
|
||||||
|
- return 1;
|
||||||
|
- }
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* setup default signal handlers */
|
8
run
Normal file
8
run
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
configfile=/opt/icecast-server/config/icecast.xml
|
||||||
|
if [ ! -f "$configfile" ]; then
|
||||||
|
echo "arquivo $configfile não existe, criando config padrão"
|
||||||
|
cp -v /opt/icecast-server/etc/icecast.xml "$configfile"
|
||||||
|
fi
|
||||||
|
/opt/icecast-server/bin/icecast -c "$configfile"
|
Loading…
Reference in New Issue
Block a user