Skip to content

bartfeenstra/betty-nginx

Nginx for Betty 👵

Test Code coverage PyPI releases Supported Python versions Recent downloads Contributor Covenant Follow Betty on Twitter

Generate nginx and Docker artifacts for your Betty site.

Configuration

# Add to your project's configuration file:
extensions:
    nginx:
        configuration:
          https: False
          legacy_entity_redirects: True
          www_directory: /var/www

https

(optional, boolean)

Whether to support HTTPS in the public nginx configuration. Requires you to set up SSL certificates yourself.

Defaults to whether or not your project's URL uses HTTPS.

legacy_entity_redirects

(optional, boolean)

Whether to generate redirects from legacy (pre Betty 0.5) entity URLs.

www_directory

(optional, string)

The www directory to serve.

Defaults to your project's www directory.

Usage

Add the extension to your project configuration. Whenever you generate your site, nginx artifacts will be created.

Additionally, use betty nginx-generate to create these same artifacts without also generating your site.

Launch a Docker container to serve your site locally with betty nginx-serve, or betty nginx-serve --public to launch a container to serve your site publicly, over the internet.

Docker & known limitations

The Docker images do not yet support HTTPS connections. When hosting your site over HTTPS, you must use a proxy to terminate HTTPS connections and forward HTTP traffic to the container.

Artifacts

The Nginx extension generates the following artifacts relative to your project's output directory:

./nginx/content_negotiation.lua

The Lua code the nginx configuration uses for content negotiation. It must be placed in your nginx's lua_package_path.

./nginx/Dockerfle

A Docker image build manifest. You may use this to run your own containers. Nginx configuration MUST be placed in /etc/nginx/conf.d, and the WWW directory MUST exist at /var/www/betty.

./nginx/nginx.conf

Your site's public nginx configuration file. You may deploy this anywhere. You MUST configure lua_package_path. If you are using HTTPS, you MUST configure SSL certificates.

About

Nginx for Betty

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •