aboutsummaryrefslogtreecommitdiff
path: root/content/documentation/connect/websites.md
diff options
context:
space:
mode:
authorsptaule <lecas83@gmail.com>2022-01-24 20:58:36 +0100
committersptaule <lecas83@gmail.com>2022-01-24 20:58:36 +0100
commitdc932f973593747697b98aa612a308df889741ab (patch)
treed1b88306af8373d650161e845c26690a52e32d29 /content/documentation/connect/websites.md
parent336fd3f7566c7872c17b30f7cd150e1d16899205 (diff)
downloadgaragehq.deuxfleurs.fr-dc932f973593747697b98aa612a308df889741ab.tar.gz
garagehq.deuxfleurs.fr-dc932f973593747697b98aa612a308df889741ab.zip
Added doc book
Diffstat (limited to 'content/documentation/connect/websites.md')
-rw-r--r--content/documentation/connect/websites.md78
1 files changed, 78 insertions, 0 deletions
diff --git a/content/documentation/connect/websites.md b/content/documentation/connect/websites.md
new file mode 100644
index 0000000..6f66c8d
--- /dev/null
+++ b/content/documentation/connect/websites.md
@@ -0,0 +1,78 @@
+# Websites (Hugo, Jekyll, Publii...)
+
+Garage is also suitable to host static websites.
+While they can be deployed with traditional CLI tools, some static website generators have integrated options to ease your workflow.
+
+## Hugo
+
+Add to your `config.toml` the following section:
+
+```toml
+[[deployment.targets]]
+ URL = "s3://<bucket>?endpoint=<endpoint>&disableSSL=<bool>&s3ForcePathStyle=true&region=garage"
+```
+
+For example:
+
+```toml
+[[deployment.targets]]
+ URL = "s3://my-blog?endpoint=localhost:9000&disableSSL=true&s3ForcePathStyle=true&region=garage"
+```
+
+Then inform hugo of your credentials:
+
+```bash
+export AWS_ACCESS_KEY_ID=GKxxx
+export AWS_SECRET_ACCESS_KEY=xxx
+```
+
+And finally build and deploy your website:
+
+```bsh
+hugo
+hugo deploy
+```
+
+*External links:*
+ - [gocloud.dev > aws > Supported URL parameters](https://pkg.go.dev/gocloud.dev/aws?utm_source=godoc#ConfigFromURLParams)
+ - [Hugo Documentation > hugo deploy](https://gohugo.io/hosting-and-deployment/hugo-deploy/)
+
+## Publii
+
+It would require a patch either on Garage or on Publii to make both systems work.
+
+Currently, the proposed workaround is to deploy your website manually:
+ - On the left menu, click on Server, choose Manual Deployment (the logo looks like a compressed file)
+ - Set your website URL, keep Output type as "Non-compressed catalog"
+ - Click on Save changes
+ - Click on Sync your website (bottom left of the app)
+ - On the new page, click again on Sync your website
+ - Click on Get website files
+ - You need to synchronize the output folder you see in your file explorer, we will use minio client.
+
+Be sure that you [configured minio client](cli.html#minio-client-recommended).
+
+Then copy this output folder
+
+```bash
+mc mirror --overwrite output garage/my-site
+```
+
+## Generic (eg. Jekyll)
+
+Some tools do not support sending to a S3 backend but output a compiled folder on your system.
+We can then use any CLI tool to upload this content to our S3 target.
+
+First, start by [configuring minio client](cli.html#minio-client-recommended).
+
+Then build your website:
+
+```bash
+jekyll build
+```
+
+And copy jekyll's output folder on S3:
+
+```bash
+mc mirror --overwrite _site garage/my-site
+```