Sign inSign up

svnedge/devbuild

By svnedge

Updated about 6 years ago

SVN Edge Development Build

Image
0

1.8K

svnedge/devbuild repository overview

SVN Edge Docker Image - Development Build

NOTE - these images are based on the active SVN Edge /trunk commits. They should generally be safe to run but they do represent work that is in progress and may not be complete.

This is a ready to run docker image for SVN Edge. The base image is centos:7. You can run this image as is or use it as a base image and update/install additional CentOS packages, such as those needed for your hook scripts.

The image exposes the Apache Subversion server on port 18080 and the SVN Edge console on port 3343. The assumption is that these ports will be proxied by some other layer where you perform SSL termination. You must supply a persistent volume to permanently store the data, which would include your Subversion repositories as well as the database for SVN Edge.

Running the App

A simple docker-compose to run this image would look like this:

version: "3.7"

services:

  edge:
    image: svnedge/devbuild:latest
    ports:
      - "18080:18080"
      - "3343:3343"
    environment:
      SET_PERMS: "false"
    volumes:
      - data:/home/svnedge/csvn/data

volumes:
  data:

You would then run the application with docker-compose up and login at http://localhost:3343

It is worth noting there are some features of the SVN Edge web console that do not make sense in Docker. We are trusting that you will just avoid those features. For example, do not change the path where repositories are stored unless you are sure you have provided a data volume for that path. Likewise, do not try to change the port number for the Apache server unless you are going to make your own Dockerfile that exposes that port. You CAN configure Apache to use SSL if you want, on port 18080, but as noted earlier, our assumption is that your ingress traffic will hit some kind of load balancer or proxy that terminates the SSL connection and proxies the traffic to port 18080 or 3343 depending on the context.

If you want to just run the image with a single command without using docker-compose you would want something like this:

docker run -d --name=svnedge --mount type=bind,src=`pwd`/data,dst=/home/svnedge/csvn/data -p 3343:3343 -p 18080:18080 svnedge/devbuild:latest

This would mount a folder named "data" in the current working directory as the volume. Adjust accordingly.

Dockerfile

If you are interested in how this image was created, this is what the Dockerfile looks like. The source code is in the /trunk/packaging/docker folder of the SVN Edge repository.

FROM centos:7

LABEL vendor="CollabNet Engineering" \
      license="AGPL 3.0"

# Expose the Apache and console server ports
EXPOSE 18080
EXPOSE 3343

# Create the svnedge user
RUN useradd -u 1000 svnedge

# Install OpenJDK + required packages
RUN yum install -y java-1.8.0-openjdk-headless zip unzip && \
    yum clean all
ENV JAVA_HOME=/usr/lib/jvm/jre-1.8.0

# Install s6 init system
ADD https://github.com/just-containers/s6-overlay/releases/download/v1.22.1.0/s6-overlay-amd64.tar.gz /tmp/
RUN tar xzf /tmp/s6-overlay-amd64.tar.gz -C / --exclude="./bin" && \
    tar xzf /tmp/s6-overlay-amd64.tar.gz -C /usr ./bin
ENTRYPOINT ["/init"]

# Install our scripts
COPY ./image/. /

# Install SVN Edge
ADD CollabNetSubversionEdge*.gz /home/svnedge/
RUN mv /home/svnedge/csvn/data /home/svnedge/csvn/data-template

# Define data volume
VOLUME /home/svnedge/csvn/data

Tag summary

Content type

Image

Digest

Size

244.8 MB

Last updated

about 6 years ago

docker pull svnedge/devbuild