116 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			116 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
services:
 | 
						|
  mas:
 | 
						|
    image: ghcr.io/element-hq/matrix-authentication-service:main
 | 
						|
    user: "1000"
 | 
						|
    restart: unless-stopped
 | 
						|
    depends_on:
 | 
						|
      - masdb
 | 
						|
    volumes:
 | 
						|
      - ./docker/mas:/config:ro
 | 
						|
    command: server -c /config/config.yaml
 | 
						|
    ports:
 | 
						|
      - "8778:8778/tcp"
 | 
						|
 | 
						|
  mas_create_admin1:
 | 
						|
    image: ghcr.io/element-hq/matrix-authentication-service:main
 | 
						|
    user: "1000"
 | 
						|
    restart: no
 | 
						|
    profiles: ["create-accounts"]
 | 
						|
    depends_on:
 | 
						|
      - mas
 | 
						|
    volumes:
 | 
						|
      - ./docker/mas:/config:ro
 | 
						|
    command: |
 | 
						|
      manage register-user -c /config/config.yaml -y --ignore-password-complexity 
 | 
						|
      -p admin1 -e admin1@admin1.local --admin -d "Admin One" admin1
 | 
						|
 | 
						|
  mas_create_user1:
 | 
						|
    image: ghcr.io/element-hq/matrix-authentication-service:main
 | 
						|
    user: "1000"
 | 
						|
    restart: no
 | 
						|
    profiles: ["create-accounts"]
 | 
						|
    depends_on:
 | 
						|
      - mas
 | 
						|
    volumes:
 | 
						|
      - ./docker/mas:/config:ro
 | 
						|
    command: |
 | 
						|
      manage register-user -c /config/config.yaml -y --ignore-password-complexity 
 | 
						|
      -p user1 -e user1@user1.local -d "User One" user1
 | 
						|
 | 
						|
  synapse:
 | 
						|
    image: docker.io/matrixdotorg/synapse:latest
 | 
						|
    user: "1000"
 | 
						|
    # Since synapse does not retry to connect to the database, restart upon
 | 
						|
    # failure
 | 
						|
    restart: unless-stopped
 | 
						|
    # See the readme for a full documentation of the environment settings
 | 
						|
    # NOTE: You must edit homeserver.yaml to use postgres, it defaults to sqlite
 | 
						|
    environment:
 | 
						|
      - SYNAPSE_CONFIG_PATH=/config/homeserver.yaml
 | 
						|
    volumes:
 | 
						|
      # You may either store all the files in a local folder
 | 
						|
      - ./storage/synapse:/data
 | 
						|
      - ./docker/synapse:/config:ro
 | 
						|
      # .. or you may split this between different storage points
 | 
						|
      # - ./files:/data
 | 
						|
      # - /path/to/ssd:/data/uploads
 | 
						|
      # - /path/to/large_hdd:/data/media
 | 
						|
    # In order to expose Synapse, remove one of the following, you might for
 | 
						|
    # instance expose the TLS port directly:
 | 
						|
    ports:
 | 
						|
      - "8448:8448/tcp"
 | 
						|
 | 
						|
  masdb:
 | 
						|
    image: docker.io/postgres:18-alpine
 | 
						|
    user: "1000"
 | 
						|
    environment:
 | 
						|
      - POSTGRES_DB=masdb
 | 
						|
      - POSTGRES_USER=masdb
 | 
						|
      - POSTGRES_PASSWORD=changeme
 | 
						|
      # ensure the database gets created correctly
 | 
						|
      # https://element-hq.github.io/synapse/latest/postgres.html#set-up-database
 | 
						|
      - POSTGRES_INITDB_ARGS=--encoding=UTF-8 --lc-collate=C --lc-ctype=C
 | 
						|
      - PGDATA=/data
 | 
						|
    volumes:
 | 
						|
      # You may store the database tables in a local folder..
 | 
						|
      - ./storage/maspostgres:/data
 | 
						|
      # .. or store them on some high performance storage for better results
 | 
						|
      # - /path/to/ssd/storage:/var/lib/postgresql/data
 | 
						|
 | 
						|
  element:
 | 
						|
    image: docker.io/vectorim/element-web
 | 
						|
    ports:
 | 
						|
      - 8080:80/tcp
 | 
						|
    volumes:
 | 
						|
      - ./docker/element/config.json:/app/config.json:ro
 | 
						|
 | 
						|
  oidc:
 | 
						|
    image: dexidp/dex
 | 
						|
    ports:
 | 
						|
      - 9001:9001
 | 
						|
    volumes:
 | 
						|
      - ./docker/dex:/conf:ro
 | 
						|
    command: ["dex", "serve", "/conf/dex.config.yaml"]
 | 
						|
 | 
						|
  minio:
 | 
						|
    image: quay.io/minio/minio
 | 
						|
    command: minio server --console-address ":9002" /data
 | 
						|
    ports:
 | 
						|
      - 9000:9000/tcp
 | 
						|
      - 9002:9002/tcp
 | 
						|
    environment:
 | 
						|
      MINIO_ROOT_USER: minioadmin
 | 
						|
      MINIO_ROOT_PASSWORD: minioadmin
 | 
						|
    volumes:
 | 
						|
      # You may store the database tables in a local folder..
 | 
						|
      - ./storage/minio:/data
 | 
						|
 | 
						|
  redis:
 | 
						|
    image: redis:alpine
 | 
						|
    command: redis-server --requirepass ${REDIS_PASS:-secretredis}
 | 
						|
    ports:
 | 
						|
      - 6379:6379
 | 
						|
    volumes:
 | 
						|
      - ./storage/redis-data:/data
 | 
						|
      - ./storage/redis-conf:/usr/local/etc/redis/redis.conf
 |