Skip to content

Conversation

@chuckadams
Copy link

The current architecture of start-here is to have a single docker-compose.yml file to control everything, which is a nice idea in the abstract, but runs into some basic limits in the design of docker compose, and ultimately clashes with independent development of projects which use their own compose stacks.

This uses a Justfile along with some support scripts to clone the repos of most of the active FAIR projects and do their initial setup, with a single command: just start here (you actually don't need the "here" but it looks neat). It doesn't attempt to provide a 100% turnkey "FAIR In A Box" dev infrastructure, but it'll get you 80% of the way there.

For things to really click together, most of the sub-projects are going to need their own Justfiles and/or compose stacks, but this makes things as smooth as possible with what we have.

As a bonus, the Traefik stack from the AspirePress infrastructure repo has been added and updated to the latest and greatest version and configuration (including HTTP/3 support!)

Signed-off-by: Chuck Adams <chaz@chaz.works>
Signed-off-by: Chuck Adams <chaz@chaz.works>
Signed-off-by: Chuck Adams <chaz@chaz.works>
Signed-off-by: Chuck Adams <chaz@chaz.works>
Signed-off-by: Chuck Adams <chaz@chaz.works>
Signed-off-by: Chuck Adams <chaz@chaz.works>
Signed-off-by: Chuck Adams <chaz@chaz.works>
Signed-off-by: Chuck Adams <chaz@chaz.works>
@cdils cdils marked this pull request as ready for review January 19, 2026 15:57
@cdils cdils marked this pull request as draft January 19, 2026 15:57
@cdils
Copy link
Contributor

cdils commented Jan 19, 2026

This is looking great, @chuckadams. Could you include an updated repo README to reflect your approach along with usage instructions, e.g. just start here.

@cdils
Copy link
Contributor

cdils commented Jan 20, 2026

@chuckadams I attempted to update the README while also testing the just start here process.

When running make init on aspirecloud I hit this error:

bin/dcrun sh -c "export PGPASSWORD= && psql -U  -h  -c 'drop database if exists '"
psql: error: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: No such file or directory
        Is the server running locally and accepting connections on that socket?

make: *** [drop-database] Error 2
error: Recipe `_start` failed on line 17 with exit code 2

I'm assuming that's because I don't have a db running? I'm wondering if there might be other "gotchas" in the setup that assume things I don't already have locally.

@chuckadams
Copy link
Author

@cdils I don't have healthchecks on the postgres service in AC, so make init is hitting a race condition where the database isn't ready yet. Try it again, it usually works the second time. I'll see about fixing the healthcheck in AC to prevent that in the future.

else
git clone "$repo" "$@"
echo "Successfully cloned $repo to $dest"
[[ -n ${NO_INSTALL_HOOK:-} ]] || cp -v ../meta/bin/git-signoff-hook "$dest"/.git/hooks/prepare-commit-msg
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There’s one wee bug to note: if just start here fails the first time like it did for me, the git sign-off hook doesn’t trigger on re-run.

From @chuckadams in slack:

i should just have it check after whether the hook exists instead.
since i might have captainhook take care of hook management at some point

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants