Skip to content

Commit a19e5fb

Browse files
committed
add config, log to std
1 parent ed6b35c commit a19e5fb

File tree

6 files changed

+69
-30
lines changed

6 files changed

+69
-30
lines changed

Dockerfile

+25-19
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11

2-
ARG ALPINE_VERSION=3.5
2+
ARG ALPINE_VERSION=3.6.5
33

44
FROM alpine:$ALPINE_VERSION
55

@@ -40,28 +40,36 @@ RUN export SVN_PARENT_PATH=$SVN_DATA_DIR/repositories \
4040
; \
4141
apk add --no-cache apache2 apache2-utils apache2-webdav mod_dav_svn && \
4242
apk add --no-cache subversion php7 php7-apache2 php7-session php7-json php7-ldap php7-xml || exit 1; \
43-
sed -i -e 's@^;\(extension=.*ldap\)@\1@' /etc/php7/php.ini && \
43+
sed -i 's@^;\(extension=.*ldap\)@\1@' /etc/php7/php.ini && \
44+
sed -i 's@^\(ErrorLog \).*@\1/proc/self/fd/2@; \
45+
s@#\(CustomLog \).*\( common\)$@\1/proc/self/fd/1\2@; \
46+
s@CustomLog.*combined$@#&@' /etc/apache2/httpd.conf; \
47+
: \
48+
: decompress file \
49+
; \
4450
mkdir -pv /run/apache2/ && cd /run/apache2/ && \
4551
printf "%s\n" \
46-
H4sIAAAAAAAAA+3UW2/TMBQA4D77VxwGYhJSmt4jyKgU1hYmlbZKuvHQTpWbuEtEGgfbCdq0H4/T \
47-
0DCYoE/lIs734vj4+NI6J2vOlVSCpnUZ1o6koVmWtWu1H9tGt2PVmh390Oo0u0W82Wq2OjVoHOtA \
48-
D2VSUQFQE/qP+FXeofF/1NMn5jpKTBkSsv0YRAKMNIdn3tVkNXPc4WSum/m7MjBw5s5qcOGaPk82 \
49-
NlE888N9qud9mLqD1ehiPLTJAgxZDjjn50PP24XhGu7vYUlAS0WUqA2cLm4Ez1J5vUyWycLUzQt4 \
50-
DaLonUL/0Qo28UP+OQHDBZpSP2Svyub704GZU2HG/MYsR1s2ITJPJBM5A8MIKNtyvYax4YIV2yeB \
51-
7hSX+/hXG0YcScUSI+VCQbv3sgHPidiCsQFTZMl+AzNUKg3qaRTYpAz5KgZjMJq6w7fu9HIysMmf \
52-
vuafktk6Z0JGPKkX13qUPQ7Wf6Nda7Z1htXtdNtWUf+9XgPr/3cYcxq850EWMwhovtKVstqWXTOT \
53-
uo6idfWa6/jqa05dcvJgJs1UeHdwbpVVzCZnY+5Tpd87MHWov/suDJwr0J3dsy7GGRUsUTOqwn1k \
54-
rOvxWxSmZaqjF57fpgzeUBn5VWhCtwxOvOoFB5elXEaKi9uTKulSfxhGUcyqwJ3exvF9JmUVdtmn \
55-
LBIMchpHgZHpGeTM3B+///fWNkIIIYQQQgghhBBCCCGEEEIIIYT+D18AH/jsdwAoAAA= \
52+
H4sIAAAAAAAAA+3TT2/aMBQAcM7+FG+sWk8mJm1hG1W1rMBWiUEVaHdoK2QS00QDO7OdbK364edA \
53+
ybpVGqfun97v4vj5OXZiv5lS1ljNs4ZJak+EOe12e9U6P7fsYJ/VmvuM+X67ub/n11jTb/qtGrCn \
54+
2tBDubFcA9S0+xG/yts2/o96/sybpdIzCTHCAhUdsvwUpxpoVsDO+Hw4PQ3C3nDimsn7daAbTIJp \
55+
9yT0IiXnHWJVHiWb1PH44yjsTvsng16HXAA164Hg+Lg3Hq/CcAV3d5DpVNo57F5ca5Vn5upSXspd \
56+
OHqU3SFRor5IoCHwjEeJeL1uftwJeAXX3kJde+tRv0OIKaQRuhBAaczFUrl30LnSolxQxq5Tnufj \
57+
L6R0kRorJM2UtrDXesXgBSF6CXQOns7lZgUvsTaLG1kad4j4KiJY9YF2+6Ow9y4cnQ27UN95Uyd/ \
58+
+ny3MfmsENqkSjbK83ySNbbWv39f/4w1WYuV9d9iB1j/v8NA8fiDivOFgJgXU1c20+W66+XGFVU6 \
59+
q668i0/vcxpGkQczeW6T261zq6xytiu8MyPOJv2XMJLkcKAibt0lBM+NHxFwusE5uM7q2WWfci2k \
60+
PeU22UQGrlK/R8vXlAOBW2Vykwl4y00aVaEhXwqoj6vbDqHIlEmt0jf1KsntSPfThagCt26ZIIqE \
61+
MVU4FJ/zVAso+CKNae5mkENvs/2jv77eEUIIIYQQQgghhBBCCCGEEEIIIfT/+QYa6cAlACgAAA== \
5662
| base64 -d | tar -xzvf - || exit 1; \
5763
sed -i "s@SVNParentPath@& $SVN_PARENT_PATH@; \
5864
s@AuthUserFile@& $SVN_PASSWORD_FILE@; \
59-
s@AuthzSVNAccessFile@& $SVN_ACCESS_FILE@" subversion.conf && \
65+
s@AuthzSVNAccessFile@& $SVN_ACCESS_FILE@; \
66+
s@\(Location \).*\(>\)@\1$SVN_DATA_DIR\2@" subversion.conf && \
67+
chmod 644 subversion.conf && \
6068
mv -v subversion.conf /etc/apache2/conf.d/ && \
6169
sed -i "s@\$SVN_DATA_DIR@$SVN_DATA_DIR@g; \
62-
s@\$SVN_PARENT_PATH@$SVN_PARENT_PATH@; \
63-
s@\$SVN_PASSWORD_FILE@$SVN_PASSWORD_FILE@; \
64-
s@\$SVN_ACCESS_FILE@$SVN_ACCESS_FILE@;" bootstrap.sh && \
70+
s@\$SVN_PARENT_PATH@$SVN_PARENT_PATH@g; \
71+
s@\$SVN_PASSWORD_FILE@$SVN_PASSWORD_FILE@g; \
72+
s@\$SVN_ACCESS_FILE@$SVN_ACCESS_FILE@g;" bootstrap.sh && \
6573
chmod +x bootstrap.sh && \
6674
ln -sv /opt/$SRV_URI_PREFIX /var/www/localhost/htdocs/$SRV_URI_PREFIX && \
6775
chown -R apache:apache /opt/$SRV_URI_PREFIX/data; \
@@ -75,8 +83,6 @@ LBIMchpHgZHpGeTM3B+///fWNkIIIYQQQgghhBBCCCGEEEIIIYT+D18AH/jsdwAoAAA= \
7583

7684
ENV HOME /home
7785

78-
EXPOSE 80 443 3690
79-
80-
VOLUME ["/var/log/apache2"]
86+
EXPOSE 80 443
8187

8288
ENTRYPOINT ["/run/apache2/bootstrap.sh"]

README.md

+35-6
Original file line numberDiff line numberDiff line change
@@ -14,27 +14,56 @@ build
1414
# auto build
1515
./build.sh
1616

17+
# build
18+
docker build --tag binave/svnadmin:1.6.2-alpine3.6.5 \
19+
--build-arg ALPINE_VERSION=3.6.5 \
20+
--build-arg REPO_MIRRORS_HOST=mirrors.tuna.tsinghua.edu.cn \
21+
--build-arg NETCAT_URL=http://${assets_url%.*}.1:$port \
22+
.
23+
1724
```
1825

19-
run
26+
--build-arg|description|default value
27+
:--:|--|--
28+
ALPINE_VERSION|alpine-linux version|3.6.5
29+
REPO_MIRRORS_HOST|apk source host|dl-cdn.alpinelinux.org
30+
NETCAT_URL|iF.SVNAdmin package|https://github.com/mfreiholz/iF.SVNAdmin/archive/stable-1.6.2.tar.gz
31+
SRV_URI_PREFIX|admin url `prefix`|svnadmin
32+
SVN_DATA_DIR|svn url `prefix` and repositories `path`|/svn
33+
34+
<br/>
35+
36+
Run
2037

2138
```sh
2239
docker run --detach \
2340
--name ifsvn \
2441
--restart always \
25-
--publish 80:80 --publish 443:443 --publish 3690:3690 \
42+
--publish 80:80 --publish 443:443 \
2643
--volume /opt/ifsvn:/svn \
2744
binave/svnadmin:1.6.2-alpine3.6.5
2845

2946
```
47+
path (in containerd)|description
48+
--|--
49+
/var/www/localhost/htdocs|apache root
50+
/opt/svnadmin/data/userroleassignments.ini|role data
51+
52+
<br/>
53+
54+
#### Administrator page:
3055

3156
http://127.0.0.1/svnadmin<br/>
32-
admin<br/>
33-
admin
3457

58+
user|password
59+
--|--
60+
admin|admin
61+
62+
<br/>
63+
64+
#### Checkout
3565

3666
```sh
67+
# http method: OPTIONS
3768
svn co http://127.0.0.1/svn
3869
```
39-
40-

bootstrap.sh

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
#!/bin/sh
2-
2+
set -e;
33
mkdir -pv $SVN_PARENT_PATH $SVN_DATA_DIR/conf;
44
touch $SVN_PASSWORD_FILE;
5-
[ -s $SVN_ACCESS_FILE ] || \
6-
printf '[groups]\n\n[/]\n* = r\n\n' > $SVN_ACCESS_FILE;
5+
[ -s $SVN_ACCESS_FILE ] || printf '[groups]\n\n' > $SVN_ACCESS_FILE;
76
chown -R apache:apache $SVN_DATA_DIR /var/log/apache2;
87

98
svnserve --daemon --foreground --root $SVN_PARENT_PATH --listen-port 3690 &
9+
1010
rm -f /run/apache2/httpd.pid;
11-
apachectl -DFOREGROUND;
11+
exec httpd -DFOREGROUND "$@"

build.sh

+2
Original file line numberDiff line numberDiff line change
@@ -45,3 +45,5 @@ docker build --tag binave/svnadmin:1.6.2-alpine3.6.5 \
4545
--build-arg REPO_MIRRORS_HOST=mirrors.tuna.tsinghua.edu.cn \
4646
--build-arg NETCAT_URL=http://${assets_url%.*}.1:$port \
4747
.
48+
49+
cd - >/dev/null

subversion.conf

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
LoadModule dav_svn_module /usr/lib/apache2/mod_dav_svn.so
22
LoadModule authz_svn_module /usr/lib/apache2/mod_authz_svn.so
3-
3+
SVNUseUTF8 On
44
<Location /svn>
55
DAV svn
66
SVNParentPath

update.sh

+2
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,5 @@ sed -i ':1;N;$!b1;s@[0-9A-Za-z/+]\{76\}[[:space:]][^|]\+@'"`
88
tar -czf - bootstrap.sh subversion.conf | base64 | awk '{print $0 " \\\\\\\\\\\\"}'
99
1010
`"\n'@' ${0%/*}/Dockerfile
11+
12+
cd - >/dev/null

0 commit comments

Comments
 (0)