Skip to content
This repository was archived by the owner on Sep 29, 2023. It is now read-only.

Commit 073d0ea

Browse files
2 parents 7033e73 + 456c63a commit 073d0ea

23 files changed

+1134
-370
lines changed

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
1-
vendor/
1+
vendor/
2+
.idea/

app/views/docs/architecture.phtml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?php
22

3-
use Utopia\View;
3+
use Appwrite\Utopia\View;
44

55
?>
66

@@ -61,8 +61,6 @@ $image = new View(__DIR__.'/../general/image.phtml');
6161

6262
<p><b>Usage</b></p>
6363

64-
<p><b>Tasks</b></p>
65-
6664
<p><b>Deletes</b></p>
6765

6866
<p><b>Certificates</b></p>

app/views/docs/certificates.phtml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
<p>Appwrite uses Let&#39;sEncrypt to auto-generate TLS certificates for your Appwrite instance to ensure your API traffic is appropriately encrypted. For Appwrite to properly generate certificates, a few conditions need to be met.</p>
2+
3+
<ol class="margin-top margin-bottom-large text-size-normal">
4+
<li>You need to use a public-facing domain with a known TLD pointing to your Appwrite instance.</li>
5+
<li>Your _APP_ENV <a href="https://appwrite.io/docs/environment-variables">environment variable</a> should be set for production mode. The default Appwrite setup comes with this predefined setting, so you should be OK unless you change it.</li>
6+
<li>You need to ensure you have a valid email address set on _APP_SYSTEM_SECURITY_EMAIL_ADDRESS. The default setup comes with [email protected] as the default value. While this address will work, it&#39;s recommended to change it to your own email.</li>
7+
<li>Currently, Appwrite is using the <a href="https://letsencrypt.org/docs/client-options/" target="_blank">ACME</a> HTTP challenge to issue an TLS certificate. This forces us to generate certificates for port 443 when the challenge itself is performed on port 80. At this point, other ports will not work. To overcome this limit, you can set Appwrite on a separate sub-domain or use your own certificate or proxy server in front of Appwrite.</li>
8+
</ol>
9+
10+
<h2>Debugging</h2>
11+
12+
<p>In case you&#39;re still struggling with getting your certificate to work, check the Appwrite certificates worker log. You can do that with the following command:</p>
13+
14+
<div class="ide margin-bottom" data-lang="bash" data-lang-label="Bash">
15+
<pre class="line-numbers"><code class="prism language-bash" data-prism>docker-compose logs appwrite-worker-certificates</code></pre>
16+
</div>
17+
18+
<h2>Dev Environment and Localhosts</h2>
19+
20+
<p>You can&#39;t issue a&nbsp;<a href="https://letsencrypt.org/docs/certificates-for-localhost/" target="_blank">signed certificate for localhost</a>. This is because nobody uniquely owns that hostname and not an Appwrite specific limitation, just the way the internet works. By default, Appwrite will issue a self-signed certificate that is good enough for development.</p>
21+
22+
<p>When using a self-signed certificate, you should enable `client.setSelfSigned()` method in your SDK of choice. This will allow your application to trust and connect with your local Appwrite server.</p>

0 commit comments

Comments
 (0)