loyldg / mytelegram

MyTelegram is Telegram server side api implementation written in c#
Apache License 2.0
73 stars 28 forks source link

Some Bugs #10

Closed AliKhadivi closed 1 year ago

AliKhadivi commented 1 year ago

image The saved message cannot be opened When creating a contact, it says that the phone is not registered

AliKhadivi commented 1 year ago

image

AliKhadivi commented 1 year ago

image Upload photo error

AliKhadivi commented 1 year ago

Unread Message bug: https://drive.google.com/file/d/1PVAwc_iCyNdmulj_wJfZNeUGwnRe2ovz/view?usp=share_link

loyldg commented 1 year ago

image

It means the server can not find the phone number from database, only registered phone number can be added to contacts.

loyldg commented 1 year ago

image Upload photo error

Check the file server output

loyldg commented 1 year ago

image The saved message cannot be opened When creating a contact, it says that the phone is not registered

Send a message,and the loading icon with disappear

AliKhadivi commented 1 year ago

image

It means the server can not find the phone number from database, only registered phone number can be added to contacts.

I logged in with another number in another browser and tried to add this number to my contacts, but it gave me an error

AliKhadivi commented 1 year ago

image The saved message cannot be opened When creating a contact, it says that the phone is not registered

Send a message,and the loading icon with disappear

image I tried but it gave me an error

AliKhadivi commented 1 year ago

image Upload photo error

Check the file server output

image Bad minio address, not get from .env file image

AliKhadivi commented 1 year ago

image The saved message cannot be opened When creating a contact, it says that the phone is not registered

Send a message,and the loading icon with disappear

image I tried but it gave me an error

image

Logs

AliKhadivi commented 1 year ago

.env:

# MyTelegram servers version
MyTelegramVersion=latest

# DefaultLogLevel Verbose|Debug|Information|Warning|Error
DefaultLogLevel=Information

# Gateway server
# The gateway server listens on 3 ports(20443:tcp,30443:http with ssl,30444:http without ssl) by default,
# Servers is an array as follows
# Servers:[{
#    "Enabled": true,
#        "ServerType": 0, //0:TCP,1:HTTP
#        "Ip": "",
#        "Ipv6": true,
#        "Port": 20443,
#        "Ssl": false,
#        "CertPemFilePath": "",
#        "KeyPemFilePath": ""
#   }]
#
# You can add more servers,for example:add another server listens on port 30445
# Servers3Enabled=true
# Servers3ServerType=0
# Servers3Port=30445
# Servers3Ipv6=true
# listening ip address,empty=IpAddress.Any
# Servers3Ip=
# Servers3Ssl=false
# Servers3CertPemFilePath=
# Servers3KeyPemFilePath=
# 
# Add the following configuration to docker-compose.yml
# App__Servers__3__Enabled: ${Servers3Enabled}
# App__Servers__3__ServerType: ${Servers3ServerType}
# App__Servers__3__Port: ${Servers3Port}
# App__Servers__3__Ipv6: ${Servers3Ipv6}
# 

# Tcp server
# Server[0] configuration
# enable this server 
Servers0Enabled=true
# 0=TCP 1=HTTP
Servers0ServerType=0
Servers0Port=20443
# Servers1Ipv6=true
# listening ip address,empty=IpAddress.Any
# Servers0Ip=
# Servers0Ssl=false
# Servers0CertPemFilePath=
# Servers0KeyPemFilePath=

# Http server with ssl
# Server[1] configuration
# enable this server 
Servers1Enabled=true
# 0=TCP 1=HTTP
Servers1ServerType=1
Servers1Port=30443
# Servers1Ipv6=true
# listening ip address
# Servers1Ip=
# Servers1Ssl=true
Servers1CertPemFilePath=_wildcard.telegram2.com.pem
Servers1KeyPemFilePath=_wildcard.telegram2.com-key.pem

# Http server
# Server[2] configuration
# enable this server 
Servers2Enabled=true
# 0=TCP 1=HTTP
Servers2ServerType=1
Servers2Port=30444
# Servers2Ipv6=true
# listening ip address
# Servers2Ip=
# Servers2Ssl=false
# Servers2CertPemFilePath=
# Servers2KeyPemFilePath=

# WebRtc
# WebRtcConnections0Ip=127.0.0.1

# Data center options
# the public IpAddress of the gateway server 
DcOptions0IpAddress=127.0.0.1
DcOptions0Id=1
DcOptions0Port=20443
DcOptions0Ipv6=false

# Ipv6
# DcOptions1IpAddress=the ipv6 address of gateway server
# DcOptions1Id=1
# DcOptions1Port=20443
# DcOptions1Ipv6=true

# The verifycation code(Must be numeric),if the value is empty,the server will generate a random code
FixedVerifyCode=22222

# Twilio sms service configuration
# TwilioSmsEnabled=false
# TwilioSmsAccountSId=
# TwilioSmsAuthToken=
# TwilioSmsFromNumber=

# Mongodb connectionString
DefaultConnectionStrings=mongodb://mongodb:27017

# Redis connectionString
RedsConfiguration=redis:6379

# RabbitMq configuration
RabbitMqConnectionsDefaultHostName=rabbitmq
RabbitMqConnectionsDefaultPort=5672
RabbitMqConnectionsDefaultUserName=test
RabbitMqConnectionsDefaultPassword=test

# MessengerServer
IdGeneratorGrpcServiceUrl=http://seq-server
MessengerServerGrpcServiceUrl=http://messenger-grpc-server
FileServerGrpcServiceUrl=http://file-server
# Minio
MinioEndpoint=minio:9000
MinioAccessKey=minioadmin
MinioSecretKey=minioadmin
MinioBucketName=tg-files
MinioCreateBucketIfNotExists=true

docker-compose.yaml:

# version: '3.9'

networks:
  tg-net:
   driver:
    bridge

services:
### Minio
  minio:
    image: quay.io/minio/minio:RELEASE.2022-11-11T03-44-20Z
    command: server /data --console-address ":9001"
    restart: always
    # expose:
    #   - "9000"
    #   - "9001"
    ports:
      - '9000:9000'
      - '9001:9001'
    environment:
      MINIO_ROOT_USER: minioadmin
      MINIO_ROOT_PASSWORD: minioadmin
    networks:
      - tg-net
    volumes:
      - ./data/minio:/data
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
      interval: 30s
      timeout: 20s
      retries: 3

### Redis
  redis:
    image: redis:alpine
    restart: always
    networks:
    - tg-net
    ports:
    - "6379:6379"
    volumes:
      - ./data/redis:/data

### RabbitMq
  rabbitmq:
    image: rabbitmq:3-management-alpine
    restart: always
    networks:
      - tg-net
    ports:
      - "5672:5672"
      - "15672:15672"
    volumes:
      - ./data/rabbitmq:/var/lib/rabbitmq
    environment:
       RABBITMQ_DEFAULT_USER: ${RabbitMqConnectionsDefaultUserName}
       RABBITMQ_DEFAULT_PASS: ${RabbitMqConnectionsDefaultPassword}

 ### MongoDb
  mongodb:
    image: mongo:latest
    restart: always
    networks:
      - tg-net
    ports:
      - "27017:27017"
    volumes:
      - ./data/mongo/:/data
    #environment:
    #  MONGO_INITDB_ROOT_USERNAME: admin
    #  MONGO_INITDB_ROOT_PASSWORD: admin

################### MyTelegram server

  ### 1.Gateway server
  gateway-server:
    image: mytelegram/mytelegram-gateway-server:${MyTelegramVersion}
    restart: always
    networks:
      - tg-net
    ports:
      - "${Servers0Port}:20443"
      - "${Servers1Port}:30443"
      - "${Servers2Port}:30444"
    volumes:
      - ./data/mytelegram/gateway/logs:/data/Logs
    environment:
       ConnectionStrings__Default: ${DefaultConnectionStrings}
       RabbitMQ__Connections__Default__HostName: ${RabbitMqConnectionsDefaultHostName}
       RabbitMQ__Connections__Default__Port: ${RabbitMqConnectionsDefaultPort}
       RabbitMQ__Connections__Default__UserName: ${RabbitMqConnectionsDefaultUserName}
       RabbitMQ__Connections__Default__Password: ${RabbitMqConnectionsDefaultPassword}
       Redis__Configuration: ${RedsConfiguration}
       Serilog__MinimumLevel__Default: ${DefaultLogLevel}
       App__Servers__0__Enabled: ${Servers0Enabled}
       App__Servers__0__ServerType: ${Servers0ServerType}
       App__Servers__0__Port: ${Servers0Port}
       App__Servers__1__Enabled: ${Servers1Enabled}
       App__Servers__1__ServerType: ${Servers1ServerType}
       App__Servers__1__Port: ${Servers1Port}
       App__Servers__1__CertPemFilePath: ${Servers1CertPemFilePath}
       App__Servers__1__KeyPemFilePath: ${Servers1KeyPemFilePath}
       App__Servers__2__Enabled: ${Servers2Enabled}
       App__Servers__2__ServerType: ${Servers2ServerType}
       App__Servers__2__Port: ${Servers2Port}
    depends_on:
      - rabbitmq
      - mongodb
      - redis

  ### 2.Seq server
  seq-server:
    image: mytelegram/mytelegram-seq-server:${MyTelegramVersion}
    restart: always
    networks:
      - tg-net
    #ports:
    #  - "10001:80"
    environment:
      ConnectionStrings__Default: ${DefaultConnectionStrings}
      Serilog__MinimumLevel__Default: ${DefaultLogLevel}
    volumes:
      - ./data/mytelegram/seq/logs:/data/Logs
    depends_on:
      - mongodb

  ### 3.Auth server
  auth-server:
    image: mytelegram/mytelegram-auth-server:${MyTelegramVersion}
    restart: always
    networks:
      - tg-net
    environment:
       ConnectionStrings__Default: ${DefaultConnectionStrings}
       RabbitMQ__Connections__Default__HostName: ${RabbitMqConnectionsDefaultHostName}
       RabbitMQ__Connections__Default__Port: ${RabbitMqConnectionsDefaultPort}
       RabbitMQ__Connections__Default__UserName: ${RabbitMqConnectionsDefaultUserName}
       RabbitMQ__Connections__Default__Password: ${RabbitMqConnectionsDefaultPassword}
       Redis__Configuration: ${RedsConfiguration}
       Serilog__MinimumLevel__Default: ${DefaultLogLevel}
    volumes:
      - ./data/mytelegram/auth/logs:/data/Logs
    depends_on:
      - mongodb
      - rabbitmq
      - redis

  ### 4.Session server
  session-server:
    image: mytelegram/mytelegram-session-server:${MyTelegramVersion}
    restart: always
    networks:
      - tg-net
    environment:
       ConnectionStrings__Default: ${DefaultConnectionStrings}
       RabbitMQ__Connections__Default__HostName: ${RabbitMqConnectionsDefaultHostName}
       RabbitMQ__Connections__Default__Port: ${RabbitMqConnectionsDefaultPort}
       RabbitMQ__Connections__Default__UserName: ${RabbitMqConnectionsDefaultUserName}
       RabbitMQ__Connections__Default__Password: ${RabbitMqConnectionsDefaultPassword}
       Redis__Configuration: ${RedsConfiguration}
       App__MessengerServerGrpcServiceUrl: ${MessengerServerGrpcServiceUrl}
       App__IdGeneratorGrpcServiceUrl: ${IdGeneratorGrpcServiceUrl}
       Serilog__MinimumLevel__Default: ${DefaultLogLevel}
    volumes:
      - ./data/mytelegram/session/logs:/data/Logs
    depends_on:
      - mongodb
      - rabbitmq
      - redis

  ### 5.Messenger grpc server
  messenger-grpc-server:
    image: mytelegram/mytelegram-messenger-grpc-service:${MyTelegramVersion}
    restart: always
    networks:
      - tg-net
    #ports:
    #  - "10002:80"
    environment:
       ConnectionStrings__Default: ${DefaultConnectionStrings}
       Serilog__MinimumLevel__Default: ${DefaultLogLevel}
    volumes:
      - ./data/mytelegram/messenger-grpc/logs:/data/Logs
    depends_on:
      - mongodb

  ### 6.File server
  file-server:
    image: mytelegram/mytelegram-file-server:${MyTelegramVersion}
    restart: always
    networks:
      - tg-net
    #ports:
    #  - "10003:80"
    volumes:
      - ./data/uploads:/app/uploads
      - ./data/mytelegram/file:/app/Logs
    environment:
       ConnectionStrings__Default: ${DefaultConnectionStrings} 
       RabbitMQ__Connections__Default__HostName: ${RabbitMqConnectionsDefaultHostName}
       RabbitMQ__Connections__Default__Port: ${RabbitMqConnectionsDefaultPort}
       RabbitMQ__Connections__Default__UserName: ${RabbitMqConnectionsDefaultUserName}
       RabbitMQ__Connections__Default__Password: ${RabbitMqConnectionsDefaultPassword}
       App__DcOptions__0__IpAddress: ${DcOptions0IpAddress}
       App__DcOptions__0__Port: ${DcOptions0Port}
       App__DcOptions__0__Ipv6: ${DcOptions0Ipv6}
       Serilog__MinimumLevel__Default: ${DefaultLogLevel}
    depends_on:
      - mongodb
      - rabbitmq

  ### 7.Messenger server
  messenger-server:
    image: mytelegram/mytelegram-messenger-server:${MyTelegramVersion}
    restart: always
    networks:
      - tg-net
    environment:
       ConnectionStrings__Default: ${DefaultConnectionStrings} 
       RabbitMQ__Connections__Default__HostName: ${RabbitMqConnectionsDefaultHostName}
       RabbitMQ__Connections__Default__Port: ${RabbitMqConnectionsDefaultPort}
       RabbitMQ__Connections__Default__UserName: ${RabbitMqConnectionsDefaultUserName}
       RabbitMQ__Connections__Default__Password: ${RabbitMqConnectionsDefaultPassword}
       Redis__Configuration: ${RedsConfiguration}
       App__FileServerGrpcServiceUrl: ${FileServerGrpcServiceUrl}
       App__IdGeneratorGrpcServiceUrl: ${IdGeneratorGrpcServiceUrl}
       App__DcOptions__0__IpAddress: ${DcOptions0IpAddress}
       App__DcOptions__0__Port: ${DcOptions0Port}
       App__DcOptions__0__Ipv6: ${DcOptions0Ipv6}
       App__FixedVerifyCode: ${FixedVerifyCode}
       Serilog__MinimumLevel__Default: ${DefaultLogLevel}
    volumes:
      - ./data/mytelegram/messenger/logs:/data/Logs
    depends_on:
      - mongodb
      - rabbitmq
      - redis

### 8.Sms sender
  sms-sender:
    image: mytelegram/mytelegram-sms-sender:${MyTelegramVersion}
    restart: always
    networks:
      - tg-net
    environment:
      RabbitMQ__Connections__Default__HostName: ${RabbitMqConnectionsDefaultHostName}
      RabbitMQ__Connections__Default__Port: ${RabbitMqConnectionsDefaultPort}
      RabbitMQ__Connections__Default__UserName: ${RabbitMqConnectionsDefaultUserName}
      RabbitMQ__Connections__Default__Password: ${RabbitMqConnectionsDefaultPassword}
      TwilioSms__Enabled: ${TwilioSmsEnabled}
      TwilioSms__AccountSId: ${TwilioSmsAccountSId}
      TwilioSms__AuthToken: ${TwilioSmsAuthToken}
      TwilioSms__FromNumber: ${TwilioSmsFromNumber}
    volumes:
      - ./data/mytelegram/sms-sender/logs:/data/Logs
    depends_on:
      - rabbitmq
loyldg commented 1 year ago

Sorry,the latest minio configurations for docker compose does not upload,I pushed the latest configurations,pull it and retry

loyldg commented 1 year ago

If you still have any questions,you can create new issue for each bug