<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Orçun Odabas – Blog</title><description>Guides, notes and experiences around Docker, Traefik and a self-hosted VPS platform.</description><link>https://odabas.ch/</link><language>en</language><item><title>The editor is wired into production</title><link>https://odabas.ch/en/blog/der-editor-haengt-an-der-produktion/</link><guid isPermaLink="true">https://odabas.ch/en/blog/der-editor-haengt-an-der-produktion/</guid><description>Two working copies of the same server, one of them live — how a folder that was moved instead of copied went unnoticed for seven months, until both domains went down.</description><pubDate>Sun, 27 Sep 2026 00:00:00 GMT</pubDate></item><item><title>The pipeline, under the hood</title><link>https://odabas.ch/en/blog/die-pipeline-unter-der-haube/</link><guid isPermaLink="true">https://odabas.ch/en/blog/die-pipeline-unter-der-haube/</guid><description>How this site gets built into a Docker image, pushed to a registry and swapped in on the VPS after every push — with the reasoning behind it and the gaps I left open on purpose.</description><pubDate>Sun, 27 Sep 2026 00:00:00 GMT</pubDate></item><item><title>From git push to live: the deployment pipeline in detail</title><link>https://odabas.ch/en/blog/von-git-push-zu-live-die-deployment-pipeline-im-detail/</link><guid isPermaLink="true">https://odabas.ch/en/blog/von-git-push-zu-live-die-deployment-pipeline-im-detail/</guid><description>How this site gets built into a Docker image, pushed to a registry and swapped in on the VPS after every push — with the reasoning behind it and the gaps I left open on purpose.</description><pubDate>Sun, 27 Sep 2026 00:00:00 GMT</pubDate></item><item><title>My portfolio with Astro and GitHub Actions, from idea to pipeline</title><link>https://odabas.ch/en/blog/portfolio-mit-astro-und-github-actions/</link><guid isPermaLink="true">https://odabas.ch/en/blog/portfolio-mit-astro-und-github-actions/</guid><description>From an idea to a finished site with a repository and a pipeline that builds the container image automatically, in a single day.</description><pubDate>Sat, 19 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Spring Boot, Python and a pipeline</title><link>https://odabas.ch/en/blog/06-weitere-sprachen-und-pipeline/</link><guid isPermaLink="true">https://odabas.ch/en/blog/06-weitere-sprachen-und-pipeline/</guid><description>More applications join the platform, plus an automated build and deploy flow.</description><pubDate>Sat, 19 Sep 2026 00:00:00 GMT</pubDate></item><item><title>One shared database instead of many</title><link>https://odabas.ch/en/blog/05-gemeinsame-datenbank/</link><guid isPermaLink="true">https://odabas.ch/en/blog/05-gemeinsame-datenbank/</guid><description>Several MariaDB containers become a single instance, with a backup before the switch.</description><pubDate>Mon, 14 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Certificates that actually renew</title><link>https://odabas.ch/en/blog/04-zertifikate-verlaesslich/</link><guid isPermaLink="true">https://odabas.ch/en/blog/04-zertifikate-verlaesslich/</guid><description>Renewal hooks still pointed at a container that no longer existed. I fixed them and verified the result.</description><pubDate>Mon, 07 Sep 2026 00:00:00 GMT</pubDate></item><item><title>One app, one container, one network</title><link>https://odabas.ch/en/blog/03-eine-app-ein-container/</link><guid isPermaLink="true">https://odabas.ch/en/blog/03-eine-app-ein-container/</guid><description>The shared nginx is split up per application and no longer binds a host port.</description><pubDate>Wed, 02 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Traefik as the single entry point</title><link>https://odabas.ch/en/blog/02-traefik-als-eingang/</link><guid isPermaLink="true">https://odabas.ch/en/blog/02-traefik-als-eingang/</guid><description>A reverse proxy holds ports 80 and 443 and distributes traffic to the applications.</description><pubDate>Fri, 28 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Take stock instead of starting over</title><link>https://odabas.ch/en/blog/01-bestandsaufnahme/</link><guid isPermaLink="true">https://odabas.ch/en/blog/01-bestandsaufnahme/</guid><description>A grown server without documentation goes back into a versioned Compose file, rebuilt from docker inspect.</description><pubDate>Mon, 24 Aug 2026 00:00:00 GMT</pubDate></item></channel></rss>