Add mattermost

This commit is contained in:
2026-04-02 19:11:18 +02:00
parent eb322206a7
commit 964e0fa6c5
7 changed files with 108 additions and 0 deletions

10
.idea/.gitignore generated vendored Normal file
View File

@@ -0,0 +1,10 @@
# Default ignored files
/shelf/
/workspace.xml
# Editor-based HTTP Client requests
/httpRequests/
# Ignored default folder with query files
/queries/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml

9
.idea/homelab.iml generated Normal file
View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$" />
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

6
.idea/misc.xml generated Normal file
View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" project-jdk-name="25" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" />
</component>
</project>

8
.idea/modules.xml generated Normal file
View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/homelab.iml" filepath="$PROJECT_DIR$/.idea/homelab.iml" />
</modules>
</component>
</project>

6
.idea/vcs.xml generated Normal file
View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="" vcs="Git" />
</component>
</project>

View File

@@ -0,0 +1,66 @@
services:
app:
image: mattermost/mattermost-enterprise-edition:11.5.1@sha256:816d2fe91fd3e605fd8cc4d1756974da496acc8735528f81203554d7563e9f9e
container_name: mattermost
restart: unless-stopped
entrypoint: ["/bin/sh", "-c"]
command:
- |
export MM_SQLSETTINGS_DATASOURCE="postgres://mattermost:$$(cat /run/secrets/mattermost_postgres_password)@postgres:5432/mattermost?sslmode=disable"
export MM_OPENIDCONNECTSETTINGS_SECRET="$$(cat /run/secrets/mattermost_oidc_secret)"
exec /entrypoint.sh mattermost
environment:
MM_SQLSETTINGS_DRIVERNAME: postgres
MM_BLEVESETTINGS_INDEXDIR: /mattermost/bleve-indexes
MM_OPENIDCONNECTSETTINGS_ENABLE: "true"
MM_OPENIDCONNECTSETTINGS_ID: ${MATTERMOST_OIDC_CLIENT_ID}
MM_OPENIDCONNECTSETTINGS_DISCOVERYENDPOINT: ${MATTERMOST_OIDC_DISCOVERY_URL}
MM_OPENIDCONNECTSETTINGS_BUTTONTEXT: Login with Authentik
MM_EMAILSETTINGS_ENABLESIGNINWITHEMAIL: "false"
volumes:
- mattermost_data:/mattermost/data
- mattermost_logs:/mattermost/logs
- mattermost_config:/mattermost/config
- mattermost_plugins:/mattermost/plugins
- mattermost_client_plugins:/mattermost/client/plugins
- mattermost_bleve:/mattermost/bleve-indexes
networks:
- homelab_apps
- homelab_db
secrets:
- mattermost_postgres_password
- mattermost_oidc_secret
labels:
- traefik.enable=true
- traefik.docker.network=homelab_apps
- traefik.http.routers.mattermost.rule=Host(`${MATTERMOST_DOMAIN}`)
- traefik.http.routers.mattermost.entrypoints=websecure
- traefik.http.routers.mattermost.tls=true
- traefik.http.routers.mattermost.tls.certresolver=le
- traefik.http.services.mattermost.loadbalancer.server.port=8065
volumes:
mattermost_data:
driver: local
mattermost_logs:
driver: local
mattermost_config:
driver: local
mattermost_plugins:
driver: local
mattermost_client_plugins:
driver: local
mattermost_bleve:
driver: local
networks:
homelab_apps:
external: true
homelab_db:
external: true
secrets:
mattermost_postgres_password:
environment: MATTERMOST_POSTGRES_PASSWORD
mattermost_oidc_secret:
environment: MATTERMOST_OIDC_CLIENT_SECRET

View File

@@ -16,6 +16,7 @@ services:
- postgres_password
- authentik_postgres_password
- gitea_postgres_password
- mattermost_postgres_password
healthcheck:
interval: 30s
retries: 5
@@ -40,3 +41,5 @@ secrets:
environment: AUTHENTIK_POSTGRES_PASSWORD
gitea_postgres_password:
environment: GITEA_POSTGRES_PASSWORD
mattermost_postgres_password:
environment: MATTERMOST_POSTGRES_PASSWORD