Hi, I think it would make much sense if this repository provided a Docker image with all the database/backend related stuff setup so that people that want to contribute can simply run the image and hook the local frontend to it.
What do you think?
Haha that's exactly what @fubhy just started tackling :laughing: The only reason it doesn't exist yet is because I don't know Docker.
Assign me!
Can't assign non-collaborators on GitHub :cry: It's yours!
I've started work on this in #2793
In case someone is interested in already giving this a shot. Checkout the PR branch locally and make sure that you don't have any of the ports from 3000 to 3010 or Redis or RethinkDB running locally.
make bootstrap
make start
Doesn't spin up the react related services yet (SSR and frontend). But the rest is there.
In order to then populate the rethinkdb service:
docker-compose run --rm migrations yarn db:migrate
docker-compose run --rm migrations yarn db:seed
That should give you a running stack locally. You should now be able to go to http:://localhost:3001/api/graphiql for instance.
/cc @mxstbr @brianlovin
Since we are going to use Docker to develop and deploy spectrum, how about spliting this large code base into small repositories, like:
withspectrum/api
withspectrum/web
withspectrum/chronos
...
each service can be built into a Docker image and in the main repository use docker-compose to compose these services.
The monorepo setup provides a lot of good dx, especially since we're building so many things that require changes on many servers (e.g. api + frontend + a worker) - having to create and collaborate across 3 repos + 3 pull requests would be a bit of a nightmare :)
Also, we not only want to use Docker, but also Yarn workspaces. Hence keeping it in one repository is vital.
@fubhy Is there a reference issue for the Yarn workspaces?
Not yet! Mind opening one?
Will do!
Hey guys, I know @fubhy is working on moving everything inside of a Docker image, meanwhile we wanted to play around with Spectrum locally and didn't want to install RethinkDB and Redis on our machines, so we wrote this super-simple Docker stack with a disproportionately detailed README: https://github.com/DelightfulStudio/spectrum-dev-stack 馃槂
Thought I'd share it here in case someone else finds it useful.
@agurtovoy Cool, I was actually playing around with exactly this idea!
@fubhy Would be great if you could elaborate a bit what's blocking specifically this? :) 馃憞
Doesn't spin up the react related services yet (SSR and frontend). But the rest is there.
Any further progress on this ?
Hi, although seems that someone already was working on this, I took initiative to solve it.
Hope is ok.
The #2793 is much more complete and maybe should be the place where continue.
Although this gives a simpler P.O.C. with two additional component: nginx and traefik.
For running the project under an alias such as spectrum.localhost
The PR #4846 includes:
docker/binYou can try the branch out and if you have docker and make it should take you one command to run spectrum.localhost.
make up

You should also run migrations once is up with make migrate.
Hope this can help in future improvements.
Feedback is welcome.
Most helpful comment
Assign me!