# Copyright 2022 The Go Authors. All rights reserved.
# Use of this source code is governed by a BSD-style
# license that can be found in the LICENSE file.

FROM debian:stable
LABEL maintainer="golang-dev@googlegroups.com"

# For interacting with the Go source & subrepos
RUN apt-get update && apt-get install -y \
	--no-install-recommends \
        apache2 \
        libapache2-mod-svn \
        subversion \
	&& rm -rf /var/lib/apt/lists/*

RUN sed -i 's/80/8888/' /etc/apache2/ports.conf

COPY vcs-test/dav_svn.conf /etc/apache2/mods-enabled/dav_svn.conf

ENTRYPOINT ["apachectl", "-D", "FOREGROUND"]