anyproto / any-sync-dockercompose

docker-compose for testing any-sync
MIT License
238 stars 30 forks source link

filenode not work properly #10

Closed muhanstudio closed 5 months ago

muhanstudio commented 6 months ago

Have you read a contributing guide?

Current Behavior

After deploying on Linux public server and filling the generated configuration to the client, the files can't be synchronized properly, the articles and emoji can be synchronized, but after inserting the image files, it will be stuck in sync, I suspect it has something to do with s3 emulator, because I observe the logs of the S3 emulator, and I found that it only receives the records of my two requests with python, and no anytype filenode write log (see picture), hopefully can come out an official more complete tutorial, such as heart. yml fill rule.In addition to this, I also observed that my self-hosted backup node is zero kb on the mobile side and infinity on the computer image image image 481B7Q N1G9I U 8567}JV1

Expected Behavior

I want container generated network. filenode in yml is valid and S3 emulator can receive requests correctly or filenode can receive files correctly and request S3 emulator, if it is because of emulator, I would like to provide the option to configure my own S3 bucket image

Steps To Reproduce

  1. Clone the official any-sync-dockercompose library to your Debian hard drive
  2. cd to this directory
  3. make start Wait for deployment to complete
  4. Open etc/network.yml.
  5. Use any-sync-tools_0.0. 4_amd64. deb generate profile heart.yml
  6. Use the etc/network.yml to replace the Docker-generated configuration information it contains with the corresponding content in the heart.yml (because I use sync-network to enter directly and then fill in the correct information manually). For example, according to the network ID, peerID, port, etc. Corresponding to the type, the IP address is also changed to the public network IP of the Linux server.
  7. Test the public network connectivity of each port through ping, all ports are normal, and all ports can be accessed from the public network
  8. heart.yml upload to the client, and create a new user, start trying to synchronize operations, such as changing documents, uploading files
  9. And then there's these problems that I'm talking about.

Environment

- OS:Debian
- Version:12

Anything else?

No response

muhanstudio commented 6 months ago

Is this a user error? It's still a bug. The official doesn't seem to have a mature deployment document.

muhanstudio commented 6 months ago

I'm sure it's the filenode problem now, because I stop or even delete the any-filenode container, and the result is the same as when I deploy all the containers normally (make start), and the result is that once the file is uploaded, it gets stuck. This means that filenode doesn't seem to be working at all.Thank you for providing this Docker image so that anytype users have more choices. This is very much in line with the concept of anytype. I am now a loyal fan of anytype. I hope the team can solve this problem when they have time.

fb929 commented 6 months ago

hi! I think the problem is in the internal "docker network". Servers should be available for the clients on same ip addresses, which were recorded in "network config" (mongodb). It means, that clients should be deployed in the same docker-compose.

ToaHartor commented 5 months ago

I had the same problem with a MinIO instance, but managed to solve it by adding a file storage limit to the coordinator config, for instance (here 1GB) :

fileLimit:
  limitDefault: 1073741824
  limitAlphaUsers: 10737418240
  limitNightlyUsers: 53687091200
fb929 commented 5 months ago

I'm added setting "EXTERNAL_LISTEN_HOST", by default it's 127.0.0.1. you can set LAN ip or PUBLIC internet ip (if you have).