Compare commits

...

87 Commits

Author SHA1 Message Date
Nicolas Dorier
81ac2cc3ef
Update configurator image version to 0.0.28 2026-05-04 22:19:29 +09:00
rockstardev
b860029b4d
Update configurator image version to 0.0.24 2026-04-20 08:11:47 -05:00
rockstardev
79c6816637
Update configurator image to version 0.0.23 2026-04-20 07:49:47 -05:00
Nicolas Dorier
b4f4d6c6d7
bump postgres 2026-02-04 13:17:20 +09:00
nicolas.dorier
faa7d971d8
Remove plugin builder from infra 2025-08-25 14:45:20 +09:00
rockstardev
a909907549
bump plugin-builder v1.0.37 2025-08-12 16:46:08 -05:00
rockstardev
aa25d3a8a6
bump plugin-builder v1.0.36 2025-07-30 19:03:28 +02:00
nicolas.dorier
dd321b7692
Update images 2025-07-18 19:07:28 +09:00
nicolas.dorier
aa5641d8e3
bump builder 2025-07-18 18:58:05 +09:00
rockstardev
97b48bbf09
bump plugin-builder v1.0.34 2025-07-14 23:59:00 +02:00
rockstardev
ddf3bb0f0f
bump plugin-builder v1.0.33 2025-06-10 01:05:26 +02:00
rockstardev
95520a4db8
bump plugin-builder v1.0.32 2025-05-31 18:06:33 -05:00
rockstardev
9b5f98a012
Update README.md to fix legacy docker-compose 2025-05-31 10:57:37 -05:00
rockstardev
a52d936e3a
bump plugin-builder v1.0.31 2025-05-31 10:54:13 -05:00
rockstardev
f4df38808b
bumping readme with docker compose instructions 2025-03-20 18:24:11 -05:00
rockstardev
386ebc4c2e
bump plugin-builder v1.0.30 2025-03-20 18:19:32 -05:00
nicolas.dorier
88a45ed387
bump mattermost 2025-01-20 15:04:39 +09:00
rockstardev
330445dce2 Bump plugin-builder 2024-11-11 16:49:56 -06:00
nicolas.dorier
39b6be7758
Bump builder 2024-11-04 12:51:00 +09:00
rockstardev
eb9d195d90 bump plugin-builder 2024-10-12 15:20:24 -05:00
rockstardev
870b6edd28 bump plugin-builder 2024-10-10 06:06:03 -05:00
rockstardev
728e71205d bump plugin-builder 2024-09-29 16:17:13 -05:00
rockstardev
fb1518bea0 Updating README with Plugin Builder details 2024-09-27 13:27:20 -05:00
nicolas.dorier
3121d39e16
bump 2024-06-21 10:22:50 +09:00
nicolas.dorier
6ff004dff4
bump plugin-builder 2024-06-21 09:24:02 +09:00
nicolas.dorier
6e2c3efdc3
bump builder 2024-06-04 18:59:11 +09:00
nicolas.dorier
c7e8ca4547
bump plugin builder 2023-12-21 19:29:05 +09:00
nicolas.dorier
ab1dda626d
Update plugin builder port 2023-12-07 21:19:32 +09:00
nicolas.dorier
9ee988d27b
bump plugin builder 2023-12-07 20:58:36 +09:00
nicolas.dorier
b4c7aee5f1
bump mattermost 2023-09-29 09:07:34 +09:00
nicolas.dorier
ac9d1ec764
Remove gitter from readme 2023-09-04 08:34:38 +09:00
nicolas.dorier
4d5b598637
Remove gitter from readme 2023-09-04 08:16:54 +09:00
nicolas.dorier
06ca9ee5c1
Remove gitter 2023-09-04 08:05:45 +09:00
nicolas.dorier
832596ffd2
Fix matterbridge 3 2023-09-04 07:51:31 +09:00
nicolas.dorier
6d0ae34475
Fix matterbridge 2 2023-09-04 07:50:22 +09:00
nicolas.dorier
56fe900e4f
Fix matterbridge 1 2023-09-04 07:49:17 +09:00
nicolas.dorier
ab1c0b8439
bump matterbridge 2023-09-04 07:45:18 +09:00
nicolas.dorier
ed92a0f504
Remove slack invite 2023-09-04 07:43:20 +09:00
nicolas.dorier
4ef778f648
bump plugin builder 2023-08-24 21:12:14 +09:00
nicolas.dorier
b3fe489e59
bump plugin builder 2023-05-25 09:56:42 +09:00
nicolas.dorier
5765425c9a
bump 2023-04-05 23:45:42 +09:00
nicolas.dorier
269a9006d3
bump mattermost 2023-02-17 10:33:40 +09:00
nicolas.dorier
b6796cfa4a
bump plugin builder 2023-01-31 23:31:29 +09:00
nicolas.dorier
36d3fb2b28
bump mattermost 2023-01-19 10:04:29 +09:00
nicolas.dorier
4927c472b2
bump plugin builder 2023-01-17 10:35:57 +09:00
nicolas.dorier
3b958ac191
bump plugin 2022-12-20 23:26:19 +09:00
nicolas.dorier
7411371c71
bump plugin 2022-12-19 12:18:21 +09:00
nicolas.dorier
fd1e4de961
bump plugin builder 2022-12-16 17:53:54 +09:00
nicolas.dorier
366dc14493
bump 2022-12-15 09:47:29 +09:00
nicolas.dorier
6816d6149f
bump plugin builder 2022-11-27 22:46:40 +09:00
nicolas.dorier
e16427f845
bump mattermost 2022-11-27 21:38:00 +09:00
nicolas.dorier
a6071d4033
bump 2022-11-26 20:43:39 +09:00
nicolas.dorier
d98ca6c994
bump plugin builder 2022-11-22 12:28:28 +09:00
nicolas.dorier
72d940bf3c
bump plugin builder 2022-11-20 19:16:11 +09:00
nicolas.dorier
db1f458eeb
bump plugin builder 2022-11-20 18:45:58 +09:00
nicolas.dorier
56b1f0e570
bump firefly 2022-11-17 09:56:08 +09:00
nicolas.dorier
689d0eb968
Revert "Remove fireflyiii"
This reverts commit db557c0fbb.
2022-11-17 09:51:57 +09:00
nicolas.dorier
ff24c25a00
bump plugin-builder 2022-11-15 21:39:46 +09:00
nicolas.dorier
d37c67945b
bump plugin builder 2022-11-14 14:04:20 +09:00
nicolas.dorier
ed6089fa9e
bump plugin-builder 2022-11-12 22:31:01 +09:00
nicolas.dorier
12ef520670
bump plugin-builder 2022-11-12 22:02:07 +09:00
nicolas.dorier
31d5a35c71
Expose port 80 2022-11-12 01:49:44 +09:00
nicolas.dorier
2387319ee8
Fix port of plugin-builder 2022-11-12 01:33:39 +09:00
nicolas.dorier
3e3ab28b6c
pin version of nginx 2022-11-12 01:04:39 +09:00
nicolas.dorier
db557c0fbb
Remove fireflyiii 2022-11-12 00:46:45 +09:00
nicolas.dorier
f9c76832f5
Add plugin-builder 2022-11-11 22:08:06 +09:00
nicolas.dorier
5936da2f83
bump postgres 2022-11-11 21:28:55 +09:00
nicolas.dorier
7b9ac6ad1e
trim spaces in username 2022-08-04 17:37:43 +09:00
nicolas.dorier
ded357a287
trim spaces in username 2022-08-04 17:37:17 +09:00
nicolas.dorier
63d387c472
improve script 2022-08-04 16:23:55 +09:00
nicolas.dorier
8ec3c660c4
add delete spammer script 2022-08-04 16:21:49 +09:00
nicolas.dorier
686452a757
Fix matterbridge 2022-07-04 22:13:53 +09:00
nicolas.dorier
3c449e9663
Fix matterbridge 2022-07-04 22:11:07 +09:00
nicolas.dorier
54be68afa6
update deny 2022-02-02 14:09:18 +09:00
nicolas.dorier
5b5b71a7bf
Deny spammer 2022-02-02 11:48:47 +09:00
nicolas.dorier
f475f4a0e6
bump matterbridge 2022-02-01 12:34:30 +09:00
nicolas.dorier
b8a88f69fa
bump mattermost 2022-02-01 12:33:01 +09:00
nicolas.dorier
133bd45fdd
Update port 2021-10-22 12:13:52 +09:00
nicolas.dorier
060e41d15b
Revert "Revert "Update mattermost""
This reverts commit 323c9a516c.
2021-10-22 12:09:27 +09:00
nicolas.dorier
323c9a516c
Revert "Update mattermost"
This reverts commit 6bcdb279e0.
2021-10-22 12:07:09 +09:00
nicolas.dorier
8c9e1868c0
revert port change 2021-10-22 12:04:31 +09:00
nicolas.dorier
3bb98962fb
fix port mm 2021-10-22 12:00:47 +09:00
nicolas.dorier
a43e78fb26
remove ciruclar dep 2021-10-22 11:57:41 +09:00
nicolas.dorier
6bcdb279e0
Update mattermost 2021-10-22 11:53:01 +09:00
nicolas.dorier
e8af77fcb2
Revert "Revert "update postgres for mattermost""
This reverts commit a5c697864f.
2021-10-22 11:40:46 +09:00
nicolas.dorier
a5c697864f
Revert "update postgres for mattermost"
This reverts commit 88485a2161.
2021-10-22 11:34:41 +09:00
nicolas.dorier
88485a2161
update postgres for mattermost 2021-10-22 11:29:46 +09:00
6 changed files with 70 additions and 110 deletions

View File

@ -3,10 +3,11 @@ The docker compose running several services for the BTCPay Server community
It contains the following services for the community:
* Slack invite. ([slack.btcpayserver.org](https://slack.btcpayserver.org))
* Mattermost server ([chat.btcpayserver.org](https://chat.btcpayserver.org))
* Slack invite - ([slack.btcpayserver.org](https://slack.btcpayserver.org))
* Mattermost server - ([chat.btcpayserver.org](https://chat.btcpayserver.org))
* Bot which bridge IRC, MatterMost, Slack and Telegram.
* BTCPay Server Web Installer/Configurator. ([install.btcpayserver.org](https://install.btcpayserver.org))
* BTCPay Server Web Installer/Configurator - ([install.btcpayserver.org](https://install.btcpayserver.org))
* Plugin Builder - ([plugin-builder.btcpayserver.org](https://plugin-builder.btcpayserver.org))
## How to use
@ -14,8 +15,6 @@ Create a `.env` file with the following content:
```bash
SLACK_TOKEN=xoxp-secret-token
SLACK_HOST=slack.btcpayserver.org
SLACK_URL=forkbitpay.slack.com
MATTERMOST_HOST=chat.btcpayserver.org
CONFIGURATOR_HOST=install.btcpayserver.org
TELEGRAM_TOKEN=...
@ -23,26 +22,39 @@ FIREFLY_HOST=firefly.btcpayserver.org
```
Where:
* `SLACK_TOKEN` is your secret slack token
* `SLACK_HOST` is the slack invite domain name
* `SLACK_URL` is the slack website of your community
* `MATTERMOST_HOST` is the mattermost domain name
* `BOT_NICKNAME` is the name of the bot on mattermost
* `BOT_PASS` is the pass of the bot on mattermost
* `TELEGRAM_TOKEN` is the telegram token
* `GITTER_TOKEN` is the gitter token
* `CONFIGURATOR_HOST` is the configurator domain name
* `FIREFLY_HOST` is the our firefly domain name
This assume that `MATTERMOST_HOST`, and `CONFIGURATOR_HOST` are pointing to your server.
This assume that `SLACK_HOST`, `MATTERMOST_HOST`, and `CONFIGURATOR_HOST` are pointing to your server.
Then you can run:
```bash
./update-mattermost.sh
docker-compose up -d
docker compose up -d
```
## Aditional settings
Please note that previously used `docker-compose` will now likely fail in setup. So ensure you are consistenly using `docker compose` without -.
## Updating Services
If you need to update the version of a service (e.g., Plugin Builder), follow these steps:
1. Update the `docker-compose.yml` file in the repository and push commit.
2. On the server, run the following commands:
```bash
git pull
docker compose up -d
```
On legacy servers, using new `docker compose` instead of `docker-compose`, you may get a warning that volume already exists, but that shouldn't be a problem. We will add a guide on migrating to remove the warning as we further improve the repository.
## Additional settings
We advise you to change `PluginSettings/EnableUploads` to true manually (`/var/lib/docker/volumes/root_mm-config/_data/config.json`).

17
delete-spammer.sh Executable file
View File

@ -0,0 +1,17 @@
#!/usr/bin/env bash
username="$(echo "$1" | xargs)"
echo "Trying to delete $username"
psql="docker exec -ti root_mattermost_db_1 psql -U mmuser -d mattermost"
userid=$($psql -qtAX -c "SELECT id FROM users WHERE username='$username'")
if [[ $userid ]]; then
echo "User found deleting..."
$psql -c "DELETE FROM users WHERE username='$username';"
$psql -c "DELETE FROM posts WHERE userid='$userid';"
$psql -c "DELETE FROM channelmembers WHERE userid='$userid';"
find /var/lib/docker/volumes/root_mm-data/_data -type d | grep $userid | tr "\n" "\0" | xargs -0 rm -rf
$psql -c "DELETE FROM sessions WHERE userid='$userid';"
$psql -c "DELETE FROM fileinfo WHERE creatorid='$userid';"
else
echo "User not found"
fi

View File

@ -3,7 +3,7 @@ version: "3"
services:
nginx:
restart: unless-stopped
image: nginx:stable
image: nginx:1.25.3-bookworm
container_name: nginx
ports:
- "80:80"
@ -16,7 +16,7 @@ services:
nginx-gen:
restart: unless-stopped
image: btcpayserver/docker-gen:0.7.4
image: btcpayserver/docker-gen:0.10.7
container_name: nginx-gen
volumes:
- "/var/run/docker.sock:/tmp/docker.sock:ro"
@ -28,11 +28,10 @@ services:
entrypoint: /usr/local/bin/docker-gen -notify-sighup nginx -watch -wait 5s:30s /etc/docker-gen/templates/nginx.tmpl /etc/nginx/conf.d/default.conf
links:
- nginx
- slack
letsencrypt-nginx-proxy-companion:
restart: unless-stopped
image: btcpayserver/letsencrypt-nginx-proxy-companion:1.12.2
image: btcpayserver/letsencrypt-nginx-proxy-companion:2.2.9-2
container_name: letsencrypt-nginx-proxy-companion
volumes:
- "/var/run/docker.sock:/var/run/docker.sock:ro"
@ -40,6 +39,7 @@ services:
- "nginx_vhost:/etc/nginx/vhost.d"
- "nginx_html:/usr/share/nginx/html"
- "nginx_certs:/etc/nginx/certs:rw"
- "acme:/etc/acme.sh"
environment:
NGINX_DOCKER_GEN_CONTAINER: "nginx-gen"
NGINX_PROXY_CONTAINER: "nginx"
@ -47,41 +47,22 @@ services:
links:
- nginx-gen
- mattermost_app
slack:
image: nicolasdorier/slack-invite-automation:latest
restart: unless-stopped
container_name: slack
command: "node ./bin/www"
environment:
SLACK_URL: ${SLACK_URL:-forkbitpay.slack.com}
PORT: 80
COMMUNITY_NAME: "BTCPay Server"
SLACK_TOKEN: ${SLACK_TOKEN}
VIRTUAL_HOST: ${SLACK_HOST}
SSL_POLICY: "Mozilla-Modern"
VIRTUAL_PORT: "80"
VIRTUAL_NETWORK: "nginx-proxy"
LETSENCRYPT_HOST: ${SLACK_HOST}
LETSENCRYPT_EMAIL: ${LETSENCRYPT_EMAIL:-<no value>}
expose:
- 80
mattermost_db:
image: mattermost/mattermost-prod-db:v5.31.4
image: btcpayserver/postgres:18.1
volumes:
- mm-dbdata:/var/lib/postgresql/data
- mm-dbdata:/var/lib/postgresql
- /etc/localtime:/etc/localtime:ro
environment:
- POSTGRES_HOST_AUTH_METHOD=trust
- POSTGRES_USER=mmuser
- POSTGRES_PASSWORD=mmuser_password
- POSTGRES_DB=mattermost
restart: unless-stopped
expose:
- 5432
links:
- mattermost_app
mattermost_app:
restart: unless-stopped
image: mattermost/mattermost-prod-app:v5.31.4
image: mattermost/mattermost-team-edition:10.4.1
volumes:
- mm-config:/mattermost/config:rw
- mm-data:/mattermost/data:rw
@ -90,25 +71,26 @@ services:
- /etc/localtime:/etc/localtime:ro
environment:
# use service's hostname
DB_HOST: "mattermost_db"
DB_PORT_NUMBER: 5432
MM_USERNAME: "mmuser"
MM_PASSWORD: "mmuser_password"
MM_DBNAME: "mattermost"
VIRTUAL_PORT: "8000"
MM_SQLSETTINGS_DRIVERNAME: postgres
MM_SQLSETTINGS_DATASOURCE: postgres://mmuser:mmuser_password@mattermost_db:5432/mattermost?sslmode=disable&connect_timeout=10
MM_SERVICESETTINGS_SITEURL: https://${MATTERMOST_HOST}
DOMAIN: ${MATTERMOST_HOST}
VIRTUAL_PORT: "8065"
VIRTUAL_HOST: ${MATTERMOST_HOST}
VIRTUAL_NETWORK: "nginx-proxy"
LETSENCRYPT_HOST: ${MATTERMOST_HOST}
LETSENCRYPT_EMAIL: ${LETSENCRYPT_EMAIL:-<no value>}
EDITION: "team"
depends_on:
- mattermost_db
mattermost_bridge:
restart: unless-stopped
image: 42wim/matterbridge:1.18.3
image: 42wim/matterbridge:1.26.0
volumes:
- ./matterbridge.toml:/matterbridge.toml
configurator:
restart: unless-stopped
image: btcpayserver/btcpayserver-configurator:0.0.22
image: ghcr.io/btcpayserver/btcpayserver-configurator:0.0.28
environment:
LETSENCRYPT_HOST: ${CONFIGURATOR_HOST}
LETSENCRYPT_EMAIL: ${LETSENCRYPT_EMAIL:-<no value>}
@ -117,7 +99,7 @@ services:
- "80"
fireflyiii:
image: jc5x/firefly-iii:latest
image: fireflyiii/core:version-5.7.15
environment:
- APP_ENV=local
- APP_KEY=MustBe32DropDbAndChangeItIfUWant
@ -137,17 +119,19 @@ services:
expose:
- 8080
volumes:
- firefly_iii_export:/var/www/firefly-iii/storage/export
- firefly_iii_upload:/var/www/firefly-iii/storage/upload
- firefly_iii_export:/var/www/html/storage/export
- firefly_iii_upload:/var/www/html/storage/upload
depends_on:
- postgres
postgres:
restart: unless-stopped
image: postgres:9.6.5
image: btcpayserver/postgres:18.1
command: [ "-c", "random_page_cost=1.0", "-c", "shared_preload_libraries=pg_stat_statements" ]
environment:
POSTGRES_HOST_AUTH_METHOD: trust
volumes:
- "postgres_datadir:/var/lib/postgresql/data"
- "postgres_datadir:/var/lib/postgresql"
volumes:
nginx_conf:
@ -161,4 +145,5 @@ volumes:
mm-plugins:
firefly_iii_export:
firefly_iii_upload:
postgres_datadir:
postgres_datadir:
acme:

View File

@ -14,9 +14,6 @@
[telegram.btcpay]
Token="{TELEGRAM_TOKEN}"
[gitter.nbitcoin]
Token="{GITTER_TOKEN}"
[general]
RemoteNickFormat="[{PROTOCOL} - {NICK}]"
@ -25,10 +22,6 @@ RemoteNickFormat="[{PROTOCOL} - {NICK}]"
name = "nbitcoin"
enable=true
[[gateway.inout]]
account = "gitter.nbitcoin"
channel="MetacoSA/NBitcoin"
[[gateway.inout]]
account ="slack.forkbitpay"
channel = "nbitcoin"
@ -92,52 +85,3 @@ RemoteNickFormat="[{PROTOCOL} - {NICK}]"
[[gateway.inout]]
account ="mattermost.btcpay"
channel = "lightning"
[[gateway]]
name = "website"
enable=true
[[gateway.inout]]
account ="slack.forkbitpay"
channel = "website"
[[gateway.inout]]
account ="mattermost.btcpay"
channel = "website"
[[gateway]]
name = "translations"
enable=true
[[gateway.inout]]
account ="slack.forkbitpay"
channel = "translations"
[[gateway.inout]]
account ="mattermost.btcpay"
channel = "translations"
[[gateway]]
name = "internet-of-shit"
enable=true
[[gateway.inout]]
account ="slack.forkbitpay"
channel = "internetofshit"
[[gateway.inout]]
account ="mattermost.btcpay"
channel = "raspberry-pi"
[[gateway]]
name = "offtopic"
enable=true
[[gateway.inout]]
account ="slack.forkbitpay"
channel = "random"
[[gateway.inout]]
account ="mattermost.btcpay"
channel = "off-topic"

View File

@ -60,6 +60,9 @@ map $scheme $proxy_x_forwarded_ssl {
https on;
}
deny 150.230.32.22;
deny 198.188.7.152;
deny 192.9.235.178;
gzip_types text/plain text/css application/javascript application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
log_format vhost '$host $remote_addr - $remote_user [$time_local] '

View File

@ -8,7 +8,6 @@ sed -i -e "s|{BOT_NICKNAME}|$BOT_NICKNAME|g" "$MATTERMOST_FILE"
sed -i -e "s|{BOT_PASS}|$BOT_PASS|g" "$MATTERMOST_FILE"
sed -i -e "s|{SLACK_TOKEN}|$SLACK_TOKEN|g" "$MATTERMOST_FILE"
sed -i -e "s|{TELEGRAM_TOKEN}|$TELEGRAM_TOKEN|g" "$MATTERMOST_FILE"
sed -i -e "s|{GITTER_TOKEN}|$GITTER_TOKEN|g" "$MATTERMOST_FILE"
sed -i -e "s|{MATTERMOST_HOST}|$MATTERMOST_HOST|g" "$MATTERMOST_FILE"
echo "Generated $MATTERMOST_FILE from .env file parameters"