Project ·Internal tool ·In production
Paleta AS Production Portal
A self-hosted Flask portal that runs a small manufacturer's order lifecycle end to end, integrated with their ERP.
A small, deliberately boring deployment — a couple of containers on one host — with the operational pieces that matter handled cleanly.
Self-hosted behind Traefik
Runs on a self-hosted Linux VM behind a Traefik reverse proxy that terminates TLS, with certificates issued and renewed automatically through Let's Encrypt.
CI/CD with GHCR builds
GitHub Actions builds the container image on every push and publishes it to the GitHub Container Registry; the servers then pull that image to deploy.
Dev and prod environments
Two parallel stacks live side by side on the same host — a production environment and a separate dev environment for feature branches — each with its own database and image tag.