registry-server icon indicating copy to clipboard operation
registry-server copied to clipboard

Dockerize dev environment

Open ThomWright opened this issue 9 years ago • 5 comments

@williammartin

ThomWright avatar May 12 '15 15:05 ThomWright

Heads up, this will be a bit of a brain dump....

So what would we actually like here from a user perspective? To be able to run:

docker-compose up

and have two containers spun up, one for the registry server, one for mongodb and have them linked together?

Would we want this to be a kind of testbed where the data is ephemeral and disappears after the containers go away or keep it around even if we remove the containers? What does the Vagrant solution do?

Finally, some people prefer their docker separated from their code. We could have another repository under the jsonresume org or we can put the necessary files in this repo - any preferences?

williammartin avatar May 12 '15 15:05 williammartin

Please note: I'm coming from a position of ignorance as far as Docker goes :stuck_out_tongue:

Running docker-compose up and spinning up/linking the containers sounds good to me.

Personally I think I'm OK with it being an ephemeral test-bed if that's easier, but having it persistent would be cool.

Vagrant saves the state of your VM. Unless you destroy and re-create the VM, the data in Mongo is kept (even if you re-provision, I think).

What are the arguments for/against separating/integrating the docker stuff?

ThomWright avatar May 12 '15 16:05 ThomWright

I would be very surprised if it is difficult to make the data persistent - mostly depends on how mongo stores its data.

Arguments around separating are basically the usual coupling ones, that you end up having both build and deployment artifacts in the same repo. No big deal either way I think. Probably best to keep things together for now and split out later if necessary?

williammartin avatar May 12 '15 19:05 williammartin

Hey guys I added Dockerfile in https://github.com/jsonresume/registry-server/commit/2ec97fcdd9213f5e1a87ed554bc01ba9f2c7f9e5 and published on Docker Hub here, feel free to try and give feedback, thanks a lot!

PeterDaveHello avatar May 05 '17 19:05 PeterDaveHello

I managed to simplify the Dockerfile by using node:14 as base image.

From node:14

MAINTAINER Peter Dave Hello <[email protected]>
ENV DEBIAN_FRONTEND noninteractive

COPY . /registry-server
WORKDIR /registry-server

RUN git submodule update --init --recursive --depth 1
RUN npm install --prefix "/registry-server"

EXPOSE 3000 5000

ENTRYPOINT ["npm", "start"]

This works, but I then also discoverd that the connection to the theme server is hardcoded but because the theme server doesn't have CORS enabled, this will fail. I solved it by copying /lib/theme.js from the themeserver repository and adding the corresponding routes to server.js/ This also resulted in errors because the themes are grabbed from the / route by the editor. By updating the routes to use /theme, I now have a working combined registry-server and theme-server. For details, check this commit: https://github.com/codefornl/registry-server/commit/b20864f896b909ed2a6e5f62b30f4618a0f47e11

milovanderlinden avatar Jun 19 '20 11:06 milovanderlinden