Skip to content

Python 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 your 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: django. If you don't use Django and don't need its locations, you can replace the preset to http-proxy.

OpenSMTPD

See OpenSMTPD stack documentation.

PostgreSQL

See PostgreSQL stack documentation.

Redis

See Redis stack documentation.

Drupal

See Drupal stack documentation.

Rsyslog

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

Python

Python can be configured with the following environment variables. By default the container starts Gunicorn HTTP server.

Varnish

See Varnish stack documentation.