Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

馃殌 Feature: Ability to deploy configured Appwrite installation #2971

Open
2 tasks done
joelmagoun opened this issue Mar 19, 2022 · 1 comment
Open
2 tasks done
Labels
enhancement New feature or request

Comments

@joelmagoun
Copy link

馃敄 Feature description

Currently Appwrite is extremely easy to deploy, and there are tools within the CLI that allow for automated deployments with CI/CD in mind, however there is a gap between setting up a server and automating tasks that is not yet easily bridged.

Here I am referring to the initial setup and configuration of the server.

In the modern world it should be easily possible to "click a button" and have appwrite fully deployed, and have an initial installation fully configured to some baseline set of specifications. This is currently not possible and requires a decent amount of manual effort to get the server configured.

It would be nice to have some way to deploy the initial server configuration without having to go through a bunch of workarounds. (configuring a primary admin user, projects, etc.)

馃帳 Pitch

Currently I am using scripts to deploy fresh versions of appwrite to servers.

This works just fine, but I can only get as far as the initial setup where I need to specify an admin user. As far as I can tell there is no easy way to do a full deployment programmatically. So I am faced with two options. (1) clunk around in the web interface, establishing a new user, setting up projects, etc. or (2) manipulating the database directly, by either doing database migrations from previous versions or learning the database structure and inserting rows into known tables.

The database route is what I am currently doing, and it is an extreme pain. The table names and data setup are always changing, meaning extra work on my part to reverse engineer what is being done so I can make sure everything will work properly. Working around gigabytes of data in the audit tables. And just the general nuisance of having to pay such close attention to the database makes it mostly not worth the effort, and I would probably be better off just accepting the fact that I would save time clicking around in the web interface instead.

After dealing with the migration from version 0.11 to version 0.12, I've grown distasteful of database migrations. I would prefer to have scripts to build my projects and the whole server from scratch, and not be forced to use the web interface. This would be ideal.

I would think this should be possible with a mix of some additional docker options, plus perhaps the CLI to be able to write some more global settings.

It would be amazing to be able to deploy an appwrite instance, fully configured without the need to do database manipulation or clicking around in the web interface.

I see this issue: #323 .. but it is unclear if this is the same thing.

Has this sort of thing been considered yet?

Thanks very much!

馃憖 Have you spent some time to check if this issue has been raised before?

  • I checked and didn't find similar issue

馃彚 Have you read the Code of Conduct?

@lohanidamodar
Copy link
Member

@eldadfux @christyjacob4 Can we update our CLI such that it would be possible to fully perform unattended setup and customization of server, including signingUp new console user loggingIn as a console user.
For now I think we are missing

  1. new console user (signup) flow
  2. unattended login
  3. unattended project initialization

Apart from these everything should already be possible with our current CLI. But these three functionality are essential for fully customizing Appwrite server Unattended.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants