
# Lurker configuration file (lurker.conf).
# Install as /opt/local/etc/lurker/lurker.conf on your system.

#############################################################################
# Global configuration
#############################################################################

# The name lurker uses to refer to the archive.
# 
# This will be displayed at the top-right of every page.
# Clicking on it will return the user to the front page.
# Since it is up top, you should try to keep it relatively short.
# The example below is about the maximum string length you should consider.

archive = Some Mailing List Archive

# You can also localize web viewable strings.
# The most appropriate will be automatically selected when rendering.
# 
# *** THE CHARSET MUST IN ALL CASES BE UTF-8 OR IT WON'T LOAD ***
# 
# Some examples:
# archive[de] = Einige Mailing-Lists
# archive[pt] = ...
# archive[pt-BR] = ...

# The administrative contact information.
# 
# This will be displayed at the bottom-right of every page.
# Users can use this information to help you fix things on your archive.
# However, using your private address is probably a bad idea due to spam.

admin_name    = Unconfigured
admin_address = nill@bitbucket.org

# The command invoked to transform xml into html.
# 
# Lurker normally generates xml web pages from the database.
# However, this is very badly supported in even mainstream browsers.
# Thus lurker is designed to have the output xml transformed to html.
# Default XSLT style-sheets are included with lurker for this purpose.
# Lurker itself does not provide facilities to perform the XSLT transform.
# This command is fed xml via stdin and expected to produce html on stdout.

xslt = xsltproc --nonet -

# The command invoked to delete a message.
# 
# Lurker will feed a password from the UI into this command via stdin.
# The substitution %c denotes the config file of the database to affect.
# The substitution %i is the lurker message ID of the target email.
# The recommended setup is to have a 'lurker' group owning /var/lib/lurker
#  Then for the example command to work, you must set 'gpasswd lurker'.
#  On some systems this is 'passwd -g lurker', there may be other variants.
# Alternately, you can make the lurker db writable by the CGI.
#  Then use the second alternative after changing 'password'.

delete_message = sg lurker -c "/opt/local/bin/lurker-search -d -f -q -i -c %c %i"
# delete_message = if test "password" = "`cat`"; then /opt/local/bin/lurker-search -d -f -q -i -c %c %i; fi

# The commands lurker uses to verify signatures.
# 
# Lurker can optionally invoke a command to verify pgp signatures.
# gpg can be used for this purpose although >= 1.2 is needed.
# Personally I just keep a keyring of only keys which I trust.
# Then gpg has no need to check trust or consult keyservers -> faster.
# 
# The output of these commands is displayed in the signature block.
# The output must be encoded with a charset of UTF-8.
# The return status must be: 0 = ok, 1 = bad sig, other = unknown
# The photo id (if any) should be output to provided photo filename.
# The substitutions %s, %b, and %p are the signature, body, and photo.
# 
# pgp_verify_mime   = gpg 
# 	--keyring /usr/share/keyrings/debian-keyring.gpg
# 	--no-default-keyring
# 	--homedir /tmp
# 	--always-trust
# 	--no-secmem-warning
# 	--batch
# 	--quiet
# 	--photo-viewer "cat %i >%p"
# 	--verify-options show-photos
# 	--charset utf-8
# 	--verify %s %b 2>&1
# pgp_verify_inline = gpg
# 	--keyring /usr/share/keyrings/debian-keyring.gpg
# 	--no-default-keyring
# 	--homedir /tmp
# 	--always-trust
# 	--no-secmem-warning
# 	--batch
# 	--quiet
# 	--photo-viewer "cat %i >%p"
# 	--verify-options show-photos
# 	--charset utf-8
# 	--verify %b 2>&1

# The directory where lurker keeps the database.
# 
# This database directory should be writable by lurker-index.
# It should be readable by lurker.cgi and lurker-prune.
# Do not mess with the files in this directory on pain of death.
# Before taking a backup, make sure your MTA has a frozen mail queue.
# The path is taken relative to the location of the config file.

dbdir = /opt/local/var/lib/lurker

# The umask to use when creating files in the database.
# 
# If this is unset, the umask from the environment of the user is used.
# You would want to set this to make sure that permissions stay correct.
# If you want a group writable db, use 002 and a setgid dbdir (rwxrwsr-x).
# If you want a user only db, use 022 and a dbdir with rwxr-xr-x.
# 
# db_umask = 002

# Include another file for additional configuration.
# 
# If you have a large number of mailing lists it may help to group them.
# One strategy to keep organised is to have one config file per group.
# This also allows collaboratively maintained archives (different owners).
# If a directory is specified, then all files ending in '.conf' are included.
# The path is interpretted relative to the path of the including config file.
# 
# include = another.conf
# include = /etc/lurker/conf.d

# Tell lurker to generate web cache.
# 
# Normally, lurker writes request output to the www directory for caching.
# Then repeated requests only need to be uploaded and not recomputed.
# This additionally allows things like HEAD requests to check for changes.
# However, the cache is only updated whenever lurker-prune is run.
# If you are debugging your installation it may help to turn caching off.
# 
# web_cache = on

# Tell lurker to hide email addresses.
# 
# Normally, lurker includes all email addresses in the source email message.
# Some people feel that this helps spammers with email address harvesting.
# However, removing addresses makes your archive less useful to visitors.
# 
# This will also try to obscure email addresses found in message bodies.
# This option will not affect display of mailing list or admin addresses.
# 
# hide_email = off

# Tell lurker to enable access to raw email data.
# 
# Normally, lurker allows access to the raw contents of email messages.
# With proper MIME settings, this enables replies from the archive web pages.
# Attachments and other MIME components can also be retrieved by default.
# These are all quite useful features for open policy lists.
# However, if you intend to hide email addresses, or are concerned about
# people contracting viruses from archived mails, turn this off.
# 
# raw_email = on


#############################################################################
# Mailing list configuration.
#############################################################################

# Lurker needs to be told all of the lists you will be archiving here.
# New mailing lists may be added at any time and the archive will adjust.
# If you must remove a list, you will need to run lurker-regenerate.
# 
# Mailing lists are collected into groups on the front page and for searching.
# Each group has an id used for searches and a heading.
# The id of a group must be a string containing only a-z 0-9 and -_.
# If you need to move a mailing list to a new group, run this command:
#   lurker-search ml:listid -q -k gr:groupid
# 
# Each mailing list must also have an id for searching.
# These identifiers must be shorter than 128 bytes and simple like group ids.
# Mailing lists may have a title, address, link, and description.
# 
# Furthermore, you MUST specify the languages spoken on a mailing list.
# If you change the language spoken on a list, this will only affect new mail.
# If you need to tag old email to 'listid' as being french, run this command:
#   lurker-search ml:listid -q -k lang:fr


# group = open-source
# 	heading = Open-Source Mailing Lists
#
#
#	list = lurker-users
#		title[en] = Lurker-Users
#		title[de] = Lurkerbenutzer
#		language = en
#		address = lurker-users@lists.sourceforge.net
#		link = http://lists.sourceforge.net/lists/listinfo/lurker-users
#		# offline = true # set this, if you don't archive this list
#
#	list = some-mixed-language-list
#		title = Some List
#		language = en
#		language = fr # posts are tagged as both english and french
#		language = ru # posts might be russian too!
#		description =	A list for talking about the latest ___.
#				Please restrict posts to English, French, or
#				Russian. Thank you.


#############################################################################
# Front-end configuration
#############################################################################

# Lurker can manage multiple frontends/web interfaces.
# A frontend always has (and is identified by) it's cache directory.
# Each frontend specifies which lists/groups should be included.

# This front-end will include all lists/groups
frontend = /opt/local/share/lurker/www

# Here are some more examples:

# This front-end will include only the list lurker-users
# frontend = /var/www/only-one
# 	allow_list = lurker-users

# This front-end will include all lists, except lurker-users
# frontend = /var/www/all-but-one
#	deny_list = lurker-users

# This front-end will include only group open-source, but omit lurker-users
# frontend = /var/www/one-group-without-one-list
#	allow_group = open-source
#	deny_list = lurker-users
