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.
Add to your
config.toml the following section:
[[deployment.targets]] URL = "s3://<bucket>?endpoint=<endpoint>&disableSSL=<bool>&s3ForcePathStyle=true®ion=garage"
[[deployment.targets]] URL = "s3://my-blog?endpoint=localhost:9000&disableSSL=true&s3ForcePathStyle=true®ion=garage"
Then inform hugo of your credentials:
export AWS_ACCESS_KEY_ID=GKxxx export AWS_SECRET_ACCESS_KEY=xxx
And finally build and deploy your website:
hugo hugo deploy
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.
Then copy this output folder
mc mirror --overwrite output garage/my-site
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.
Then build your website:
And copy jekyll's output folder on S3:
mc mirror --overwrite _site garage/my-site