Add a dockerfile

Add a dockerfile for bitlbee + bitlbee-discord contributed by
Daniel da Silva <mail@danieldasilva.org>
This commit is contained in:
Artem Savkov 2018-03-11 09:12:44 +01:00
parent 7375256275
commit cbba1b1cf9
3 changed files with 173 additions and 0 deletions

3
README
View File

@ -49,6 +49,9 @@ After that (or when building from a tarball) you can build as usual:
If your bitlbee's plugindir is in non-standard location you can specify it by
calling ./configure with --with-plugindir=/path/to/plugindir option.
You can also use the dockerfile from contrib/docker to build a docker container
containing bitlbee + bitlbee-discord.
Usage
-----
Plugin adds 'discord' protocol to bitlbee, add your account as usual:

16
contrib/docker/Dockerfile Normal file
View File

@ -0,0 +1,16 @@
FROM debian
MAINTAINER Daniel da Silva <mail@danieldasilva.org>
# Make & install
RUN apt-get update
RUN apt-get install bitlbee-dev bitlbee-libpurple bitlbee-plugin-otr git autoconf build-essential autoproject libtool glib2.0 glib2.0-dev -y
RUN mkdir /data
RUN cd tmp && git clone https://github.com/sm00th/bitlbee-discord.git && cd bitlbee-discord && ./autogen.sh && ./configure && make && make install
# Bitlbee config
VOLUME ["/data"]
EXPOSE 6667
ADD bitlbee.conf /etc/bitlbee/bitlbee.conf
ENTRYPOINT ["/usr/sbin/bitlbee", "-n", "-c", "/etc/bitlbee/bitlbee.conf"]

154
contrib/docker/bitlbee.conf Normal file
View File

@ -0,0 +1,154 @@
## 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.
##
User = daemon
## DaemonPort/DaemonInterface:
##
## For daemon mode, you can specify on what interface and port the daemon
## should be listening for connections.
##
# 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 <password>".
##
# 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 = /data
## 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