services: nyuukyou: build: yume-mods/nyuukyou restart: always user: "${MISSKEY_UID}:${MISSKEY_GID}" profiles: [web] links: - web depends_on: web: condition: service_healthy networks: - internal_network - external_network ports: - "3001:3001" volumes: - ./nyuukyou:/store web: build: context: . args: - UID: "${MISSKEY_UID}" - GID: "${MISSKEY_GID}" profiles: [web] restart: always user: "${MISSKEY_UID}:${MISSKEY_GID}" links: - db - redis # - mcaptcha # - meilisearch depends_on: db: condition: service_healthy redis: condition: service_healthy ports: - "3000:3000" networks: - internal_network - external_network # env_file: # - .config/docker.env volumes: - ./files:/misskey/files - ./.config:/misskey/.config:ro redis: restart: always image: redis:7-alpine user: "${MISSKEY_UID}:${MISSKEY_GID}" networks: - internal_network volumes: - ./redis:/data healthcheck: test: "redis-cli ping" interval: 5s retries: 20 db: restart: always image: postgres:15-alpine user: "${MISSKEY_UID}:${MISSKEY_GID}" networks: - internal_network env_file: - .config/docker.env volumes: - ./db:/var/lib/postgresql/data healthcheck: test: "pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB" interval: 5s retries: 20 command: ["-c", "wal_level=logical"] replikey: restart: always image: l1drm/replikey:latest profiles: [replikey-master] user: "${MISSKEY_UID}:${MISSKEY_GID}" links: - db - redis networks: - internal_network - external_network ports: - "5443:5443" volumes: - ./replikey:/etc/replikey:ro command: [ "network", "reverse-proxy", "--listen", "0.0.0.0:5443", "--cert", "/etc/replikey/cert.pem", "--key", "/etc/replikey/key.pem", "--ca", "/etc/replikey/ca.pem", "--redis-sni", "${MTLS_REDIS_SNI}", "--redis-target", "redis:6379", "--postgres-sni", "${MTLS_POSTGRES_SNI}", "--postgres-target", "db:5432", ] replikey-postgres-slave: restart: always image: l1drm/replikey:latest profiles: [replikey-slave] user: "${MISSKEY_UID}:${MISSKEY_GID}" links: - db - redis networks: - internal_network - external_network ports: # - "4001:4001" volumes: - ./replikey:/etc/replikey:ro command: [ "network", "forward-proxy", "--listen", "0.0.0.0:4001", "--sni", "${MTLS_POSTGRES_SNI}", "--target", "db:5432", "--cert", "/etc/replikey/cert.pem", "--key", "/etc/replikey/key.pem", "--ca", "/etc/replikey/ca.pem", ] replikey-redis-slave: restart: always image: l1drm/replikey:latest profiles: [replikey-slave] user: "${MISSKEY_UID}:${MISSKEY_GID}" links: - db - redis networks: - internal_network - external_network ports: # - "4002:4002" volumes: - ./replikey:/etc/replikey:ro command: [ "network", "forward-proxy", "--listen", "0.0.0.0:4002", "--sni", "${MTLS_REDIS_SNI}", "--target", "redis:6379", "--cert", "/etc/replikey/cert.pem", "--key", "/etc/replikey/key.pem", "--ca", "/etc/replikey/ca.pem", ] # mcaptcha: # restart: always # image: mcaptcha/mcaptcha:latest # networks: # internal_network: # external_network: # aliases: # - localhost # ports: # - 7493:7493 # env_file: # - .config/docker.env # environment: # PORT: 7493 # MCAPTCHA_redis_URL: "redis://mcaptcha_redis/" # depends_on: # db: # condition: service_healthy # mcaptcha_redis: # condition: service_healthy # # mcaptcha_redis: # image: mcaptcha/cache:latest # networks: # - internal_network # healthcheck: # test: "redis-cli ping" # interval: 5s # retries: 20 # meilisearch: # restart: always # image: getmeili/meilisearch:v1.3.4 # environment: # - MEILI_NO_ANALYTICS=true # - MEILI_ENV=production # env_file: # - .config/meilisearch.env # networks: # - internal_network # volumes: # - ./meili_data:/meili_data networks: internal_network: internal: true external_network: