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’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: added coolify docs in self-hosting #1681

Open
wants to merge 5 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion src/markdoc/layouts/Integration.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,9 @@
//const title = 'Integrations' + TITLE_SUFFIX;
//const ogImage = DEFAULT_HOST + '/images/open-graph/website.png';
const ogImage = DEFAULT_HOST + cover;
const categoryHeading = integrationCategoryDescriptions.find(key => key.slug === category.toLowerCase())?.heading;
const categoryHeading = integrationCategoryDescriptions.find(
(key) => key.slug === category.toLowerCase()
)?.heading;
</script>

<svelte:head>
Expand Down
4 changes: 4 additions & 0 deletions src/routes/docs/advanced/self-hosting/+layout.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,10 @@
{
label: 'Guides',
items: [
{
label: 'Coolify',
href: '/docs/advanced/self-hosting/coolify'
},
{
label: 'Functions',
href: '/docs/advanced/self-hosting/functions'
Expand Down
79 changes: 79 additions & 0 deletions src/routes/docs/advanced/self-hosting/coolify/+page.markdoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
---
layout: article
title: Coolify
description: Learn how to self-host Appwrite on your infrastructure with Coolify.
---

Coolify is an open-source, self-hosted platform that simplifies application deployment through an intuitive interface and automated workflows. With its one-click deployment feature, you can quickly deploy various services, including Appwrite's comprehensive backend solution. To explore the full range of supported services, visit the [Coolify Docs](https://coolify.io/docs/services/appwrite). This guide will walk you through setting up Appwrite on your Coolify instance and provide necessary troubleshooting tips.

# Prerequisites {% #prerequisites %}

Before starting, ensure your server meets the [minimum requirements](/docs/advanced/self-hosting#system-requirements) for hosting Appwrite with Coolify.

# Installation {% #installation %}

Install Coolify on your server using the command below:

```bash
curl -sSL https://coolify.io/install | bash
```

Once the installation is complete, open the Coolify dashboard in your web browser.

1. Sign up for a new account.
2. Click the **Create Project** button to start a new project.
3. Select or create an environment type. By default, a **production** environment is already available.
4. Click **Add new resource**.
5. Search for and select **Appwrite** from the list of services.

The configuration fields will be pre-filled with the recommended settings, but you can customize them. When ready, click the **Deploy** button to initiate the deployment process.

After deployment, access your Appwrite instance's console by clicking the console link in the **Links** section of the Appwrite service.

# Configuration {% #configuration %}

Coolify automatically handles most configurations, like the environment variables. You can modify these variables and redeploy the service to apply the changes. However, to enable additional features, you may need to configure some environment variables manually.

**Assistant**
To enable the assistant, which allows you to generate code snippets and assist with documentation for your Appwrite project, set your OpenAI API key:

```bash
_APP_ASSISTANT_OPENAI_API_KEY=sk-1234567890
```

**SMS Notifications**
To enable SMS-based OTP authentication, configure the following environment variables:

```bash
_APP_SMS_FROM=123456789
_APP_SMS_PROVIDER=sms://username:password@mock
```

**Email Notifications**
To enable email notifications, configure these environment variables:

```bash
_APP_SMTP_HOST=smtp.example.com
_APP_SMTP_PASSWORD=password
_APP_SMTP_PORT=587
_APP_SMTP_SECURE=true
_APP_SMTP_USERNAME=username
```

**GitHub Integration**
To enable GitHub authentication for your Appwrite console, set these environment variables:

```bash
_APP_VCS_GITHUB_APP_ID
_APP_VCS_GITHUB_APP_NAME
_APP_VCS_GITHUB_CLIENT_ID
_APP_VCS_GITHUB_CLIENT_SECRET
_APP_VCS_GITHUB_PRIVATE_KEY
```

The [Github Docs](https://docs.github.com/en/apps/creating-github-apps/about-creating-github-apps/about-creating-github-apps) provide more information on configuring your Github app.

# Troubleshooting {% #troubleshooting %}

1. **Site redirected you too many times**
If you encounter the error `ERR_TOO_MANY_REDIRECTS` with the default Coolify configuration, turn off the **Strip Prefixes** option in the **Settings** page for the Appwrite console and Appwrite Realtime service. If you're using Cloudflare and the issue persists, update the SSL/TLS encryption setting to Full in the Cloudflare dashboard. From the dashboard, navigate to `Your Domain` -> `SSL/TLS` -> `Overview` and change the setting to Full.
5 changes: 4 additions & 1 deletion src/routes/products/functions/(components)/Bento.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,10 @@
</h2>
<p>Execute your functions effortlessly through the Appwrite console, SDKs, or API.</p>

<a href="/docs/products/functions/executions" class="web-button is-secondary mt-4 !w-full md:!w-fit">Learn more</a>
<a
href="/docs/products/functions/executions"
class="web-button is-secondary mt-4 !w-full md:!w-fit">Learn more</a
>
</div>

<div class="mt-10 grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,9 @@
within your development workflow seamlessly.
</p>

<a href="/docs/products/functions/deployments" class="web-button is-secondary mt-8 !w-full md:!w-fit"
>Learn more</a
<a
href="/docs/products/functions/deployments"
class="web-button is-secondary mt-8 !w-full md:!w-fit">Learn more</a
>
</div>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -171,8 +171,9 @@
over your development.
</p>

<a href="/docs/products/functions/develop-locally" class="web-button is-secondary mt-8 !w-full md:!w-fit"
>Learn more</a
<a
href="/docs/products/functions/develop-locally"
class="web-button is-secondary mt-8 !w-full md:!w-fit">Learn more</a
>
</div>
</div>
Expand Down
5 changes: 3 additions & 2 deletions src/routes/products/functions/(components)/Languages.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -473,8 +473,9 @@ public class Handler {
/> compatibility in your projects.
</p>

<a href="/docs/products/functions/runtimes" class="web-button is-secondary mt-8 !w-full md:!w-fit"
>Learn more</a
<a
href="/docs/products/functions/runtimes"
class="web-button is-secondary mt-8 !w-full md:!w-fit">Learn more</a
>
</div>

Expand Down
5 changes: 4 additions & 1 deletion src/routes/products/storage/(components)/Optimized.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,10 @@
optimized upload times.
</p>
<div class="mt-8 flex gap-2">
<a href="/docs/products/storage/images" class="web-button is-secondary !w-full md:!w-fit">
<a
href="/docs/products/storage/images"
class="web-button is-secondary !w-full md:!w-fit"
>
<span class="text">Learn more</span>
</a>
</div>
Expand Down
4 changes: 3 additions & 1 deletion src/routes/products/storage/(components)/Permissions.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,9 @@
<p class="text-body max-width-[380px] mx-auto font-medium">
Set up file encryption and granular user permissions in your storage infrastructure
</p>
<a href="/docs/products/storage/permissions" class="web-button is-secondary mt-4 mx-auto !w-full md:!w-fit">Learn more</a
<a
href="/docs/products/storage/permissions"
class="web-button is-secondary mt-4 mx-auto !w-full md:!w-fit">Learn more</a
>
</div>
</div>
Expand Down
5 changes: 4 additions & 1 deletion src/routes/products/storage/(components)/PreviewFiles.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,10 @@
managing different formats and compression algorithms.
</p>
<div class="mt-8 flex gap-2">
<a href="/docs/products/storage/upload-download#get-file-preview" class="web-button is-secondary !w-full md:!w-fit">
<a
href="/docs/products/storage/upload-download#get-file-preview"
class="web-button is-secondary !w-full md:!w-fit"
>
<span class="text">Learn more</span>
</a>
</div>
Expand Down
Loading