Public Repository

Last pushed: 2 years ago
Short Description
A pre-configured SVN source control server.
Full Description

Description

This docker image was built on top of the Ubuntu 14.04 latest image using docker version 1.4.1

Subversion is installed as is Apache 2 web server for remote access.

Setup is as described in https://help.ubuntu.com/community/Subversion

The basic install is complete along with the WebDAV protocol setup but I have not included the SSL , SSH or custom protocol setup.

Running Commands

To run the image simply type (-p maps port 80 of the host to port 80 of the container)

docker run -d -p 80:80 krisdavison/svn-server /startup.sh

Optionally you can name the container using the (substitute mysvnserver with your own name)

--name mysvnserver

Optionally you can map a volume to the svn repository root folder for backups etc

-v /home/svn

Configuration

The image is pre-configured with a single remote user

username:user
password:password

If you would like to add additional users you can attach to the running container as below.

docker exec -it <container-name> bash

To clear all old users and add a new user simple type. (substitute your user for user-name) and then the system will request that users password.

htpasswd -c /etc/subversion/passwd user-name

or to add a new user without removing all the old ones type this. (remove the -c)

htpasswd /etc/subversion/passwd user-name

To exit the container in a safe way after making these changes simply type.

exit

Checking it worked

On your host machine open a browser and type in the following url.

http://localhost/svn

(This will ask for your username and password - Default is : user and password)
The browser should then show an empty SampleProject that has been created just to prove the svn repo works. If this does not work please make sure you are using the newest version of the docker image and that you specified /startup.sh as the executable as the last param.


Future Changes / ToDo List

  1. Provide a way to specify a txt file of username and passwords for simple setup of users.
Docker Pull Command
Owner
krisdavison

Comments (9)
rama646
7 months ago

For Running in HTTPS

sudo docker run -d -p 443:443 krisdavison/svn-server:v2.0 /startup.sh

Execute the below commands in container (docker exec -it <container-name> bash)

sudo a2enmod ssl
sudo a2ensite default-ssl

paulhammant
a year ago

$ docker pull krisdavison/svn-server:v2.0
$ docker run -d -p 80:80 krisdavison/svn-server:v2.0 /startup.sh

ok, it's installed. A test:

$ echo "foo" > foo.txt
$ curl -u user:password -T foo.txt http://localhost/svn/SampleProject/foo2.txt

"409 Conflict" was the result, yet there's nothing there, as illustrated by the following

$ svn --username user --password password ls http://localhost/svn/SampleProject

:-(

walki
a year ago

@krisdavison, you should probably change the instructions to:

docker run -d -p 80:80 krisdavison/svn-server:v2.0 /startup.sh

As the "latest" image doesn't contain "startup.sh"

samxx8
2 years ago

Error response from daemon: Container svn103 is not running

raphabot
2 years ago

@krisdavison, could you make the Dockerfile available, please?

kisiel365
2 years ago

Version 2.0 is great image. Thanks.

chewmanfoo
2 years ago

$ sudo docker run -d -p 80:80 krisdavison/svn-server /startup.sh
4ad2e849ec44ea434dd6c2fb88140e70109abb9ee8acc0edcb3ad8dfbafad2ac
2015/05/29 16:27:10 Error response from daemon: Cannot start container 4ad2e849ec44ea434dd6c2fb88140e70109abb9ee8acc0edcb3ad8dfbafad2ac: exec: "/startup.sh": stat /startup.sh: no such file or directory

kleung
2 years ago

kiripeti, pull the v2.0 tag. It works fine.

kiripeti
2 years ago

There is an error:
FATA[0081] Error response from daemon: Cannot start container: [8] System error: exec: "/startup.sh": stat /startup.sh: no such file or directory