version: '3' services: synapse: image: docker.io/matrixdotorg/synapse:v1.94.0 # Since synapse does not retry to connect to the database, restart upon # failure restart: "no" # 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=/data/homeserver.yaml volumes: # You may either store all the files in a local folder - ./files:/data # .. or you may split this between different storage points # - ./files:/data # - /path/to/ssd:/data/uploads # - /path/to/large_hdd:/data/media # depends_on: # - db # In order to expose Synapse, remove one of the following, you might for # instance expose the TLS port directly: ports: - 8008:8008/tcp # db: # image: docker.io/postgres:12-alpine # # Change that password, of course! # environment: # - POSTGRES_USER=synapse # - POSTGRES_PASSWORD=changeme # # ensure the database gets created correctly # # https://matrix-org.github.io/synapse/latest/postgres.html#set-up-database # - POSTGRES_INITDB_ARGS=--encoding=UTF-8 --lc-collate=C --lc-ctype=C # volumes: # # You may store the database tables in a local folder.. # - ./schemas:/var/lib/postgresql/data # # .. or store them on some high performance storage for better results # # - /path/to/ssd/storage:/var/lib/postgresql/data synapse-admin: container_name: synapse-admin hostname: synapse-admin image: awesometechnologies/synapse-admin:0.8.7 ports: - "8080:80" restart: "no"