Sign inSign up

kixote/typemill

By kixote

•Updated 18 days ago

OFFICIAL Docker Image for Typemill (Flat File CMS)

Image
Content management system
1

9.4K

kixote/typemill repository overview

⁠Official Docker Image for Typemill

This is the official Docker image for Typemill. Typemill is an open-source flat-file CMS for creating websites and eBooks with Markdown files. It’s commonly used for informational websites such as user manuals, documentation, knowledge bases, wikis, and handbooks.

Visit the Typemill website⁠ or the GitHub repository⁠ for more details.

⁠Features

  • Easy Local Setup: Quickly run Typemill using Docker without needing to install any dependencies.
  • Image Stack: Apache and PHP 8.5.
  • Persistence Support: Optionally persist your data, including content, media, themes, plugins, and settings, using Docker volumes.
  • Reverse Proxy Support: Proxy detection is enabled by default for deployments behind a reverse proxy.
  • No TLS Support: This image does not include TLS support. It's ideal for local development or for use behind your own proxy.

⁠Quick Start

⁠1. Pull the Docker Image

You can pull the latest Typemill Docker image from Docker Hub:

docker pull kixote/typemill
⁠2. Run Typemill without Persistence

To run Typemill on port 8080 without persistence:

docker run -d --name typemill -p 8080:80 kixote/typemill

Data will be lost when the container is removed.

⁠3. Run Typemill with Persistence

To run Typemill with persistence, mount the relevant volumes to your host machine:

docker run -d \
    --name typemill \
    -p 8080:80 \
    -v $(pwd)/typemill_data/settings/:/var/www/html/settings/ \
    -v $(pwd)/typemill_data/media/:/var/www/html/media/ \
    -v $(pwd)/typemill_data/data/:/var/www/html/data/ \
    -v $(pwd)/typemill_data/cache/:/var/www/html/cache/ \
    -v $(pwd)/typemill_data/plugins/:/var/www/html/plugins/ \
    -v $(pwd)/typemill_data/content/:/var/www/html/content/ \
    -v $(pwd)/typemill_data/themes/:/var/www/html/themes/ \
    kixote/typemill
⁠4. Using Docker Compose

If you prefer to use Docker Compose, you can use a configuration like this:

services:
  typemill:
    image: kixote/typemill
    environment:
      TYPEMILL_PROXY_DETECTION: "true"
    volumes:
      - ./typemill_data/settings/:/var/www/html/settings/
      - ./typemill_data/media/:/var/www/html/media/
      - ./typemill_data/data/:/var/www/html/data/
      - ./typemill_data/cache/:/var/www/html/cache/
      - ./typemill_data/plugins/:/var/www/html/plugins/
      - ./typemill_data/content/:/var/www/html/content/
      - ./typemill_data/themes/:/var/www/html/themes/
    ports:
      - "8080:80"

Run it with:

docker compose up -d

⁠Reverse Proxy

The Docker image enables proxy detection by default because Typemill is commonly deployed behind a reverse proxy.

Typemill uses the X-Forwarded-* headers provided by the reverse proxy to detect the original protocol and host. This allows Typemill to generate correct https:// URLs when the container itself receives HTTP traffic. Make sure your reverse proxy forwards the appropriate X-Forwarded-* headers.

The default configuration is:

environment:
  TYPEMILL_PROXY_DETECTION: "true"

You can disable proxy detection if required:

environment:
  TYPEMILL_PROXY_DETECTION: "false"

⁠Volumes

  • settings: Persists user profiles, site configuration, etc. (empty by default)
  • media: Persists media files (empty by default)
  • data: Persists cached navigation, plugin data, etc. (empty by default)
  • cache: Persists cache files and generated theme assets
  • plugins: Persists installed plugins (optional and empty by default)
  • content: Persists published content (initialized with default examples if the volume is empty)
  • themes: Persists installed themes (initialized with default examples if the volume is empty)

⁠License

Typemill is licensed under the MIT License.

Tag summary

Content type

Image

Digest

sha256:7dfb517d2…

Size

216.4 MB

Last updated

18 days ago

docker pull kixote/typemill