150 lines
4.5 KiB
YAML
150 lines
4.5 KiB
YAML
version: "3"
|
|
|
|
services:
|
|
nginx:
|
|
restart: unless-stopped
|
|
image: nginx:1.25.3-bookworm
|
|
container_name: nginx
|
|
ports:
|
|
- "80:80"
|
|
- "443:443"
|
|
volumes:
|
|
- "nginx_conf:/etc/nginx/conf.d"
|
|
- "nginx_vhost:/etc/nginx/vhost.d"
|
|
- "nginx_html:/usr/share/nginx/html"
|
|
- "nginx_certs:/etc/nginx/certs:ro"
|
|
|
|
nginx-gen:
|
|
restart: unless-stopped
|
|
image: btcpayserver/docker-gen:0.10.7
|
|
container_name: nginx-gen
|
|
volumes:
|
|
- "/var/run/docker.sock:/tmp/docker.sock:ro"
|
|
- "./nginx.tmpl:/etc/docker-gen/templates/nginx.tmpl:ro"
|
|
- "nginx_conf:/etc/nginx/conf.d"
|
|
- "nginx_vhost:/etc/nginx/vhost.d"
|
|
- "nginx_html:/usr/share/nginx/html"
|
|
- "nginx_certs:/etc/nginx/certs:ro"
|
|
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
|
|
|
|
letsencrypt-nginx-proxy-companion:
|
|
restart: unless-stopped
|
|
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"
|
|
- "nginx_conf:/etc/nginx/conf.d"
|
|
- "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"
|
|
ACME_CA_URI: ${ACME_CA_URI:-https://acme-v01.api.letsencrypt.org/directory}
|
|
links:
|
|
- nginx-gen
|
|
- mattermost_app
|
|
mattermost_db:
|
|
image: btcpayserver/postgres:18.1
|
|
volumes:
|
|
- 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
|
|
mattermost_app:
|
|
restart: unless-stopped
|
|
image: mattermost/mattermost-team-edition:10.4.1
|
|
volumes:
|
|
- mm-config:/mattermost/config:rw
|
|
- mm-data:/mattermost/data:rw
|
|
- mm-logs:/mattermost/logs:rw
|
|
- mm-plugins:/mattermost/plugins:rw
|
|
- /etc/localtime:/etc/localtime:ro
|
|
environment:
|
|
# use service's hostname
|
|
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.26.0
|
|
volumes:
|
|
- ./matterbridge.toml:/matterbridge.toml
|
|
configurator:
|
|
restart: unless-stopped
|
|
image: ghcr.io/btcpayserver/btcpayserver-configurator:0.0.28
|
|
environment:
|
|
LETSENCRYPT_HOST: ${CONFIGURATOR_HOST}
|
|
LETSENCRYPT_EMAIL: ${LETSENCRYPT_EMAIL:-<no value>}
|
|
VIRTUAL_HOST: ${CONFIGURATOR_HOST}
|
|
expose:
|
|
- "80"
|
|
|
|
fireflyiii:
|
|
image: fireflyiii/core:version-5.7.15
|
|
environment:
|
|
- APP_ENV=local
|
|
- APP_KEY=MustBe32DropDbAndChangeItIfUWant
|
|
- APP_URL=https://${FIREFLY_HOST}
|
|
- TRUSTED_PROXIES=**
|
|
- DB_CONNECTION=pgsql
|
|
- DB_HOST=postgres
|
|
- DB_PORT=5432
|
|
# Need to manually create fireflyiii database since fireflyiii doesn't create it automatically
|
|
- DB_DATABASE=fireflyiii
|
|
- DB_USERNAME=postgres
|
|
- DB_PASSWORD=
|
|
- VIRTUAL_HOST_NAME=fireflyiii
|
|
- VIRTUAL_HOST=${FIREFLY_HOST}
|
|
- VIRTUAL_PORT=8080
|
|
- LETSENCRYPT_HOST=${FIREFLY_HOST}
|
|
expose:
|
|
- 8080
|
|
volumes:
|
|
- firefly_iii_export:/var/www/html/storage/export
|
|
- firefly_iii_upload:/var/www/html/storage/upload
|
|
depends_on:
|
|
- postgres
|
|
|
|
postgres:
|
|
restart: unless-stopped
|
|
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"
|
|
|
|
volumes:
|
|
nginx_conf:
|
|
nginx_vhost:
|
|
nginx_html:
|
|
nginx_certs:
|
|
mm-dbdata:
|
|
mm-config:
|
|
mm-data:
|
|
mm-logs:
|
|
mm-plugins:
|
|
firefly_iii_export:
|
|
firefly_iii_upload:
|
|
postgres_datadir:
|
|
acme:
|