Skip to content

Ruby stack containers

AthenaPDF

See AthenaPDF stack documentation.

Mailhog

If Mailhog service enabled and chosen as Mail delivery service at [Instance] > Stack > Settings all outbound email will be caught by the Mailhog. You can view and release these emails from Mailhog UI, the URL can be found from Domains tab. When release specify opensmtpd in SMTP server field if you want to release emails to the default Mail transfer agent (OpenSMTPD).

MariaDB

See MariaDB stack documentation.

Memcached

You can check the status of memcached and its hits by running the following command.

watch "echo stats | nc 127.0.0.1 11211"

Node.js

Light-weight node.js container to help you build your application's frontend. The containers comes without any global pre-installed packages, you can add them by running yarn global add PACKAGE or by running yarn in a directory with your package.json file.

Nginx

Nginx can be configured with the following environment variables

Restarting nginx as default user:

sudo nginx -s reload

Do not gzip pages in your application

We already gzip content on Nginx side and it works faster. Having double gzip may cause issues.

Modules

Installed nginx modules.

PageSpeed

Nginx comes with mod_pagespeed which is disabled by default. To enable it add NGINX_PAGESPEED_ENABLED=1 environment variable to Nginx service. For more details see https://github.com/wodby/pagespeed.

ModSecurity + OWASP

Nginx comes with ModSecurity which is disabled by default. To enable it add NGINX_MODSECURITY_ENABLED=1 environment variable to Nginx service. For more details see https://github.com/wodby/modsecurity.

Custom config

If a config preset and available environment variables are not enough for your customizations you can use you own virtual host config:

  1. Copy /etc/nginx/conf.d/vhost.conf to your codebase, adjust to your needs
  2. Deploy code with your config file
  3. Add new environment variable NGINX_CONF_INCLUDE for nginx service, the value should the path to your *.conf file (e.g. /var/www/html/vhost.conf). The specified file will be included in /etc/nginx/nginx.conf

Default virtual host preset: http-proxy

OpenSMTPD

See OpenSMTPD stack documentation.

PostgreSQL

See PostgreSQL stack documentation.

Redis

See Redis stack documentation.

Rsyslog

Rsyslog can be used to stream your applications logs. It's similar to using syslog, however there's no syslog in Ruby container (one process per container). Rsyslog will stream all incoming logs to a container output.

Ruby

Ruby can be configured with the following environment variables. By default the container starts Puma HTTP server.

Sidekiq

A duplicate of the main Ruby container runs with Sidekiq (instead of HTTP server).

Varnish

See Varnish stack documentation.