A low-config Ghost deployment template for Kubernetes.
Run up.sh
to deploy the website and use ingress IP to configure the DNS name on your DNS provider.
To clean up everthing, run down.sh
.
It's only tested on Digital Ocean Kubernetes but it should work for other cloud provider / bare metal as well provided that they support the resources we used.
- A K8s cluster
- MySQL Database
- Rename
secret.sample.yml
tosecret.yml
and configure your credentials - Rename
<https://your-host-name.domain.com>
indeployment.yml
to your actual domain - Rename
<your-database-name>
indeployment.yml
to your MySQL database name
We use ENV based configuration to override production configuration.
View all available options here.
We currently use them to configure DB connections and Mailgun integration.
We recommend checking in the encrypted version of 0-secret.yml
to the repository directly for ease of development.
We recommend using Zypher for file encryption.
# generate key
zypher keygen
zypher encrypt -f 0-secret.yml -o 0-secret.yml.enc
This repository also ignore zypher.key
file by default. Do not check in or share the key to non-trust individual.