Selfhosted
A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.
Rules:
-
Be civil.
-
No spam.
-
Posts are to be related to self-hosting.
-
Don't duplicate the full text of your blog or readme if you're providing a link.
-
Submission headline should match the article title.
-
No trolling.
-
Promotion posts require active participation, with an account that is at least 30 days old. F/LOSS without a paywall has exceptions, with requirements. See the rules link for details. Tags [CBH] or [AIP] are required, see the links in Rule 8 for details.
-
AI-related discussions and AI-involved promotional posts have additional requirements for tagging, as noted in Rule 7 and the AI & Promotional Post Expanded Rules post, and find example disclosures here.
Resources:
- selfh.st Newsletter and index of selfhosted software and apps
- awesome-selfhosted software
- awesome-sysadmin resources
- Self-Hosted Podcast from Jupiter Broadcasting
Any issues on the community? Report it using the report flag.
Questions? DM the mods!
view the rest of the comments
That's a nice suggestion. I guess I can make the CI build a Docker image containing my website's files and then have a plugin for it to restart the pod that serves the website so it fetches the latest image.
K8s is that “restart” mechanism.
Docker images are just the thing that it restarts.
Docker itself or “docker compose” can restart images and do everything you need, but if you want to go the full k8s it’s complicated but great learning
One simple way to pull the new image into your cluster is to overwrite the
latesttag, specifyimagePullPolicy: Alwaysin your deployment and then usekubectl rollout restart deployment my-static-sitefrom within your pipeline. Kubernetes will then terminate all pods and replace them with new ones that pull the latest image.You can also work with versioned tags and
kubectl set image deployment/my-static-site site=my/image:version. This might be a bit nicer and allowsimagePullPolicy: IfNotPresent, but you have to pass your version number into your pipeline somehow, e.g. with git tags.