Skip to content

one click deployments - #2316

Merged
ItzNotABug merged 33 commits into
mainfrom
feat-one-click-deployment
Sep 11, 2025
Merged

one click deployments#2316
ItzNotABug merged 33 commits into
mainfrom
feat-one-click-deployment

Conversation

@atharvadeosthale

@atharvadeosthale atharvadeosthale commented Sep 3, 2025

Copy link
Copy Markdown
Member

Note: now also supports one-click deployments for Functions.

This PR adds one-click deployments for Appwrite Sites. It works as follows:

Drawbacks

  • User needs to have release tags on repo for now, I intend to get this sorted by changing Appwrite backend repo at one point.

Parameters accepted

Base URL: /console/deploy

  • repo: the GitHub repository URL to deploy
  • env: environment variable keys, comma separated, example, TEST1,TEST2. User will fill the values.
  • preset: if nothing provided, it will be Next.js, or else user can provide sveltekit, vue, react, astro, vite. Default settings will be automatically applied
  • install: custom installation command, in case repository has custom needs
  • build: custom build command
  • output: custom output directory
  • screenshot: screenshot URL for repo mode

Screenshots

When the link is visited:

image

Regular deployment flow

image

Functions

Just added this features. Following is the base URL

https://[URL]/console/functions/deploy

Drawbacks

Same as sites, need to have a release tag for now

Following are URL search params

  • repo - GitHub repository URL
  • runtime - Runtime ID (e.g., node-18.0, python-3.11, php-8.3, etc.)
  • env - Comma-separated environment variable keys (e.g., API_KEY,DATABASE_URL)
  • name - Function name override
  • entrypoint - Entry file to execute (e.g., index.js, main.py, app.php)
  • install - Install/build command (e.g., npm install, pip install -r requirements.txt)
  • rootDir - Root directory path (default: ./)

Summary by CodeRabbit

  • New Features

    • Console: Guided "Deploy function" and "Deploy site" wizards — repo-based templating, runtime/framework selection, build/install/output defaults, env var editor, domain linking, GitHub tag/default-branch detection, analytics, and post-deploy navigation.
    • Public: Public deploy flows for sites and functions — org/project selection or creation (cloud region support), auth redirects, and routing into console deploy flows; auto-creates a "Personal Projects" org if none exist.
    • GitHub helpers: Repository URL parsing, nested root-dir extraction, and latest-tag/default-branch lookups to power deploy flows.
  • Bug Fixes

    • Domain input: validation/state refined so status resets when cleared and is only shown for non-empty values.

Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants