Complex Docker builds with Particle container push

I'm using particles container setup for managing my home lab and its working mostly ok!
I'm running into an issue however where complex compose files are failing around the build command.
Mostly I can't seem to use a complex build string

services:
  app:
    build:
      context: ..
      dockerfile: path/dockerfile

it just throws a yamlmap error.
Building application...
The "path" argument must be of type string. Received an instance of YAMLMap
Any thoughts?

I'm working around it with some less then ideal file placement (dockerfile not next to compose etc) but its been really interesting to deal with

Hey @Geekbozu, should it be services instead of service at the top level?

Yup I just failed when making a generic example from a chunk of a compose

This is an example of a full compose. The only thing the particle container cli seems to support is that syntax
build: <string>
Anything more complex throws an error saying "unsupported type"

I'll also edit the first post to be correct :wink:

From what I can find, it looks like the Particle CLI might only support string values in the build key. You can see the sections where this takes place in the particle-cli repo.

Also, awesome repo of TachyonApps! Would you be interested in showcasing some of these projects on the blueprints gallery?

I wrote this an ran into another issue which highlighted some pain points with my setup... I left the original post as its still relevant but I got bit by missing some of the orchestration missing from this question.

Thanks!
Its been quite a bit of work to get it working the way I want.
The Storage "app" is probably the real magic tricks of the setup. With it and the sidecar init container in all the docker-composes it guarantees the SD card is available before kicking on any applications.

This lets me have the Configuration on the SD card. Deployments are "ephemeral" the OS is "ephemeral". As in I can bounce between any 24.04 or 20.04 version and all my apps (... Except wire-guard but that's a different issue) just come back online in a few minutes.

I'll make a bug report over there for the feature then it's not super critical but its quite "What is going on" when you don't actually get it, and its not super clear on the blueprint documentation which means its easy to just be outright confused.

I have no issue with anything being highlighted per say!
As the super tiny disclaimer at the bottom says this is my home lab setup its not the most security focused.
Additionally tonight efforts highlight some things I got delayed making this post over trying to add a new app...accidentally caused a reboot and having everything fall over and wanted to dig into that.

With the way I'm orchestrating things expects things to attempt to start in a certain order, I have some side cars to account for that. I came up with this as there was no way to orchestrate them via a compose file.
The lack of ability to set proper build context for other apps as well as the lack of other features like include/only pushing the single docker-compose.yml file kinda breaks a bunch of the nice features of docker-compose for designing slightly more complex architectures!


All said still really enjoying this.
The problem I ran into tonight is I installed the latest 24.04 update, which I added caddy and proved that survived a reboot but not a reflash.
Now with reflashing the device needed to pull all the images again to bootstrap it self...but the dns was missing because adguard was not running... whoops!

Just to keep my rambles in this thread.
I've also seemingly lost a bunch of containers running at some point even though I never tore them down? Kinda at a loss as to why they have just outright vanished off the tachyon and the particle dashboards.

Just some musings any thoughts would be appreciated. No logs or anything as I just noticed a bit ago and haven't fully drilled in yet.