/docker-static-server

Customizable and performant static file server - powered by Nginx

Primary LanguageDockerfileMIT LicenseMIT

Docker Static Server

CI

Customizable and performant static file server - powered by Nginx.

Note: This container is designed for hosting static files, rather than for serving a static site. For that, check out docker-website-server.

"Why not just use nginx:alpine?"

If you're not really bothered, the default nginx container will work just fine for you, however this container has a few modifications which make it more suited to serving static files:

  • Use environment variables for customization
  • Healthcheck endpoint
  • GZIP all files
  • Use X-Forwarded-For header when getting client IP

Nginx makes a brilliant file server regardless of how you use it.

Usage

version: "2.3"

services:
  static:
    image: theorangeone/static-server:latest
    volumes:
      - ".:/srv:ro"
    ports:
      - "80:80"

The server will serve files in the /srv directory. This directory can be mounted read-only.

Customization

This image supports some customizations:

  • $INDEX (on / off): Enable file listing, powered by autoindex
  • $FANCY_INDEX (on / off): Enable file listing, powered by fancy_index
  • $PUID: Set the user nginx runs as (default 1000)

If you'd rather add some additional configuration yourself, you can mount an additional nginx config at /etc/nginx/extra.conf, which will be included in the primary config.