Mealie
Mealie is an intuitive and easy to use recipe management app. It's designed to make your life easier by being the best recipes management experience on the web and providing you with an easy to use interface to manage your growing collection of recipes.
Mealie deployment is consisting of two containers, one for frontend and one for backend. It's database (sqlite) is stored on disk so we will be deploying this app as StatefulSet.
Deploying with Kubedeploy
We will use Helmfile to define our release and configuration.
Export the Mealie domain as environment variable
export MEALIE_DOMAIN = mealie.my-domain.com
helmfile.yaml ---
repositories :
- name : sysbee
url : https://charts.sysbee.io/stable/sysbee
releases :
- name : mealie
namespace : apps
chart : sysbee/kubedeploy
disableValidationOnInstall : true
version : 1.1.0
installed : true
values :
- deploymentMode : Statefulset
- fullnameOverride : mealie
- image :
repository : hkotel/mealie
tag : frontend-nightly
pullPolicy : Always
- ports :
- name : http
containerPort : 3000
protocol : TCP
- service :
enabled : true
ports :
- port : 3000
targetPort : http
protocol : TCP
name : http
- ingress :
enabled : true
hosts :
- host : {{ requiredEnv "MEALIE_DOMAIN" }}
- env :
- name : API_URL
value : http://localhost:9000
- name : BASE_URL
value : https://{{ requiredEnv "MEALIE_DOMAIN" }}
- name : ALLOW_SIGNUP
value : "false"
- name : DB_ENGINE
value : sqlite
- name : WEB_GUNICORN
value : "false"
- name : WORKERS_PER_CORE
value : "0.5"
- name : MAX_WORKERS
value : "1"
- name : WEB_CONCURRENCY
value : "1"
- resources :
limits :
memory : 512Mi
- additionalContainers :
enabled : true
containers :
- name : mealie-api
repository : hkotel/mealie
tag : "api-nightly"
ports :
- name : api
containerPort : 9000
protocol : TCP
resources :
limits :
memory : 1Gi
healthcheck :
enabled : false
probes :
livenessProbe :
httpGet :
path : /api/app/about
port : 9000
initialDelaySeconds : 3
periodSeconds : 3
readinessProbe :
httpGet :
path : /api/app/about
port : 9000
initialDelaySeconds : 3
periodSeconds : 3
- persistency :
enabled : true
capacity :
storage : 20Gi
mountPath : "/app/data"
Deploy command
helmfile --file helmfile.yaml apply
Open your browser at MEALIE_DOMAIN