{"id":19446026,"url":"https://github.com/nerdgeschoss/development-environment","last_synced_at":"2026-06-13T02:01:47.706Z","repository":{"id":43661960,"uuid":"352620834","full_name":"nerdgeschoss/development-environment","owner":"nerdgeschoss","description":"Dependencies for nerdgeschoss Projects","archived":false,"fork":false,"pushed_at":"2026-04-17T09:54:21.000Z","size":43,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":5,"default_branch":"main","last_synced_at":"2026-04-17T11:34:08.158Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nerdgeschoss.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-03-29T11:35:54.000Z","updated_at":"2026-04-17T09:54:25.000Z","dependencies_parsed_at":"2024-01-04T10:32:41.313Z","dependency_job_id":"9975a5f4-8a83-4fb2-8404-2c98dd96c8e2","html_url":"https://github.com/nerdgeschoss/development-environment","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/nerdgeschoss/development-environment","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nerdgeschoss%2Fdevelopment-environment","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nerdgeschoss%2Fdevelopment-environment/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nerdgeschoss%2Fdevelopment-environment/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nerdgeschoss%2Fdevelopment-environment/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nerdgeschoss","download_url":"https://codeload.github.com/nerdgeschoss/development-environment/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nerdgeschoss%2Fdevelopment-environment/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34269364,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-13T02:00:06.617Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-10T16:12:32.840Z","updated_at":"2026-06-13T02:01:47.691Z","avatar_url":"https://github.com/nerdgeschoss.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# nerdgeschoss Development Environment\n\nThis project contains all dependencies and services required by other nerdgeschoss projects. To run all needed versions of PostgreSQL, MySQL, and other databases, run\n\n    docker compose up\n\n### Auto-Start Mode\n\nTo have the environment start automatically when _Docker_ start, execute the following command once.\n\n    docker compose up -d\n\nThis starts them in _detached mode_ which makes them run in the background and start (and re-start on failure) automatically.\n\nThis is useful in a scenario where you don't want to have a terminal tab dedicated to it and you can then, after starting _Docker_, skip the whole _starting the environment manually_ step.\n\nWhen the content of the `docker-compose.yml` file change, you need to run the command again for _Docker_ to pick up the modifications and run the latest versions and configurations available.\n\n# Setting up a Rails Application\n\nHere we will go over how to setup rails for the first time on your machine.\n\nWe will mostly follow Rails [Getting Started Guide](https://guides.rubyonrails.org/getting_started.html) with some changes.\n\n## rbenv\n\nFirst thing we need is a version manager for Ruby. We use rbenv at nerdgeschoss.\n\n    brew install rbenv\n\nYou can check your ruby version by typing this in your project folder:\n\n    ruby --version\n\nIf a version is not installed, you can add it by `rbenv install x.x.x`.\n\n## Rails\n\nNow let’s install Rails.\n\n    gem install rails\n\nSteps 3, 4 and 5 can be done in parallel.\n\n## bundle\n\nNow we need to install the dependencies, for that we use `bundler` (newer versions of ruby already have this preinstalled).\n\nIf this is your first time setting up a rails project you will need to install it.\n\n    gem install bundle\n\nThen you will need to run this to install the ruby dependencies.\n\n    bundle install\n\n### MySQL Troubleshooting\n\nDuring the bundle install you may face an error with mysql, in that case just follow the instructions on the error.\n\nTo install MySQL:\n\n    brew install mysql\n\nIf `bundle install` fails with `ld: library not found for -lzstd`, follow the instructions of [this post](https://stackoverflow.com/a/67877734).\n\nAlternatively, try:\n\n```bash\nls -la $(which mysql)\n```\n\nThat gives you where the `mysql` binary is, something like `/usr/local/bin/mysql -\u003e ../Cellar/mysql/8.0.28/bin/mysql`,\nmeaning that your `mysql` install is in `/usr/local/Cellar/mysql/8.0.28`.\n\nUse that path for the next command.\n\n```bash\ngem install mysql2 -v '0.5.3' -- \\\n --with-mysql-lib=/usr/local/Cellar/mysql/8.0.28/lib \\\n --with-mysql-dir=/usr/local/Cellar/mysql/8.0.28 \\\n --with-mysql-config=/usr/local/Cellar/mysql/8.0.28/bin/mysql_config \\\n --with-mysql-include=/usr/local/Cellar/mysql/8.0.28/include\n```\n\n### PostgreSQL (PSQL) Troubleshooting\n\nIf `bundle install` fails for the GEM `pg`, install `postgresql`:\n\n    brew install postgresql\n\n## docker-compose\n\nNow to setup we development environment we use `docker-compose`.\n\n    docker-compose up\n\n## yarn\n\nNow to install the Javascript dependencies we use `yarn`.\n\nTo install it:\n\n    npm install -g yarn\n\nTo resolve dependencies of a project:\n\n    yarn\n\n## Database\n\nNow let’s setup up the database.\n\nFirst we create the database.\n\n    rails db:create\n\nThen we will run the migrations to update the database to the latest schema.\n\n    rails db:migrate\n\nThen we will seed our database with fake data for testing.\n\n    rake db:seed\n\nIf you are interested in finding out what is going on behind the scenes (because it’s doing a lot and you will feel like the process just hanged) you can use `tail log/development.log` to hook into and view the log file.\n\n## Rails Server\n\nNow that we have everything setup we can finally start the server.\n\n    rails s\n\nThe default app port is `3000`, so if you navigate to [localhost:3000](https://localhost:3000) you should see a page (depending on the project).\n\n## guard\n\nWith the above setup we will see our code changes when we refresh the page, but to make our development life easier we will also do the following.\n\nRun `guard` to watch for changed files, reload our website on change and re-run tests if the file had a corresponding spec.\n\n    guard\n\nRun a `webpack` dev server to make our javascript updates faster.\n\n    bin/webpack-dev-server\n\nWith that in place you can start developing.\n\n# Feature Specific Installations:\n\n## imagemagick\n\nIf the project deals with images, you will need to install the `imagemagick` native Mac libarary.\n\n    brew install imagemagick\n\n# Creating a new Rails App\n\nUse the supplied application generator:\n\n```bash\nrails new YOUR_APP_NAME --database=postgresql --skip-jbuilder --skip-test --javascript=esbuild --skip-bundle --force --template=https://raw.githubusercontent.com/nerdgeschoss/development-environment/main/rails-template.rb\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnerdgeschoss%2Fdevelopment-environment","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnerdgeschoss%2Fdevelopment-environment","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnerdgeschoss%2Fdevelopment-environment/lists"}