diff --git a/.gitignore b/.gitignore index b4cba438..d5cc3093 100644 --- a/.gitignore +++ b/.gitignore @@ -35,7 +35,6 @@ pickle-email-*.html .env.development .env.test .env.local -docker-compose.yml docker-compose.override.yml .DS_Store .byebug_history diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index c0339be7..26af8a1f 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -27,6 +27,17 @@ based development environment, based on [docker](https://www.docker.com/) and [docker-compose](https://docs.docker.com/compose/). Here's a step by step guide how to set it up. +**WARNING**: Since we mount the repository into our container, your user id and +the id of the osem user inside the container need to be the same. If your user +id (`id -u`) is something else than `1000` you can copy the docker-compose +override example file and in it, set your user id in the variable +*CONTAINER_USERID*. + +```bash +sed "s/13042/`id -u`/" docker-compose.override.yml.example > docker-compose.override.yml +``` + + 1. Set up the development environment: ```bash docker-compose run --rm osem bundle exec rake setup:bootstrap @@ -54,13 +65,6 @@ how to set it up. docker-compose exec osem_1 /bin/bash -l ``` -**WARNING**: Since we mount the repository into our container, your user id and the id of the osem user inside the container need to be the same. If your user id (`id -u`) is something else than `1000` you can copy the docker-compose override example file and in it, set your user id in the variable -*CONTAINER_USERID*. - -```bash -cp docker-compose.override.yml.example docker-compose.override.yml -``` - ### with Vagrant Another option is using [Vagrant](https://www.vagrantup.com/) and [VirtualBox 5.0.10](https://www.virtualbox.org/wiki/Download_Old_Builds_5_0) to create your development environment. diff --git a/bin/osem-init.sh b/bin/osem-init.sh index 3b03cd20..476469d0 100755 --- a/bin/osem-init.sh +++ b/bin/osem-init.sh @@ -1,3 +1,5 @@ #!/bin/bash +# Setup the app if it isn't already setup bundle exec rake setup:bootstrap -foreman start +# Start the app +foreman start -p 3000 diff --git a/docker-compose.yml.dev-example b/docker-compose.yml similarity index 70% rename from docker-compose.yml.dev-example rename to docker-compose.yml index a255c391..3d6fa7b2 100644 --- a/docker-compose.yml.dev-example +++ b/docker-compose.yml @@ -5,13 +5,15 @@ services: image: postgres environment: PGDATA: /var/lib/postgresql/data/pgdata - web: - build: . - # env_file: dotenv.example + osem: + build: + context: . + args: + CONTAINER_USERID: 1000 command: /osem/bin/osem-init.sh depends_on: - database ports: - - 5000:5000 + - 3000:3000 volumes: - .:/osem diff --git a/docker-compose.yml.production-example b/docker-compose.yml.production-example index c682aa1b..e15206d8 100644 --- a/docker-compose.yml.production-example +++ b/docker-compose.yml.production-example @@ -7,21 +7,23 @@ services: PGDATA: /var/lib/postgresql/data/pgdata volumes: - database:/var/lib/postgresql/data/pgdata - web: + osem: build: . dockerfile: Dockerfile.production env_file: .env.production # see dotenv.example file depends_on: - database ports: - - 5000:5000 + - 3000:3000 volumes: - .:/osem - web-data:/osem/public/system + - web-assets:/osem/public/assets - web-logs:/osem/log # named volumes to persist data volumes: database: web-data: + web-assets: web-logs: