dsci-runner.git | docker/ | Dockerfile



FROM alpine:latest

ENV PATH="/home/worker/.raku/bin:${PATH}"

ENV SP6_DUMP_TASK_CODE=0

ENV SP6_FORMAT_COLOR=1

RUN apk update && apk add openssl bash curl wget perl openssl-dev sudo git docker-cli

RUN apk add --no-cache bash

RUN apk add rakudo zef

RUN sudo echo

ARG UID=1000
ARG GID=1000

RUN addgroup -g $GID -S worker && \
    adduser -u $UID -S worker -G worker -h /home/worker -s /bin/bash

RUN chown -R worker:worker /home/worker

RUN addgroup worker wheel 

RUN echo '%wheel ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers

USER worker

RUN sudo apk add build-base sqlite-libs openssh-keygen util-linux openssh-client python3

RUN echo OK4 && zef install --/test https://github.com/melezhik/Sparrow6.git

RUN echo OK7 && zef install --/test --force-install https://github.com/melezhik/sparky-job-api.git

RUN sudo apk add go --repository=http://dl-cdn.alpinelinux.org/alpine/edge/community

RUN zef install --/test JSON::Fast Sparrowdo YAMLish DBIish DBIish::Pool JSON::Fast  Time::Crontab File::Directory::Tree Data::Dump

RUN ssh-keygen -t ed25519 -f ~/.ssh/id_rsa -q -N ""

RUN echo OK8 && mkdir -p /home/worker/projects && cd /home/worker/projects && git clone https://github.com/melezhik/sparky.git && cd sparky && zef install --/test --/depends --force-install . 

ENTRYPOINT cd /home/worker/projects/sparky; if test -f ~/.sparky/projects/db.sqlite3; then echo "db exist"; else raku db-init.raku; fi; mkdir -p ~/.sparky/projects/dsci; cp /home/worker/distro/sparrowfile ~/.sparky/projects/dsci/; cp /home/worker/distro/sparky.yaml ~/sparky.yaml; /bin/bash

COPY sparrowfile sparky.yaml /home/worker/distro/

RUN sudo chown -R worker /home/worker/projects/ /home/worker/distro 

RUN git config --global advice.detachedHead false

#RUN echo OKK && zef install --/test --force-install https://github.com/melezhik/sparrowdo.git

WORKDIR /home/worker/projects

ENV HOST_SSH_USER=root