Sha256: ac6b57a2597b56d1cc4df54f4416f43c4b65cece4db563798d35a5bdfc43d01a

Contents?: true

Size: 1.6 KB

Versions: 2

Compression:

Stored size: 1.6 KB

Contents

FROM docker:latest
MAINTAINER Timeboard <hello@timeboard.me>

# Setting up group and user
# - envs
ARG DOCKER_GID
ARG USER_UID
ARG USER_NAME
# - fix to change gid of 999 to 99 so that addgroup is free to create a group with 999 as gid
# - Create group & user. Then add user to group
RUN sed -i "s/999/99/" /etc/group && \
	addgroup --gid "$DOCKER_GID" "docker" && \
	adduser --disabled-password --gecos "" --uid "$USER_UID" "$USER_NAME" && \
	adduser "$USER_NAME" "docker"

# We need the following:
# - fcgiwrap, because that is how nginx does CGI
# ----- IMPORTANT NOTE: This is custom build fcgiwrap package to account for NO_BUFFERING option.
# ----- Original fcgiwrap: https://github.com/gnosek/fcgiwrap
# ----- Custom fcgiwrap: https://github.com/notr1ch/fcgiwrap
# - git and git-daemon, because that gets us the git-http-backend CGI script
# - ruby, to run smartcloud gem
# - spawn-fcgi, to launch fcgiwrap and to create the unix socket
COPY fcgiwrap /root/apk-packages/fcgiwrap
RUN apk add /root/apk-packages/fcgiwrap/packages/main/x86_64/fcgiwrap-1.1.1-r4.apk --allow-untrusted && \
	rm -rf /root/apk-packages
RUN apk add --update coreutils && \
	apk add --update git && \
	apk add --update git-daemon && \
	apk add --update ruby && \
    apk add --update spawn-fcgi && \
	apk add --update lsof && \
    rm -rf /var/cache/apk/*

RUN gem install smartcloud --no-rdoc --no-ri

COPY spawner.rb "/spawner.rb"

# Generating entrypoint file
RUN echo -e '#!/bin/sh\n\
\n\
ruby /spawner.rb\n\
\n\
su - $USER_NAME\n\
\n\
exec "$@"' >> /entrypoint; chmod +x /entrypoint;

# Set entrypoint
ENTRYPOINT ["/entrypoint"]

CMD ["spawn-fcgi", "-v"]

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
smartcloud-0.0.135 lib/smartcloud/grids/grid-runner/Dockerfile
smartcloud-0.0.134 lib/smartcloud/grids/grid-runner/Dockerfile