version: "3.4" services: postgres: hostname: postgres image: postgres:14 restart: always volumes: - ./postgres/create_db.sh:/docker-entrypoint-initdb.d/20-create_db.sh # To persist your PostgreSQL databases outside of the Docker image, # to prevent data loss, modify the following ./path_to path: - ./path_to/postgresql:/var/lib/postgresql/data environment: POSTGRES_PASSWORD: itsasecret POSTGRES_USER: dendrite networks: - internal jetstream: hostname: jetstream image: nats:latest command: | --jetstream --store_dir /var/lib/nats --cluster_name Dendrite volumes: # To persist your NATS JetStream streams outside of the Docker image, # prevent data loss, modify the following ./path_to path: - ./path_to/nats:/var/lib/nats networks: - internal client_api: hostname: client_api image: matrixdotorg/dendrite-polylith:latest command: clientapi volumes: - ./config:/etc/dendrite depends_on: - jetstream - postgres networks: - internal media_api: hostname: media_api image: matrixdotorg/dendrite-polylith:latest command: mediaapi volumes: - ./config:/etc/dendrite - ./media:/var/dendrite/media networks: - internal sync_api: hostname: sync_api image: matrixdotorg/dendrite-polylith:latest command: syncapi volumes: - ./config:/etc/dendrite depends_on: - jetstream - postgres networks: - internal room_server: hostname: room_server image: matrixdotorg/dendrite-polylith:latest command: roomserver volumes: - ./config:/etc/dendrite depends_on: - jetstream - postgres networks: - internal edu_server: hostname: edu_server image: matrixdotorg/dendrite-polylith:latest command: eduserver volumes: - ./config:/etc/dendrite depends_on: - jetstream networks: - internal federation_api: hostname: federation_api image: matrixdotorg/dendrite-polylith:latest command: federationapi volumes: - ./config:/etc/dendrite depends_on: - jetstream - postgres networks: - internal key_server: hostname: key_server image: matrixdotorg/dendrite-polylith:latest command: keyserver volumes: - ./config:/etc/dendrite depends_on: - jetstream - postgres networks: - internal user_api: hostname: user_api image: matrixdotorg/dendrite-polylith:latest command: userapi volumes: - ./config:/etc/dendrite depends_on: - jetstream - postgres networks: - internal appservice_api: hostname: appservice_api image: matrixdotorg/dendrite-polylith:latest command: appservice volumes: - ./config:/etc/dendrite networks: - internal depends_on: - jetstream - postgres - room_server - user_api networks: internal: attachable: true