No description
| manifest.yaml | ||
| README.md | ||
Inspired by linkding on fly.io
Storing the state in s3
You'll an s3 compatible bucket, like backblaze, aws, cloudflare or any compatible provider. Litestream will restore the bucket in an emptyDir. Then during operation a litestream sidecar will live replicate the changes to s3.
Contents of manifest.yaml
- a
Namespacefor the project - a
ConfigMapcontaininglitestream.ymlconfig- replace
$S3_ENDPOINTwith your bucket config
- replace
- a
StatefulSetcontaining- an
initContainerto restore the sqlite db - a
Podwithlinkding+litestreamofficial images
- an
- a
Serviceto expose the pods- I'm using tailscale annotations, replace these with traefik or your favorite ingress controller stuff.
Setup
$ export S3_ENDPOINT=<REPLACE ME>
$ export S3_BUCKET=<REPLACE ME>
$ export S3_PATH=<REPLACE ME>
$ export S3_ACCESS_KEY_ID=<REPLACE ME>
$ export S3_SECRET_ACCESS_KEY=<REPLACE ME>
$ envsubst <manifest.yaml | kubectl apply -f -
$ kubectl create secret -n linkding generic litestream-s3 \
--from-literal=LITESTREAM_ACCESS_KEY_ID=$S3_ACCESS_KEY_ID \
--from-literal=LITESTREAM_SECRET_ACCESS_KEY=$S3_SECRET_ACCESS_KEY