{"id":19302136,"url":"https://github.com/wodby/ruby","last_synced_at":"2025-07-24T12:10:17.813Z","repository":{"id":39175203,"uuid":"143128160","full_name":"wodby/ruby","owner":"wodby","description":"Ruby docker container image","archived":false,"fork":false,"pushed_at":"2024-05-17T02:14:50.000Z","size":198,"stargazers_count":2,"open_issues_count":1,"forks_count":3,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-05-17T03:27:03.802Z","etag":null,"topics":["alpine","docker","ruby"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wodby.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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}},"created_at":"2018-08-01T08:38:38.000Z","updated_at":"2024-05-17T03:27:07.942Z","dependencies_parsed_at":"2023-12-02T03:22:28.445Z","dependency_job_id":"f19edab7-a873-43a8-abb7-e12776cb6b67","html_url":"https://github.com/wodby/ruby","commit_stats":null,"previous_names":[],"tags_count":76,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wodby%2Fruby","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wodby%2Fruby/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wodby%2Fruby/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wodby%2Fruby/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wodby","download_url":"https://codeload.github.com/wodby/ruby/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223894018,"owners_count":17220989,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["alpine","docker","ruby"],"created_at":"2024-11-09T23:20:03.467Z","updated_at":"2025-04-22T10:33:35.520Z","avatar_url":"https://github.com/wodby.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Ruby Docker Container Images\n\n[![Build Status](https://github.com/wodby/ruby/workflows/Build%20docker%20image/badge.svg)](https://github.com/wodby/ruby/actions)\n[![Docker Pulls](https://img.shields.io/docker/pulls/wodby/ruby.svg)](https://hub.docker.com/r/wodby/ruby)\n[![Docker Stars](https://img.shields.io/docker/stars/wodby/ruby.svg)](https://hub.docker.com/r/wodby/ruby)\n\n## Table of Contents\n\n- [Docker Images](#docker-images)\n    - [`-dev`](#-dev)\n    - [`-dev-macos`](#-dev-macos)\n    - [Supported architectures](#supported-architectures)\n- [Environment Variables](#environment-variables)\n- [Build arguments](#build-arguments)\n- [Changelog](#changelog)\n- [Gems](#gems)\n- [HTTP server](#http-server)\n    - [Puma (default)](#puma)\n    - [Unicorn](#unicorn)\n- [Crond](#crond)\n- [SSHD](#sshd)\n- [Adding SSH key](#adding-ssh-key)\n- [Complete Ruby stack](#complete-ruby-stack)\n- [Orchestration Actions](#orchestration-actions)\n\n## Docker Images\n\n❗For better reliability we release images with stability tags (`wodby/ruby:3-X.X.X`) which correspond to [git tags](https://github.com/wodby/ruby/releases). We strongly recommend using images only with stability tags.\n\nAbout images:\n\n- All images based on Alpine Linux\n- Base image: [ruby](https://github.com/docker-library/ruby)\n- [GitHub actions builds](https://github.com/wodby/ruby/actions) \n- [Docker Hub](https://hub.docker.com/r/wodby/ruby) \n\nSupported tags and respective `Dockerfile` links:\n\n- `3.4`, `3`, `latest` [_(Dockerfile)_]\n- `3.3` [_(Dockerfile)_]\n- `3.2` [_(Dockerfile)_]\n- `3.4-dev`, `3-dev`, `dev` [_(Dockerfile)_]\n- `3.3-dev` [_(Dockerfile)_]\n- `3.2-dev` [_(Dockerfile)_]\n- `3.4-dev-macos`, `3-dev-macos` [_(Dockerfile)_]\n- `3.3-dev-macos` [_(Dockerfile)_]\n- `3.2-dev-macos` [_(Dockerfile)_]\n\n[_(Dockerfile)_]: https://github.com/wodby/ruby/tree/master/Dockerfile\n\n### `-dev` \n\nImages with `-dev` tag have the following additions:\n\n- `sudo` allowed for all commands for `wodby` user\n- dev package added for additional native extensions compilation \n- `nodejs` package added (required by rails)\n\n### `-dev-macos`\n\nSame as `-dev` but the default user/group `wodby` has uid/gid `501`/`20`  to match the macOS default user/group ids.\n\n### Supported architectures\n\nAll images built for `linux/amd64`, `-dev-macos` images additionally built for `linux/arm64`\n\n## Environment Variables\n\n| Variable                          | Default value            |\n|-----------------------------------|--------------------------|\n| `GIT_USER_EMAIL`                  | `wodby@example.com`      |\n| `GIT_USER_NAME`                   | `wodby`                  |\n| `PUMA_DIRECTORY`                  | `/usr/src/app`           |\n| `PUMA_ENVIRONMENT`                | `development`            |\n| `PUMA_PRELOAD_APP`                |                          |\n| `PUMA_PRUNE_BUNDLER`              |                          |\n| `PUMA_QUIET`                      |                          |\n| `PUMA_RACKUP`                     | `/usr/src/app/config.ru` |\n| `PUMA_TAG`                        |                          |\n| `PUMA_THREADS`                    | `0, 16`                  |\n| `PUMA_WORKER_BOOT_TIMEOUT`        | `60`                     |\n| `PUMA_WORKER_TIMEOUT`             | `60`                     |\n| `PUMA_WORKERS`                    | `2`                      |\n| `RAILS_ENV`                       | `development`            |\n| `SSH_DISABLE_STRICT_KEY_CHECKING` |                          |\n| `SSH_PRIVATE_KEY`                 |                          |\n| `SSHD_GATEWAY_PORTS`              | `no`                     |\n| `SSHD_HOST_KEYS_DIR`              | `/etc/ssh`               |\n| `SSHD_LOG_LEVEL`                  | `INFO`                   |\n| `SSHD_PASSWORD_AUTHENTICATION`    | `no`                     |\n| `SSHD_PERMIT_USER_ENV`            | `no`                     |\n| `SSHD_USE_DNS`                    | `yes`                    |\n| `UNICORN_CHECK_CLIENT_CONNECTION` | `false`                  |\n| `UNICORN_DEBUG`                   |                          |\n| `UNICORN_PRELOAD_APP`             | `true`                   |\n| `UNICORN_RUN_ONCE`                | `true`                   |\n| `UNICORN_TIMEOUT`                 | `30`                     |\n| `UNICORN_WORKER_PROCESSES`        | `4`                      |\n| `UNICORN_WORKING_DIRECTORY`       | `/usr/src/app`           |\n\n## Build arguments\n\n| Argument         | Default value |\n|------------------|---------------|\n| `RUBY_DEV`       |               |\n| `WODBY_GROUP_ID` | `1000`        |\n| `WODBY_USER_ID`  | `1000`        |\n\nChange `WODBY_USER_ID` and `WODBY_GROUP_ID` mainly for local dev version of images, if it matches with existing system user/group ids the latter will be deleted.\n\n## Changelog\n\nChanges per stability tag reflected in git tags description under [releases](https://github.com/wodby/ruby/releases). \n\n## Gems\n\nTo install gems with native extensions use `-dev` image variants that contain required dev packages.\n\n## HTTP server\n\n### Puma\n\nPuma is the default HTTP server, you can configure it via `PUMA_` env vars. \n\n### Unicorn\n\nTo use Unicorn as your HTTP server override the default container command to `/etc/init.d/unicorn`. You can configure it via `UNICORN_` env vars. \n\n## Crond\n\nYou can run Crond with this image changing the command to `sudo -E crond -f -d 0` and mounting a crontab file to `./crontab:/etc/crontabs/wodby`. Example crontab file contents:\n\n```\n# min\thour\tday\tmonth\tweekday\tcommand\n*/1\t*\t*\t*\t*\techo \"test\" \u003e /mnt/files/cron\n```\n\n## SSHD\n\nYou can run SSHD with this image by changing the command to `sudo /usr/sbin/sshd -De` and mounting authorized public keys to `/home/wodby/.ssh/authorized_keys`\n\n## Adding SSH key\n\nYou can add a private SSH key to the container by mounting it to `/home/wodby/.ssh/id_rsa`\n\n## Complete Ruby stack\n\nSee https://github.com/wodby/docker4ruby\n\n## Orchestration Actions\n\nUsage:\n```\nmake COMMAND [params ...]\n\ncommands:\n    check-ready [host max_try wait_seconds delay_seconds]\n    files-import source\n    files-link public_dir \n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwodby%2Fruby","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwodby%2Fruby","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwodby%2Fruby/lists"}