diff options
| -rw-r--r-- | Dockerfile.debian | 24 | ||||
| -rw-r--r-- | README.md | 36 | ||||
| -rw-r--r-- | docker-compose.yaml | 24 |
3 files changed, 65 insertions, 19 deletions
diff --git a/Dockerfile.debian b/Dockerfile.debian index 5bfdcab..2c1d661 100644 --- a/Dockerfile.debian +++ b/Dockerfile.debian @@ -1,8 +1,9 @@ -FROM debian:bookworm-slim AS base-image +FROM debian:trixie-slim AS base-image FROM base-image AS bitlbee-build ARG BITLBEE_VERSION=3.6-1 +# ARG BITLBEE_VERSION=master ENV PYTHON=/usr/bin/python3 @@ -85,7 +86,7 @@ RUN echo STEAM=${STEAM} > /tmp/status \ FROM bitlbee-build AS telegram-build -ARG TELEGRAM=0 +ARG TELEGRAM=1 ARG TELEGRAM_VERSION=v0.4 RUN echo TELEGRAM=${TELEGRAM} > /tmp/status \ @@ -203,7 +204,7 @@ RUN echo SIPE=${SIPE} > /tmp/status \ FROM bitlbee-build AS discord-build ARG DISCORD=1 -ARG DISCORD_VERSION=nightly-465575dda13a187f5f65ced4b11af89ffdb94351 +ARG DISCORD_VERSION=nightly-a04cdf4f7f74dea826110e3b8a83fa11fcd484f0 RUN echo DISCORD=${DISCORD} > /tmp/status \ && if [ ${DISCORD} -eq 1 ]; \ @@ -364,18 +365,18 @@ RUN echo ICYQUE=${ICYQUE} > /tmp/status \ FROM bitlbee-build AS whatsapp-build ARG WHATSAPP=1 -ARG WHATSAPP_VERSION=v1.15.0 +ARG WHATSAPP_VERSION=nightly-e033cae8f5dc039df686af2c9569e7e504617880 RUN echo WHATSAPP=${WHATSAPP} > /tmp/status \ && if [ ${WHATSAPP} -eq 1 ]; \ then cd /tmp \ && apt-get install -y wget \ - && wget -q https://go.dev/dl/go1.22.4.linux-amd64.tar.gz \ - && tar -C /usr/local -xzf go1.22.4.linux-amd64.tar.gz \ + && wget -q https://go.dev/dl/go1.25.4.linux-amd64.tar.gz \ + && tar -C /usr/local -xzf go1.25.4.linux-amd64.tar.gz \ && echo "deb http://deb.debian.org/debian bookworm-backports main" | tee -a /etc/apt/sources.list \ && apt-get update \ - && apt-get install -y -t bookworm-backports \ - && apt-get install -y --no-install-recommends cmake pkg-config libgdk-pixbuf2.0-dev libopusfile-dev \ + && apt-get install -y -t bookworm-backports \ + && apt-get install -y --no-install-recommends cmake pkg-config libgdk-pixbuf-2.0-dev libopusfile-dev \ && git clone -n https://github.com/hoehermann/purple-gowhatsapp.git \ && cd purple-gowhatsapp \ && git checkout ${WHATSAPP_VERSION} \ @@ -512,17 +513,18 @@ RUN groupadd -g 101 -r bitlbee \ && if [ ${HANGOUTS} -eq 1 ] || [ ${SIGNAL} -eq 1 ]; then PKGS="${PKGS} libprotobuf-c1"; fi \ && if [ ${SIGNAL} -eq 1 || [ ${DISCORD} -eq 1 ] ]; then PKGS="${PKGS} libqrencode4"; fi \ && if [ ${DISCORD} -eq 1 ]; then PKGS="%{PKGS} libnss3"; fi \ - && if [ ${WHATSAPP} -eq 1 ]; then PKGS="${PKGS} libopusfile-dev libgdk-pixbuf2.0-dev"; fi \ + && if [ ${WHATSAPP} -eq 1 ]; then PKGS="${PKGS} libopusfile-dev libgdk-pixbuf-2.0-dev"; fi \ && if [ ${SIPE} -eq 1 ]; then PKGS="${PKGS} libxml2"; fi \ && if [ ${ROCKETCHAT} -eq 1 ]; then PKGS="${PKGS} libmarkdown2"; fi \ && if [ ${MATRIX} -eq 1 ]; then PKGS="${PKGS} libsqlite3-0 libhttp-parser2.9 libolm2"; fi \ - && if [ ${WHATSAPP} -eq 1 ]; then PKGS="${PKGS} libgdk-pixbuf2.0-dev libopusfile-dev"; fi \ + && if [ ${WHATSAPP} -eq 1 ]; then PKGS="${PKGS} libgdk-pixbuf-2.0-dev libopusfile-dev"; fi \ && if [ ${PURPLETEAMS} -eq 1 ]; then PKGS="${PKGS} libjson-glib-1.0-0"; fi \ && if [ ${LURCH} -eq 1 ]; then PKGS="${PKGS} libxml2 libmxml1 libsqlite3-0 libgcrypt20"; fi \ && PKGS="${PKGS} vim libqrencode4" \ && apt-get update \ && apt-get install -y --no-install-recommends ${PKGS} \ && apt-get clean \ - && rm /plugins + && rm /plugins \ + && ln -sf /dev/null /var/lib/bitlbee/crash.log # CMD [ "/usr/sbin/bitlbee", "-F", "-n", "-u", "bitlbee" ] @@ -83,3 +83,39 @@ You can use [grype](https://github.com/anchore/grype) to check for CVEs affectin ```sh grype bitlbee-purple --scope all-layers ``` + +## Debugging + +For debugging, you can use the docker compose file provided in the repo. Enable the plugin you want, and run. + +This command will run until we crash, after which it will print the backtrace and exit: + +```yaml +command: + [ + "gdb", + "-ex", + "'handle SIGPIPE nostop noprint pass'", + "-ex", + "run", + "-ex", + "bt", + "--args", + "/usr/sbin/bitlbee", + "-Dnv", + "-d", + "/var/lib/bitlbee", + ] +``` + +This command prints debug information for bitlbee: + +```yaml +command: + [ + "/usr/sbin/bitlbee", + "-Dnv", + "-d", + "/var/lib/bitlbee", + ] +``` diff --git a/docker-compose.yaml b/docker-compose.yaml index 8dd9e25..3033246 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -1,5 +1,6 @@ # DO NOT RUN THIS FOR ANYTHING OTHER THAN DEBUGGING. SERIOUSLY. # https://wiki.bitlbee.org/DebuggingCrashes +# https://wiki.bitlbee.org/Debugging services: bb_dbg: image: bb_dbg @@ -22,16 +23,23 @@ services: ports: - "127.0.0.1:9667:6667" - "172.17.0.1:9667:6667" + # command: + # [ + # "gdb", + # "-ex", + # "'handle SIGPIPE nostop noprint pass'", + # "-ex", + # "run", + # "-ex", + # "bt", + # "--args", + # "/usr/sbin/bitlbee", + # "-Dnv", + # "-d", + # "/var/lib/bitlbee", + # ] command: [ - "gdb", - "-ex", - "'handle SIGPIPE nostop noprint pass'", - "-ex", - "run", - "-ex", - "bt", - "--args", "/usr/sbin/bitlbee", "-Dnv", "-d", |
