commit bf204c2e8bcf044fb36b52f56122ace721292404 Author: Knut Ahlers Date: Thu May 12 15:50:44 2016 +0200 Initial version diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..f37c474 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,20 @@ +FROM debian:jessie + +RUN set -ex \ + && apt-get update \ + && apt-get install -y curl \ + && curl -sSL https://code.bitlbee.org/debian/release.key | apt-key add - \ + && echo "deb http://code.bitlbee.org/debian/master/jessie/amd64/ ./" > /etc/apt/sources.list.d/bitlbee \ + && apt-get update \ + && apt-get install -y bitlbee \ + && apt-get -y remove --purge curl \ + && apt-get -y autoremove + +ADD start.sh /usr/local/bin/start.sh +ADD bitlbee.conf /etc/bitlbee/bitlbee.conf +ADD motd.txt /etc/bitlbee/motd.txt + +USER bitlbee +VOLUME ["/data", "/var/lib/bitlbee"] +EXPOSE 6667/tcp +ENTRYPOINT ["/usr/local/bin/start.sh"] diff --git a/bitlbee.conf b/bitlbee.conf new file mode 100644 index 0000000..2ed629b --- /dev/null +++ b/bitlbee.conf @@ -0,0 +1,159 @@ +## BitlBee default configuration file +## +## Comments are marked like this. The rest of the file is INI-style. The +## comments should tell you enough about what all settings mean. +## + +[settings] + +## RunMode: +## +## Inetd -- Run from inetd (default) +## Daemon -- Run as a stand-alone daemon, serving all users from one process. +## This saves memory if there are more users, the downside is that when one +## user hits a crash-bug, all other users will also lose their connection. +## ForkDaemon -- Run as a stand-alone daemon, but keep all clients in separate +## child processes. This should be pretty safe and reliable to use instead +## of inetd mode. +## +# RunMode = Daemon + +## User: +## +## If BitlBee is started by root as a daemon, it can drop root privileges, +## and change to the specified user. +## +## DEBIAN NOTE: Without this, BitlBee will run as root! +## +# User = bitlbee + +## DaemonPort/DaemonInterface: +## +## For daemon mode, you can specify on what interface and port the daemon +## should be listening for connections. +## +## DEBIAN NOTE: The init script passes the -p flag to use the port number +## set using debconf, this overrides the DaemonPort setting here. +## +DaemonInterface = 0.0.0.0 +DaemonPort = 6667 + +## ClientInterface: +## +## If for any reason, you want BitlBee to use a specific address/interface +## for outgoing traffic (IM connections, HTTP(S), etc.), set it here. +## +# ClientInterface = 0.0.0.0 + +## AuthMode +## +## Open -- Accept connections from anyone, use NickServ for user authentication. +## (default) +## Closed -- Require authorization (using the PASS command during login) before +## allowing the user to connect at all. +## Registered -- Only allow registered users to use this server; this disables +## the register- and the account command until the user identifies itself. +## +# AuthMode = Open + +## AuthPassword +## +## Password the user should enter when logging into a closed BitlBee server. +## You can also have a BitlBee-style MD5 hash here. Format: "md5:", followed +## by a hash as generated by "bitlbee -x hash ". +## +# AuthPassword = ItllBeBitlBee ## Heh.. Our slogan. ;-) +## or +# AuthPassword = md5:gzkK0Ox/1xh+1XTsQjXxBJ571Vgl + +## OperPassword +## +## Password that unlocks access to special operator commands. +## +# OperPassword = ChangeMe! +## or +# OperPassword = md5:I0mnZbn1t4R731zzRdDN2/pK7lRX + +## HostName +## +## Normally, BitlBee gets a hostname using getsockname(). If you have a nicer +## alias for your BitlBee daemon, you can set it here and BitlBee will identify +## itself with that name instead. +## +# HostName = localhost + +## MotdFile +## +## Specify an alternative MOTD (Message Of The Day) file. Default value depends +## on the --etcdir argument to configure. +## +# MotdFile = /etc/bitlbee/motd.txt + +## ConfigDir +## +## Specify an alternative directory to store all the per-user configuration +## files. (.nicks/.accounts) +## +# ConfigDir = /var/lib/bitlbee + +## Ping settings +## +## BitlBee can send PING requests to the client to check whether it's still +## alive. This is not very useful on local servers, but it does make sense +## when most clients connect to the server over a real network interface. +## (Public servers) Pinging the client will make sure lost clients are +## detected and cleaned up sooner. +## +## PING requests are sent every PingInterval seconds. If no PONG reply has +## been received for PingTimeOut seconds, BitlBee aborts the connection. +## +## To disable the pinging, set at least one of these to 0. +## +# PingInterval = 180 +# PingTimeOut = 300 + +## Using proxy servers for outgoing connections +## +## If you're running BitlBee on a host which is behind a restrictive firewall +## and a proxy server, you can tell BitlBee to use that proxy server here. +## The setting has to be a URL, formatted like one of these examples: +## +## (Obviously, the username and password are optional) +## +# Proxy = http://john:doe@proxy.localnet.com:8080 +# Proxy = socks4://socksproxy.localnet.com +# Proxy = socks5://socksproxy.localnet.com + +## Protocols offered by bitlbee +## +## As recompiling may be quite unpractical for some people, this option +## allows to remove the support of protocol, even if compiled in. If +## nothing is given, there are no restrictions. +## +# Protocols = jabber yahoo + +## Trusted CAs +## +## Path to a file containing a list of trusted certificate authorities used in +## the verification of server certificates. +## +## Uncomment this and make sure the file actually exists and contains all +## certificate authorities you're willing to accept (default value should +## work on at least Debian/Ubuntu systems with the "ca-certificates" package +## installed). As long as the line is commented out, SSL certificate +## verification is completely disabled. +## +## The location of this file may be different on other distros/OSes. For +## example, try /etc/ssl/ca-bundle.pem on OpenSUSE. +## +# CAfile = /etc/ssl/certs/ca-certificates.crt + +[defaults] + +## Here you can override the defaults for some per-user settings. Users are +## still able to override your defaults, so this is not a way to restrict +## your users... + +## To enable private mode by default, for example: + +## private = 1 diff --git a/motd.txt b/motd.txt new file mode 100644 index 0000000..bb0b159 --- /dev/null +++ b/motd.txt @@ -0,0 +1,16 @@ +Welcome to the BitlBee server at %h. + +This server is running BitlBee version %v. +The newest version can be found on http://www.bitlbee.org/ + +You are getting this message because the server administrator has not +yet had the time (or need) to change it. + +For those who don't know it yet, this is not quite a regular Internet +Relay Chat server. Please see the site mentioned above for more +information. + +The developers of the Bee hope you have a buzzing time. +-- BitlBee development team. + +... Buzzing, haha, get it? diff --git a/start.sh b/start.sh new file mode 100755 index 0000000..2ab1e7c --- /dev/null +++ b/start.sh @@ -0,0 +1,8 @@ +#!/bin/bash -x + +if [ -e /data/bitlbee.conf ]; then + rm -rf /etc/bitlbee + ln -sf /data /etc/bitlbee +fi + +exec /usr/sbin/bitlbee -F -n