version: '3.8' services: postgres: image: postgres:14 restart: unless-stopped environment: POSTGRES_DB: ${POSTGRES_DB} POSTGRES_USER: ${POSTGRES_USER} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} POSTGRES_INITDB_ARGS: "--encoding=UTF8 --locale=C" volumes: - ./postgres-data:/var/lib/postgresql/data ports: - "5432:5432" synapse: image: matrixdotorg/synapse:latest restart: unless-stopped depends_on: - postgres environment: SYNAPSE_SERVER_NAME: ${SYNAPSE_SERVER_NAME} SYNAPSE_REPORT_STATS: 'yes' SYNAPSE_NO_TLS: 'true' volumes: - ./synapse-data:/data ports: - "8008:8008" element-web: image: vectorim/element-web:latest restart: unless-stopped depends_on: - synapse volumes: - ./element-config.json:/app/config.json ports: - "8080:80" element-admin: image: awesometechnologies/synapse-admin:latest container_name: element-admin ports: - 8081:80 environment: - REACT_APP_SERVER=${REACT_APP_SERVER} - REACT_APP_REGISTRATION_ENABLED=${REACT_APP_REGISTRATION_ENABLED} restart: unless-stopped