diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..c18e9cf --- /dev/null +++ b/.dockerignore @@ -0,0 +1,19 @@ +.git +.gitignore +README +doc/ +log/* +tmp/* +*.log +.DS_Store +.envrc +.ruby-gemset +.ruby-version +db/*.sqlite3 +db/schema.rb +public/assets/* +node_modules +*.swp +*.swo +*~ + diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..8ff41df --- /dev/null +++ b/Dockerfile @@ -0,0 +1,22 @@ +FROM ruby:3.3 + +RUN apt-get update -qq && \ + apt-get install -y \ + build-essential \ + sqlite3 \ + libsqlite3-dev \ + nodejs \ + && rm -rf /var/lib/apt/lists/* + +WORKDIR /app + +COPY Gemfile Gemfile.lock ./ + +RUN bundle install + +COPY . . + +EXPOSE 3000 + +CMD ["rails", "server", "-b", "0.0.0.0"] + diff --git a/README b/README index b1c2b9a..5a09661 100644 --- a/README +++ b/README @@ -14,6 +14,18 @@ Seattle.rb was the first Ruby (and Rails) user group in the world and has met re 4. Submit a pull request +== Docker == + +Start the app: +```bash +docker compose up +``` + +Get into bash: +```bash +docker compose exec web bash +``` + == License == Don't care. Do whatever you want with it. diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..8dbb9e6 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,15 @@ +services: + web: + build: . + command: bash -c "rm -f tmp/pids/server.pid && rails server -b 0.0.0.0" + volumes: + - .:/app + - bundle_cache:/usr/local/bundle + ports: + - "3000:3000" + environment: + RAILS_ENV: development + +volumes: + bundle_cache: +