system-config/docker/hound/Dockerfile
Clark Boylan 7d81296c83 Align hound image build with Gitea's
Gitea is built using the library/golang base image published on docker
hub. We were building Hound with the golang found in Debian's package
repos. Let's sync these two up so that they build in a more similar
manner.

Change-Id: Ic171b12dd4ed504e751857d05598333023d2113d
2023-05-04 08:15:44 -07:00

53 lines
1.8 KiB
Docker

# Copyright (c) 2020 Red Hat, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
# implied.
# See the License for the specific language governing permissions and
# limitations under the License.
FROM docker.io/library/golang:1.19-bullseye AS builder
WORKDIR /tmp
RUN apt-get update \
&& apt-get install -y curl git make rsync \
&& curl -sS https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - \
&& echo "deb https://deb.nodesource.com/node_16.x bullseye main" | tee /etc/apt/sources.list.d/nodesource.list \
&& apt-get update \
&& apt-get -q --option "Dpkg::Options::=--force-confold" --assume-yes install nodejs
RUN git clone https://github.com/hound-search/hound \
&& cd hound \
&& make
FROM docker.io/opendevorg/python-base:3.11-bullseye
COPY --from=builder /tmp/hound/.build/bin/hound /usr/local/bin
COPY --from=builder /tmp/hound/.build/bin/houndd /usr/local/bin
RUN apt-get update \
&& apt-get install -y curl git
RUN pip install git+https://opendev.org/opendev/jeepyb#egg=jeepyb \
supervisor
RUN apt-get clean \
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
ADD supervisord.conf /etc/supervisor/conf.d/supervisord.conf
ADD start-container.sh /usr/bin/start-container
ADD update-hound-config.sh /usr/local/bin/update-hound-config
ADD resync-hound.sh /usr/local/bin/resync-hound
ADD sample-projects.yaml /var/run/sample-projects.yaml
ENTRYPOINT ["start-container"]