Closed mfenner closed 9 months ago
In case you're curious ... here's how I'm building the OCI image with pandoc that I use:
https://gitlab.com/perm.pub/baseprinter/-/tree/main/oci_images
It's perhaps fancier than it needs to be in some ways (with caching and multiple layers) and too primitive in others (I manually run it).
The detail you might find interesting is how I use buildah
rather than docker
. With buildah
one has a lot more control over how packages get cached when building the image and how efficiently the image layers get stored. These images were getting bloated way past 1GB but now with buildah
and these tricks, the images are much smaller and faster to update/upload/download.
Thanks for sharing what you do. I have resolved this issue for the time being. I implemented a workflow that works for me in December. These docker images run on the fly.io service and I have a written a Dockerfile that works: https://github.com/front-matter/rogue-scholar-api/blob/main/Dockerfile
Future iterations will use multistage build and generate smaller images and I will look into what you are doing. My base image is the official Python 3.11 slim image using Debian Bookworm.
It's great to learn what tech you have chosen to use, thx for sharing. Quart and fly.io look like great upgrades from Flask and AWS I started using years ago. Definitely interested in learning from your experience.
I am particularly impressed from the fly.io homepage which states that Antarctica is a region that is coming soon! :rofl:
Thanks Castedo. My experience with fly.io so far has been very positive. Other services I heavily rely on use heavily are Supabase (Postgres) and Typesense (Search Index).
What is missing is good documentation how to install the tech stack from scratch, mainly database migrations. And a data dump of all the data.
Generate a Docker image that has Pandoc installed.