aboutsummaryrefslogtreecommitdiffstats
path: root/README.md
blob: 64210a8e9ee6fd8de81fef60b6c9c3e8e0b2d0bd (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
# docker-bitlbee-libpurple

This repo is a [fork](https://github.com/ezkrg/docker-bitlbee-libpurple)

**NOTE**: the alpine image is currently unmaintained.

The images are built and pushed to [dockerhub](https://hub.docker.com/r/terminaldweller/bitlbee_purple) automatically via github workflows.

Included plugins:

- telegram via [tdlib-purple](https://github.com/BenWiederhake/tdlib-purple/)
- hangouts via [purple-hangouts](https://bitbucket.org/EionRobb/purple-hangouts)
- slack via dylex's fork of [slack-libpurple](https://github.com/dylex/slack-libpurple)
- discord via [purple-discord](https://github.com/EionRobb/purple-discord)
- rocket.chat via [purple-rocketchat](https://bitbucket.org/EionRobb/purple-rocketchat)
- mastodon via [bitlbee-mastodon](https://github.com/kensanata/bitlbee-mastodon)
- signal via [purple-presage](https://github.com/hoehermann/purple-presage)
- whatsapp via [purple-gowhatsmeow](https://github.com/hoehermann/purple-gowhatsapp.git)
- microsoft teams via [purple-teams](https://github.com/EionRobb/purple-teams)
- [icyque](https://github.com/EionRobb/icyque)
- [facebook](https://github.com/jgeboski/bitlbee-facebook)
- [steam](https://github.com/jgeboski/bitlbee-steam)
- [sipe](https://github.com/tieto/sipe)

for mattermost, use [matterircd](https://github.com/42wim/matterircd).

for matrix, use [matrix2051](https://github.com/progval/matrix2051).

## Building and Running

```sh
docker build -f ./Dockerfile.debian -t bitlbee-purple .
```

```sh
docker run -p 6667:6667 --name bitlbee -v /local/path/to/configurations:/var/lib/bitlbee --restart=always --detach bitlbee-purple
```

An example compose file:

```yaml
services:
  bitlbee:
    image: bitlbee-purple
    deploy:
      resources:
        limits:
          memory: 384M
    logging:
      driver: "json-file"
      options:
        max-size: "100m"
    networks:
      - bitlbeenet
    ports:
      - "127.0.0.1:8667:6667"
      - "172.17.0.1:8667:6667"
    restart: unless-stopped
    user: "bitlbee:bitlbee"
    command:
      [
        "/usr/sbin/bitlbee",
        "-F",
        "-n",
        "-u",
        "bitlbee",
        "-c",
        "/var/lib/bitlbee/bitlbee.conf",
        "-d",
        "/var/lib/bitlbee",
      ]
    volumes:
      - ./conf/bitlbee.conf:/var/lib/bitlbee/bitlbee.conf:ro
      - userdata:/var/lib/bitlbee
networks:
  bitlbeenet:
volumes:
  userdata:
```

You can use [grype](https://github.com/anchore/grype) to check for CVEs affecting the image:

```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",
  ]
```