Modification : vm_hosted -> etc/sv/*/{,log/}run .
[lhc/ateliers.git] / etc / sv / gitweb / run
1 #!/bin/sh -eux
2 exec 2>&1
3 sv=${PWD#/etc/sv/}
4 home=~git-data
5 domainname=$(domainname)
6 case ${domainname-} in
7 (""|"(none)") false;;
8 esac
9
10 getent passwd fcgi-"$sv" >/dev/null ||
11 adduser fcgi-"$sv" \
12 --disabled-login \
13 --disabled-password \
14 --group \
15 --home "$home" \
16 --shell /bin/false \
17 --system
18
19 adduser fcgi-"$sv" www-"$sv"
20 adduser fcgi-"$sv" git-data
21
22 install -d -m 2750 -o git -g fcgi-"$sv" \
23 /etc/gitweb
24 install -m 400 -o fcgi-"$sv" -g fcgi-"$sv" /dev/stdin \
25 /etc/gitweb/gitweb.conf <<-EOF
26 \$commit_oneline_message_width = 70;
27 \$default_projects_order = 'project';
28 \$default_text_plain_charset = 'UTF-8';
29 @diff_opts = ();
30 \$favicon = "static/git-favicon.png";
31 \$feature{'highlight'}{'default'} = [1];
32 \$git_temp = "/run/shm/tmp/gitweb";
33 \$home_text = "/etc/gitweb/home_text.html";
34 \$home_link = "/";
35 \$home_link_str = 'd&eacute;p&ocirc;ts';
36 \$home_th_age = 'activit&eacute;';
37 \$home_th_descr = 'description';
38 \$home_th_owner = 'contact';
39 \$home_th_project = 'd&eacute;p&ocirc;t';
40 \$javascript = "static/gitweb.js";
41 \$logo = "static/git-logo.png";
42 \$my_uri = "";
43 \$projectroot = "/home/git/pub";
44 \$projects_list = "/etc/gitweb/projects.list";
45 \$projects_list_description_width = 42;
46 \$projects_list_owner_width = 15;
47 \$search_str = "Filtre&nbsp;:";
48 \$site_footer = "/etc/gitweb/site_footer.html";
49 \$site_header = "/etc/gitweb/site_header.html";
50 \$site_name = "git.$domainname";
51 @stylesheets = ("static/gitweb.css");#
52 EOF
53 sudo install -m 400 -o fcgi-"$sv" -g fcgi-"$sv" /dev/stdin \
54 /etc/gitweb/home_text.html <<-EOF
55 <h2>Forge logicielle publique de l'Heureux Cyclage</h2>
56 <p>Pour récupérer un dépôt public :</p>
57 <pre>git clone git://git.heureux-cyclage.org/&lt;projet&gt;</pre>
58 EOF
59
60 ln -fns \
61 /etc/gitweb \
62 ~git/etc/gitweb
63
64 install -d -m 1771 -o root -g root \
65 /run/spawn-fcgi
66 install -d -m 1771 -o fcgi-gitweb -g fcgi-gitweb \
67 /run/shm/tmp/gitweb
68
69 exec /usr/bin/spawn-fcgi \
70 -u fcgi-"$sv" \
71 -g fcgi-"$sv" \
72 -U www-data \
73 -G www-data \
74 -M 0660 \
75 -n \
76 -s /run/spawn-fcgi/"$sv" \
77 -- /usr/bin/multiwatch \
78 --forks 3 \
79 -- /usr/sbin/fcgiwrap