341d49a24d
This PR creates a rootless Docker image that runs both `dockerd` and `act_runner` using `supervisord`. It has been tested locally for a few days and seems stable. Co-authored-by: ccureau <ccureau@noreply.gitea.io> Reviewed-on: https://gitea.com/gitea/act_runner/pulls/208 Reviewed-by: Jason Song <i@wolfogre.com> Co-authored-by: ccureau <ccureau@noreply.gitea.com> Co-committed-by: ccureau <ccureau@noreply.gitea.com>
25 lines
692 B
Docker
25 lines
692 B
Docker
FROM golang:1.20-alpine3.18 as builder
|
|
# Do not remove `git` here, it is required for getting runner version when executing `make build`
|
|
RUN apk add --no-cache make git
|
|
|
|
COPY . /opt/src/act_runner
|
|
WORKDIR /opt/src/act_runner
|
|
|
|
RUN make clean && make build
|
|
|
|
FROM docker:dind-rootless
|
|
USER root
|
|
RUN apk add --no-cache \
|
|
git bash supervisor
|
|
|
|
COPY --from=builder /opt/src/act_runner/act_runner /usr/local/bin/act_runner
|
|
COPY /scripts/supervisord.conf /etc/supervisord.conf
|
|
COPY /scripts/run.sh /opt/act/run.sh
|
|
COPY /scripts/rootless.sh /opt/act/rootless.sh
|
|
|
|
RUN mkdir /data \
|
|
&& chown rootless:rootless /data
|
|
|
|
USER rootless
|
|
ENTRYPOINT ["/usr/bin/supervisord", "-c", "/etc/supervisord.conf"]
|