Drew Short
5 years ago
5 changed files with 81 additions and 37 deletions
-
43Dockerfile
-
3Makefile
-
21README.md
-
40pipeline.yml
-
11upload_pipeline.sh
@ -1,39 +1,42 @@ |
|||
FROM alpine:3.11 |
|||
LABEL maintainer="Chris Kankiewicz <Chris@ChrisKankiewicz.com>" |
|||
# Original maintainer https://hub.docker.com/r/phlak/mumble |
|||
# LABEL maintainer="Chris Kankiewicz <Chris@ChrisKankiewicz.com>" |
|||
|
|||
FROM alpine:3.11 AS downloader |
|||
LABEL maintainer="Drew Short <warrick@sothr.com>" |
|||
|
|||
# Define Mumble version |
|||
ARG MUMBLE_VERSION=1.3.0 |
|||
ARG MUMBLE_SHA256=bda9dc3abe70e8dc820cc91aa33c4087b05001ab7995d039311b3396b7291609 |
|||
ARG BZIP_URL=https://github.com/mumble-voip/mumble/releases/download/${MUMBLE_VERSION}/murmur-static_x86-${MUMBLE_VERSION}.tar.bz2 |
|||
|
|||
WORKDIR /tmp |
|||
|
|||
# Create Mumble directories |
|||
RUN mkdir -pv /opt/mumble /etc/mumble |
|||
RUN apk add --update ca-certificates bzip2 tar curl |
|||
RUN curl -LSo murmur.tar.bz2 ${BZIP_URL} \ |
|||
&& echo "${MUMBLE_SHA256} /tmp/murmur.tar.bz2" | sha256sum -c \ |
|||
&& tar -xjf /tmp/murmur.tar.bz2 --strip-components=1 -C /opt/mumble |
|||
|
|||
FROM alpine:3.11 |
|||
LABEL maintainer="Drew Short <warrick@sothr.com>" |
|||
|
|||
WORKDIR /opt/mumble |
|||
|
|||
# Create non-root user |
|||
RUN mkdir -pv /opt/mumble /etc/mumble |
|||
RUN adduser -DHs /sbin/nologin mumble |
|||
|
|||
# Copy config file |
|||
COPY --from=downloader /opt/mumble /opt/mumble |
|||
COPY files/config.ini /etc/mumble/config.ini |
|||
|
|||
# Copy SuperUser password update script |
|||
COPY files/supw /usr/local/bin/supw |
|||
RUN chmod +x /usr/local/bin/supw |
|||
|
|||
# Set the bzip archive URL |
|||
ARG BZIP_URL=https://github.com/mumble-voip/mumble/releases/download/${MUMBLE_VERSION}/murmur-static_x86-${MUMBLE_VERSION}.tar.bz2 |
|||
|
|||
# Install dependencies, fetch Mumble bzip archive and chown files |
|||
RUN apk add --update ca-certificates bzip2 tar tzdata wget \ |
|||
&& wget -qO- ${BZIP_URL} | tar -xjv --strip-components=1 -C /opt/mumble \ |
|||
&& apk del ca-certificates bzip2 tar wget && rm -rf /var/cache/apk/* \ |
|||
RUN chmod +x /usr/local/bin/supw |
|||
RUN apk add --update ca-certificates \ |
|||
&& rm -rf /var/cache/apk/* \ |
|||
&& chown -R mumble:mumble /etc/mumble /opt/mumble |
|||
|
|||
# Expose ports |
|||
EXPOSE 64738 64738/udp |
|||
|
|||
# Set running user |
|||
USER mumble |
|||
|
|||
# Set volumes |
|||
VOLUME /etc/mumble |
|||
|
|||
# Default command |
|||
CMD ["/opt/mumble/murmur.x86", "-fg", "-ini", "/etc/mumble/config.ini"] |
@ -1,7 +1,8 @@ |
|||
IMAGE_NAME="phlak/mumble" |
|||
IMAGE_NAME="sothr/mumble" |
|||
IMAGE_TAG="$$(grep 'ARG MUMBLE_VERSION' Dockerfile | awk -F = '{print $$2}')" |
|||
|
|||
build: |
|||
@echo "${IMAGE_TAG}" > tag |
|||
@docker build --force-rm --pull --tag $(IMAGE_NAME):$(IMAGE_TAG) . |
|||
|
|||
purge: |
|||
|
@ -0,0 +1,40 @@ |
|||
--- |
|||
resources: |
|||
- name: git-resource |
|||
type: git |
|||
icon: git |
|||
source: |
|||
uri: https://git.nulloctet.com/docker/mumble.git |
|||
tag_filter: '*[0-9].*[0-9].*[0-9]*(-rc*(.*[0-9]))' |
|||
- name: git-resource-image-nexus |
|||
type: docker-image |
|||
icon: docker |
|||
source: |
|||
repository: ((nexus_docker_write.host))/sothr/mumble |
|||
username: ((nexus_docker_write.username)) |
|||
password: ((nexus_docker_write.password)) |
|||
- name: git-resource-image |
|||
type: docker-image |
|||
icon: docker |
|||
source: |
|||
repository: sothr/mumble |
|||
username: ((hub_docker_write.username)) |
|||
password: ((hub_docker_write.password)) |
|||
|
|||
jobs: |
|||
- name: build-image |
|||
plan: |
|||
- get: git-resource |
|||
trigger: true |
|||
- put: git-resource-image-nexus |
|||
params: |
|||
build: git-resource |
|||
tag_file: git-resource/.git/ref |
|||
tag_as_latest: true |
|||
get_params: {skip_download: true} |
|||
- put: git-resource-image |
|||
params: |
|||
build: git-resource |
|||
tag_file: git-resource/.git/ref |
|||
tag_as_latest: true |
|||
get_params: {skip_download: true} |
@ -0,0 +1,11 @@ |
|||
#!/usr/bin/env bash |
|||
|
|||
TEAM=docker |
|||
PIPELINE=mumble |
|||
|
|||
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" |
|||
pushd "${DIR}" |
|||
|
|||
fly -t ${TEAM} set-pipeline --pipeline ${PIPELINE} --config pipeline.yml |
|||
|
|||
popd |
Write
Preview
Loading…
Cancel
Save
Reference in new issue