Mercurial > hg
annotate contrib/docker/apache-server/vhost.conf @ 23399:fd5247a88e63
docker: add Docker files for running an Apache mod_wsgi server
I frequently find myself wanting to run hgweb in a production-like
environment, with a real HTTP server and multiple WSGI workers.
This patch introduces a Docker environment for running Mercurial
under Apache + mod_wsgi. With just a few command executions, it is
possible to spin up a Docker container running hgweb.
The container is tailored for Mercurial developers wanting to run
Mercurial from a source checkout. It is **not** meant to be something
suitable for production use.
The container provides a default hgweb environment with an empty
repository that allows pushes. You can thus start a container and push
your favorite repository there for quick testing.
The container is designed to allow customizations. Users can provide
their own hgweb configurations and mount existing directories containing
repositories into the container.
The behavior of the container and how to control things is documented in
the README.rst file.
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Tue, 11 Nov 2014 20:32:10 -0800 |
parents | |
children |
rev | line source |
---|---|
23399
fd5247a88e63
docker: add Docker files for running an Apache mod_wsgi server
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1 # Apache won't be able to resolve its own hostname, so we sneak this |
fd5247a88e63
docker: add Docker files for running an Apache mod_wsgi server
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
2 # into the global context to silence a confusing-to-user warning on |
fd5247a88e63
docker: add Docker files for running an Apache mod_wsgi server
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
3 # server start. |
fd5247a88e63
docker: add Docker files for running an Apache mod_wsgi server
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
4 ServerName hg |
fd5247a88e63
docker: add Docker files for running an Apache mod_wsgi server
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
5 |
fd5247a88e63
docker: add Docker files for running an Apache mod_wsgi server
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
6 <VirtualHost *:80> |
fd5247a88e63
docker: add Docker files for running an Apache mod_wsgi server
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
7 DocumentRoot /var/hg/htdocs |
fd5247a88e63
docker: add Docker files for running an Apache mod_wsgi server
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
8 <Directory /> |
fd5247a88e63
docker: add Docker files for running an Apache mod_wsgi server
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
9 Options FollowSymLinks |
fd5247a88e63
docker: add Docker files for running an Apache mod_wsgi server
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
10 AllowOverride None |
fd5247a88e63
docker: add Docker files for running an Apache mod_wsgi server
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
11 </Directory> |
fd5247a88e63
docker: add Docker files for running an Apache mod_wsgi server
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
12 |
fd5247a88e63
docker: add Docker files for running an Apache mod_wsgi server
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
13 SetEnv HGENCODING UTF-8 |
fd5247a88e63
docker: add Docker files for running an Apache mod_wsgi server
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
14 SetEnv LC_TYPE UTF-8 |
fd5247a88e63
docker: add Docker files for running an Apache mod_wsgi server
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
15 |
fd5247a88e63
docker: add Docker files for running an Apache mod_wsgi server
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
16 WSGIDaemonProcess hg processes=${WSGI_PROCESSES} threads=${WSGI_THREADS} maximum-requests=${WSGI_MAX_REQUESTS} user=www-data group=www-data display-name=hg-wsgi |
fd5247a88e63
docker: add Docker files for running an Apache mod_wsgi server
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
17 WSGIProcessGroup hg |
fd5247a88e63
docker: add Docker files for running an Apache mod_wsgi server
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
18 |
fd5247a88e63
docker: add Docker files for running an Apache mod_wsgi server
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
19 WSGIScriptAliasMatch ^(.*) /var/hg/htdocs/hgweb.wsgi$1 |
fd5247a88e63
docker: add Docker files for running an Apache mod_wsgi server
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
20 |
fd5247a88e63
docker: add Docker files for running an Apache mod_wsgi server
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
21 ErrorLog ${APACHE_LOG_DIR}/error.log |
fd5247a88e63
docker: add Docker files for running an Apache mod_wsgi server
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
22 LogLevel warn |
fd5247a88e63
docker: add Docker files for running an Apache mod_wsgi server
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
23 CustomLog ${APACHE_LOG_DIR}/access.log combined |
fd5247a88e63
docker: add Docker files for running an Apache mod_wsgi server
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
24 </VirtualHost> |