Back

Detailed documentation about Appwrite components

  • 0
  • Self Hosted
  • Tools
  • General
futurmaster
18 Nov, 2023, 18:15

That's why I'd like to get a communication and functional matrix

TL;DR
The user is requesting detailed documentation about the components of Appwrite. They provide a GitHub template for an architecture page and express their intention to create a handbook. They ask for assistance in understanding certain components and mention that PHP is not their favorite language. The conversation also includes discussions about different components, shared volumes, stateful vs. stateless deployments, and the importance of handling the uploads folder when using external storage. The user is also interested in examples of stateful services and volumes and mentions a guide created by a community member. Finally, they mention their intention to provide a Helm chart in Kubernetes. No solution is provided in the conversation.
futurmaster
18 Nov, 2023, 18:15

In the case I can came it alive in k8s then I'll provide a helm chart too

futurmaster
18 Nov, 2023, 18:15

@Core

D5
18 Nov, 2023, 18:16

It's better not tagging core, they will take a look anyways πŸ˜…

D5
18 Nov, 2023, 18:17

Just for next time, no worries

futurmaster
18 Nov, 2023, 18:18

Oh okay good to know

Aditya Oberai
18 Nov, 2023, 18:20

I believe one of our community members, @Binyamin created a guide for this sometime back as well

https://book.appread.io/

Drake
18 Nov, 2023, 18:22

You can actually duplicate the deletes worker. The coordination is done via the redis queue

Drake
18 Nov, 2023, 18:23

Database might be the only tricky one because order is very important there

Drake
18 Nov, 2023, 18:24

Redis is used for the queue too so we want persistence for that

Drake
18 Nov, 2023, 18:25

We have an architecture diagram and some description here: https://github.com/appwrite/appwrite/blob/main/CONTRIBUTING.md#architecture-1

Drake
18 Nov, 2023, 18:26

Do you have an example of a stateful service and volume?

D5
18 Nov, 2023, 18:27

Also data duplication. If you duplicate database 3 times could get 3 times the same data

Drake
18 Nov, 2023, 18:28

Not necessarily because of the queue. One event goes into the queue and one worker picks it up

futurmaster
18 Nov, 2023, 18:30

@Drake I mean these volumes https://github.com/appwrite/appwrite/blob/main/docker-compose.yml#L75-L79 Is it important to handle the uploads folder stateful in the case if we're using Appwrite with external storage (ie S3)?

futurmaster
18 Nov, 2023, 18:31

If not then I can handle it in the helm chart, that if any of the external storage are used, then I create only a stateless deployment (stateless container) and not a stateful one

futurmaster
18 Nov, 2023, 18:33

And in Kubernetes I can create shared volumes too, what can be used by multiple instances, but sometimes it isn't the best approach because of the linux filesystem locking

Drake
18 Nov, 2023, 18:37

Honestly, I don't remember about all of these πŸ˜… I would have to dig into the code.

I think uploads is used for interim for chunks

I think cache is used for caching files.

Config and certificates are used for certs

Functions is probably for function source code upload

Drake
18 Nov, 2023, 18:40

I would need to dig into the code to see if it's used in the appwrite container

Drake
18 Nov, 2023, 18:40

Upload, cache, and functions probably are. Not sure about config or certificates

futurmaster
18 Nov, 2023, 18:44

It's okay, I would be grateful if you could help me with this. I mean not during the weekend but after that. PHP is not one of my favorit languages, so I don't want to look through the code if not needed. πŸ˜„

bradleySchofield
20 Nov, 2023, 09:55

I actually kinda started working on a obsidian handbook for myself to keep track of all of this, if I ever get it to the point I'm happy about it I'll release it

futurmaster
20 Nov, 2023, 11:52

Oh, it sounds great, don't hesitate to let me know after that you released it

futurmaster
20 Nov, 2023, 23:21

Here is the basic template, I'm still working on it but for the fine tune I'll definitely need some additional info about the system: https://github.com/schneidermr/appwrite-helm

VincentGe
21 Nov, 2023, 03:11

We do intend to have an architecture page in Appwrite eventually.

Reply

Reply to this thread by joining our Discord

Reply on Discord

Need support?

Join our Discord

Get community support by joining our Discord server.

Join Discord

Get premium support

Join Appwrite Pro and get email support from our team.

Learn more