Docker setup is broken across main and multiple release tags (missing Dockerfiles, invalid build contexts, workspace build failure) #167
Closed
sinux095-ops
started this conversation in
General
Replies: 1 comment
|
the current versions core 1.8.1. and ui 1.0 build well from the repo, if you are on a ubuntu vm 24.04.1 and have node pinned to v24.4.1. On the older version, I have also wasted a lot of time figuring a reliable build out.
The '^' is the problem, it includes potentially a new 1.8.x base and the whole build fails.
Hope this helps |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
I tried to run CitrineOS using the provided Swarm/docker-compose.yml on a clean setup, but the project is currently not runnable via Docker on main or several recent release tags.
This appears to be a repository configuration issue, not a platform-specific one. I reproduced it on macOS (Apple Silicon), but the problems are structural and would affect other environments as well.
Environment
OS: macOS (Apple Silicon / ARM64)
Docker Desktop: latest
Git: latest
Node (host): 18.x / 22.x
Tags/branches tested:
main
v1.6.0
v1.5.1
v1.4.3
Expected behavior
Following the repo structure and documentation, running:
cd Swarm
docker compose up
should start:
PostgreSQL
RabbitMQ
Redis
Directus
CitrineOS services (ports 8080–8087)
Actual behavior
Docker fails during build due to multiple blocking issues.
Examples from Swarm/docker-compose.yml:
dockerfile: ./Swarm/docker/Dockerfile
dockerfile: ./docker/redis/Dockerfile
dockerfile: .deploy.Dockerfile
These paths/directories do not exist in:
main
v1.6.0
v1.5.1
v1.4.3
The only Dockerfile present under Swarm/ is:
Swarm/local.Dockerfile
Example:
build:
context: .DirectusExtensions
Since docker-compose.yml lives in Swarm/, Docker resolves this as:
Swarm/.DirectusExtensions
But the actual directory is:
/DirectusExtensions
The correct context (relative to Swarm/) should be:
context: ../DirectusExtensions
Docker resolves dockerfile paths relative to the build context, not the compose file.
Because of this mismatch, errors like the following occur even when files exist:
failed to read dockerfile: open local.Dockerfile: no such file or directory
After patching Dockerfile paths and contexts locally to get the build to proceed, the process fails with:
Error: No workspaces found!
This happens because:
local.Dockerfile runs:
npm install --workspaces
But the Docker build context does not include the repo root package.json
Therefore npm cannot detect any workspaces
This indicates a design mismatch between:
docker-compose.yml
local.Dockerfile
the monorepo workspace structure
Conclusion
The Docker setup is not runnable out of the box
The issue is repo-wide, not macOS/ARM-specific
Multiple release tags and main are affected
Running CitrineOS via Docker currently requires manual patching and guesswork
Suggested next steps (maintainer guidance needed)
It would help to clarify or fix one of the following:
Align docker-compose.yml and Dockerfiles so that:
All referenced Dockerfiles exist
Build contexts are correct relative to the compose location
Clearly document:
Expected build context (repo root vs Swarm/)
Supported way to run CitrineOS via Docker
Provide at least one validated, runnable Docker setup for a supported tag
All reactions