#
tokens: 49884/50000 13/1033 files (page 4/25)
lines: on (toggle) GitHub
raw markdown copy reset
This is page 4 of 25. Use http://codebase.md/id/docs/get_started/create/basic_markup.html?lines=true&page={x} to view the full context.

# Directory Structure

```
├── .ci
│   ├── check-markdownfmt.sh
│   ├── check-metadata.sh
│   ├── check-pr-no-readme.sh
│   ├── check-required-files.sh
│   ├── check-short.sh
│   ├── check-ymlfmt.sh
│   └── get-markdownfmt.sh
├── .common-templates
│   ├── maintainer-community.md
│   ├── maintainer-docker.md
│   ├── maintainer-hashicorp.md
│   └── maintainer-influxdata.md
├── .dockerignore
├── .github
│   └── workflows
│       └── ci.yml
├── .template-helpers
│   ├── arches.sh
│   ├── autogenerated-warning.md
│   ├── compose.md
│   ├── generate-dockerfile-links-partial.sh
│   ├── generate-dockerfile-links-partial.tmpl
│   ├── get-help.md
│   ├── issues.md
│   ├── license-common.md
│   ├── template.md
│   ├── variant-alpine.md
│   ├── variant-default-buildpack-deps.md
│   ├── variant-default-debian.md
│   ├── variant-default-ubuntu.md
│   ├── variant-onbuild.md
│   ├── variant-slim.md
│   ├── variant-windowsservercore.md
│   ├── variant.md
│   └── variant.sh
├── adminer
│   ├── compose.yaml
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── aerospike
│   ├── content.md
│   ├── github-repo
│   ├── issues.md
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── almalinux
│   ├── content.md
│   ├── github-repo
│   ├── issues.md
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── alpine
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── alt
│   ├── content.md
│   ├── github-repo
│   ├── issues.md
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── amazoncorretto
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── amazonlinux
│   ├── content.md
│   ├── github-repo
│   ├── issues.md
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── api-firewall
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.svg
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── arangodb
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── archlinux
│   ├── content.md
│   ├── github-repo
│   ├── issues.md
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── backdrop
│   ├── compose.yaml
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── bash
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── bonita
│   ├── compose.yaml
│   ├── content.md
│   ├── get-help.md
│   ├── github-repo
│   ├── issues.md
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── buildpack-deps
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── busybox
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   ├── README.md
│   ├── variant-glibc.md
│   ├── variant-musl.md
│   ├── variant-uclibc.md
│   └── variant.md
├── caddy
│   ├── content.md
│   ├── get-help.md
│   ├── github-repo
│   ├── license.md
│   ├── logo-120.png
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── cassandra
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── chronograf
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── cirros
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── clearlinux
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── clefos
│   ├── content.md
│   ├── deprecated.md
│   ├── github-repo
│   ├── issues.md
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── clickhouse
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.svg
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── clojure
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── composer
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── convertigo
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── couchbase
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── couchdb
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── crate
│   ├── content.md
│   ├── get-help.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.svg
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── dart
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.svg
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── debian
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   ├── README.md
│   ├── variant-slim.md
│   └── variant.md
├── docker
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   ├── README.md
│   ├── variant-rootless.md
│   └── variant-windowsservercore.md
├── Dockerfile
├── drupal
│   ├── compose.yaml
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.svg
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   ├── README.md
│   └── variant-fpm.md
├── eclipse-mosquitto
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── eclipse-temurin
│   ├── content.md
│   ├── get-help.md
│   ├── github-repo
│   ├── issues.md
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── eggdrop
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── elasticsearch
│   ├── compose.yaml
│   ├── content.md
│   ├── get-help.md
│   ├── github-repo
│   ├── issues.md
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   ├── README.md
│   └── variant-alpine.md
├── elixir
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── emqx
│   ├── content.md
│   ├── get-help.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.svg
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── erlang
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── fedora
│   ├── content.md
│   ├── github-repo
│   ├── issues.md
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── flink
│   ├── content.md
│   ├── get-help.md
│   ├── github-repo
│   ├── issues.md
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── fluentd
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── friendica
│   ├── compose.yaml
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.svg
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── gazebo
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── gcc
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── generate-repo-stub-readme.sh
├── geonetwork
│   ├── compose.yaml
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   ├── README.md
│   ├── variant-postgres.md
│   └── variant.md
├── get-categories.sh
├── ghost
│   ├── compose.yaml
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── golang
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   ├── README.md
│   ├── variant-alpine.md
│   └── variant-tip.md
├── gradle
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── groovy
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── haproxy
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── haskell
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   ├── README.md
│   └── variant-slim.md
├── haxe
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── hello-world
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   ├── README.md
│   └── update.sh
├── hitch
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── httpd
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── hylang
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── ibm-semeru-runtimes
│   ├── content.md
│   ├── github-repo
│   ├── issues.md
│   ├── license.md
│   ├── logo.svg
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── ibmjava
│   ├── content.md
│   ├── get-help.md
│   ├── github-repo
│   ├── issues.md
│   ├── license.md
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── influxdb
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   ├── README.md
│   ├── variant-data.md
│   └── variant-meta.md
├── irssi
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── jetty
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── joomla
│   ├── compose.yaml
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── jruby
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── julia
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── kapacitor
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── kibana
│   ├── compose.yaml
│   ├── content.md
│   ├── get-help.md
│   ├── github-repo
│   ├── issues.md
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── kong
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── krakend
│   ├── content.md
│   ├── get-help.md
│   ├── github-repo
│   ├── license.md
│   ├── logo-120.png
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── LICENSE
├── lightstreamer
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── liquibase
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── logstash
│   ├── content.md
│   ├── get-help.md
│   ├── github-repo
│   ├── issues.md
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   ├── README.md
│   └── variant-alpine.md
├── mageia
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── mariadb
│   ├── compose.yaml
│   ├── content.md
│   ├── get-help.md
│   ├── github-repo
│   ├── issues.md
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── markdownfmt.sh
├── matomo
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── maven
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── mediawiki
│   ├── compose.yaml
│   ├── content.md
│   ├── github-repo
│   ├── issues.md
│   ├── license.md
│   ├── logo.svg
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── memcached
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── metadata.json
├── metadata.sh
├── mongo
│   ├── compose.yaml
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── mongo-express
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── monica
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.svg
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── mono
│   ├── content.md
│   ├── deprecated.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── mysql
│   ├── compose.yaml
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── nats
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── neo4j
│   ├── content.md
│   ├── get-help.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── neurodebian
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── nextcloud
│   ├── content.md
│   ├── deprecated.md
│   ├── github-repo
│   ├── license.md
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── nginx
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   ├── README.md
│   └── variant-perl.md
├── node
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── notary
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── odoo
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── open-liberty
│   ├── content.md
│   ├── get-help.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── openjdk
│   ├── content.md
│   ├── deprecated.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   ├── README.md
│   ├── variant-alpine.md
│   ├── variant-oracle.md
│   └── variant-slim.md
├── oraclelinux
│   ├── content.md
│   ├── get-help.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   ├── README.md
│   └── variant-slim.md
├── orientdb
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── parallel-update.sh
├── percona
│   ├── compose.yaml
│   ├── content.md
│   ├── github-repo
│   ├── issues.md
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── perl
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── photon
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── php
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   ├── README.md
│   ├── variant-apache.md
│   ├── variant-cli.md
│   ├── variant-fpm.md
│   └── variant.md
├── php-zendserver
│   ├── content.md
│   ├── deprecated.md
│   ├── github-repo
│   ├── issues.md
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── phpmyadmin
│   ├── compose.yaml
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── plone
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.svg
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── postfixadmin
│   ├── compose.yaml
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   ├── README.md
│   ├── variant-apache.md
│   ├── variant-fpm-alpine.md
│   └── variant-fpm.md
├── postgres
│   ├── compose.yaml
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── push.pl
├── push.sh
├── pypy
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── python
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   ├── README.md
│   └── variant-slim.md
├── r-base
│   ├── content.md
│   ├── github-repo
│   ├── issues.md
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── rabbitmq
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── rakudo-star
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── README.md
├── redis
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── redmine
│   ├── compose.yaml
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── registry
│   ├── content.md
│   ├── get-help.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── rethinkdb
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── rocket.chat
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.svg
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── rockylinux
│   ├── content.md
│   ├── github-repo
│   ├── issues.md
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── ros
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── ruby
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── rust
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── sapmachine
│   ├── content.md
│   ├── get-help.md
│   ├── github-repo
│   ├── issues.md
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── satosa
│   ├── content.md
│   ├── get-help.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.svg
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── scratch
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── silverpeas
│   ├── content.md
│   ├── get-help.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── solr
│   ├── content.md
│   ├── get-help.md
│   ├── github-repo
│   ├── issues.md
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── sonarqube
│   ├── content.md
│   ├── get-help.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── spark
│   ├── content.md
│   ├── get-help.md
│   ├── github-repo
│   ├── issues.md
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── spiped
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── storm
│   ├── compose.yaml
│   ├── content.md
│   ├── get-help.md
│   ├── github-repo
│   ├── issues.md
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── swift
│   ├── content.md
│   ├── get-help.md
│   ├── github-repo
│   ├── issues.md
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── swipl
│   ├── content.md
│   ├── get-help.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── teamspeak
│   ├── compose.yaml
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── telegraf
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── tomcat
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── tomee
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── traefik
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   ├── README.md
│   └── variant-alpine.md
├── ubuntu
│   ├── content.md
│   ├── github-repo
│   ├── issues.md
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── unit
│   ├── content.md
│   ├── get-help.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.svg
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── update.sh
├── varnish
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── websphere-liberty
│   ├── content.md
│   ├── get-help.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── wordpress
│   ├── compose.yaml
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   ├── README.md
│   ├── variant-cli.md
│   └── variant-fpm.md
├── xwiki
│   ├── content.md
│   ├── get-help.md
│   ├── github-repo
│   ├── issues.md
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   └── README.md
├── ymlfmt.sh
├── yourls
│   ├── compose.yaml
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.svg
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   ├── README.md
│   └── variant-fpm.md
├── znc
│   ├── content.md
│   ├── github-repo
│   ├── license.md
│   ├── logo.png
│   ├── maintainer.md
│   ├── metadata.json
│   ├── README-short.txt
│   ├── README.md
│   └── variant-slim.md
└── zookeeper
    ├── compose.yaml
    ├── content.md
    ├── github-repo
    ├── license.md
    ├── logo.png
    ├── maintainer.md
    ├── metadata.json
    ├── README-short.txt
    └── README.md
```

# Files

--------------------------------------------------------------------------------
/jruby/README.md:
--------------------------------------------------------------------------------

```markdown
  1 | <!--
  2 | 
  3 | ********************************************************************************
  4 | 
  5 | WARNING:
  6 | 
  7 |     DO NOT EDIT "jruby/README.md"
  8 | 
  9 |     IT IS AUTO-GENERATED
 10 | 
 11 |     (from the other files in "jruby/" combined with a set of templates)
 12 | 
 13 | ********************************************************************************
 14 | 
 15 | -->
 16 | 
 17 | # Quick reference
 18 | 
 19 | -	**Maintained by**:  
 20 | 	[the Docker Community](https://github.com/jruby/docker-jruby)
 21 | 
 22 | -	**Where to get help**:  
 23 | 	[the Docker Community Slack](https://dockr.ly/comm-slack), [Server Fault](https://serverfault.com/help/on-topic), [Unix & Linux](https://unix.stackexchange.com/help/on-topic), or [Stack Overflow](https://stackoverflow.com/help/on-topic)
 24 | 
 25 | # Supported tags and respective `Dockerfile` links
 26 | 
 27 | -	[`latest`, `10`, `10.0`, `10.0.0`, `10.0-jre`, `10.0-jre21`, `10.0.0-jre`, `10.0.0-jre21`, `10.0.0.1`, `10.0.0.1-jre`, `10.0.0.1-jre21`](https://github.com/jruby/docker-jruby/blob/fc0883dada1cb29607c6a8aa7edce14aac7642e0/10.0/jre21/Dockerfile)
 28 | 
 29 | -	[`10-jdk`, `10-jdk21`, `10.0-jdk`, `10.0-jdk21`, `10.0.0-jdk`, `10.0.0-jdk21`, `10.0.0.1-jdk`, `10.0.0.1-jdk21`](https://github.com/jruby/docker-jruby/blob/fc0883dada1cb29607c6a8aa7edce14aac7642e0/10.0/jdk21/Dockerfile)
 30 | 
 31 | -	[`10.0-jre24`, `10.0.0-jre24`, `10.0.0.1-jre24`](https://github.com/jruby/docker-jruby/blob/fc0883dada1cb29607c6a8aa7edce14aac7642e0/10.0/jre24/Dockerfile)
 32 | 
 33 | -	[`10.0-jdk24`, `10.0.0-jdk24`, `10.0.0.1-jdk24`](https://github.com/jruby/docker-jruby/blob/fc0883dada1cb29607c6a8aa7edce14aac7642e0/10.0/jdk24/Dockerfile)
 34 | 
 35 | -	[`9`, `9.4`, `9.4.12`, `9.4-jre`, `9.4-jre8`, `9.4.12-jre`, `9.4.12-jre8`, `9.4.12.1`, `9.4.12.1-jre`, `9.4.12.1-jre8`](https://github.com/jruby/docker-jruby/blob/fc0883dada1cb29607c6a8aa7edce14aac7642e0/9.4/jre8/Dockerfile)
 36 | 
 37 | -	[`9-jdk`, `9-jdk8`, `9.4-jdk`, `9.4-jdk8`, `9.4.12-jdk`, `9.4.12-jdk8`, `9.4.12.1-jdk`, `9.4.12.1-jdk8`](https://github.com/jruby/docker-jruby/blob/fc0883dada1cb29607c6a8aa7edce14aac7642e0/9.4/jdk8/Dockerfile)
 38 | 
 39 | -	[`9.4-jre11`, `9.4.12-jre11`, `9.4.12.1-jre11`](https://github.com/jruby/docker-jruby/blob/fc0883dada1cb29607c6a8aa7edce14aac7642e0/9.4/jre11/Dockerfile)
 40 | 
 41 | -	[`9.4-jdk11`, `9.4.12-jdk11`, `9.4.12.1-jdk11`](https://github.com/jruby/docker-jruby/blob/fc0883dada1cb29607c6a8aa7edce14aac7642e0/9.4/jdk11/Dockerfile)
 42 | 
 43 | -	[`9.4-jdk17`, `9.4.12-jdk17`, `9.4.12.1-jdk17`](https://github.com/jruby/docker-jruby/blob/fc0883dada1cb29607c6a8aa7edce14aac7642e0/9.4/jdk17/Dockerfile)
 44 | 
 45 | -	[`9.4-jre17`, `9.4.12-jre17`, `9.4.12.1-jre17`](https://github.com/jruby/docker-jruby/blob/fc0883dada1cb29607c6a8aa7edce14aac7642e0/9.4/jre17/Dockerfile)
 46 | 
 47 | -	[`9.4-jdk21`, `9.4.12-jdk21`, `9.4.12.1-jdk21`](https://github.com/jruby/docker-jruby/blob/fc0883dada1cb29607c6a8aa7edce14aac7642e0/9.4/jdk21/Dockerfile)
 48 | 
 49 | -	[`9.4-jre21`, `9.4.12-jre21`, `9.4.12.1-jre21`](https://github.com/jruby/docker-jruby/blob/fc0883dada1cb29607c6a8aa7edce14aac7642e0/9.4/jre21/Dockerfile)
 50 | 
 51 | -	[`9.3`, `9.3.15`, `9.3-jre`, `9.3-jre8`, `9.3.15-jre`, `9.3.15-jre8`, `9.3.15.0`, `9.3.15.0-jre`, `9.3.15.0-jre8`](https://github.com/jruby/docker-jruby/blob/fc0883dada1cb29607c6a8aa7edce14aac7642e0/9.3/jre8/Dockerfile)
 52 | 
 53 | -	[`9.3-jdk`, `9.3-jdk8`, `9.3.15-jdk`, `9.3.15-jdk8`, `9.3.15.0-jdk`, `9.3.15.0-jdk8`](https://github.com/jruby/docker-jruby/blob/fc0883dada1cb29607c6a8aa7edce14aac7642e0/9.3/jdk8/Dockerfile)
 54 | 
 55 | -	[`9.3-jre11`, `9.3.15-jre11`, `9.3.15.0-jre11`](https://github.com/jruby/docker-jruby/blob/fc0883dada1cb29607c6a8aa7edce14aac7642e0/9.3/jre11/Dockerfile)
 56 | 
 57 | -	[`9.3-jdk11`, `9.3.15-jdk11`, `9.3.15.0-jdk11`](https://github.com/jruby/docker-jruby/blob/fc0883dada1cb29607c6a8aa7edce14aac7642e0/9.3/jdk11/Dockerfile)
 58 | 
 59 | -	[`9.3-jdk17`, `9.3.15-jdk17`, `9.3.15.0-jdk17`](https://github.com/jruby/docker-jruby/blob/fc0883dada1cb29607c6a8aa7edce14aac7642e0/9.3/jdk17/Dockerfile)
 60 | 
 61 | -	[`9.3-jre17`, `9.3.15-jre17`, `9.3.15.0-jre17`](https://github.com/jruby/docker-jruby/blob/fc0883dada1cb29607c6a8aa7edce14aac7642e0/9.3/jre17/Dockerfile)
 62 | 
 63 | -	[`9.3-jdk21`, `9.3.15-jdk21`, `9.3.15.0-jdk21`](https://github.com/jruby/docker-jruby/blob/fc0883dada1cb29607c6a8aa7edce14aac7642e0/9.3/jdk21/Dockerfile)
 64 | 
 65 | -	[`9.3-jre21`, `9.3.15-jre21`, `9.3.15.0-jre21`](https://github.com/jruby/docker-jruby/blob/fc0883dada1cb29607c6a8aa7edce14aac7642e0/9.3/jre21/Dockerfile)
 66 | 
 67 | # Quick reference (cont.)
 68 | 
 69 | -	**Where to file issues**:  
 70 | 	[https://github.com/jruby/docker-jruby/issues](https://github.com/jruby/docker-jruby/issues?q=)
 71 | 
 72 | -	**Supported architectures**: ([more info](https://github.com/docker-library/official-images#architectures-other-than-amd64))  
 73 | 	[`amd64`](https://hub.docker.com/r/amd64/jruby/), [`arm64v8`](https://hub.docker.com/r/arm64v8/jruby/)
 74 | 
 75 | -	**Published image artifact details**:  
 76 | 	[repo-info repo's `repos/jruby/` directory](https://github.com/docker-library/repo-info/blob/master/repos/jruby) ([history](https://github.com/docker-library/repo-info/commits/master/repos/jruby))  
 77 | 	(image metadata, transfer size, etc)
 78 | 
 79 | -	**Image updates**:  
 80 | 	[official-images repo's `library/jruby` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fjruby)  
 81 | 	[official-images repo's `library/jruby` file](https://github.com/docker-library/official-images/blob/master/library/jruby) ([history](https://github.com/docker-library/official-images/commits/master/library/jruby))
 82 | 
 83 | -	**Source of this description**:  
 84 | 	[docs repo's `jruby/` directory](https://github.com/docker-library/docs/tree/master/jruby) ([history](https://github.com/docker-library/docs/commits/master/jruby))
 85 | 
 86 | # What is JRuby?
 87 | 
 88 | JRuby (http://www.jruby.org) is an implementation of Ruby (http://www.ruby-lang.org) on the JVM.
 89 | 
 90 | Ruby is a dynamic, reflective, object-oriented, general-purpose, open-source programming language. According to its authors, Ruby was influenced by Perl, Smalltalk, Eiffel, Ada, and Lisp. It supports multiple programming paradigms, including functional, object-oriented, and imperative. It also has a dynamic type system and automatic memory management.
 91 | 
 92 | > [wikipedia.org/wiki/Ruby_(programming_language)](https://en.wikipedia.org/wiki/Ruby_%28programming_language%29)
 93 | 
 94 | JRuby leverages the robustness and speed of the JVM while providing the same Ruby that you already know and love. With JRuby you are able to take advantage of real native threads, enhanced garbage collection, and even import and use java libraries.
 95 | 
 96 | ![logo](https://raw.githubusercontent.com/docker-library/docs/fbdaaa95f768de2cb4508dde956912f4081a824a/jruby/logo.png)
 97 | 
 98 | # How to use this image
 99 | 
100 | ## Create a `Dockerfile` in your Ruby app project
101 | 
102 | ```dockerfile
103 | FROM jruby:9
104 | 
105 | # throw errors if Gemfile has been modified since Gemfile.lock
106 | RUN bundle config --global frozen 1
107 | 
108 | WORKDIR /usr/src/app
109 | 
110 | COPY Gemfile Gemfile.lock ./
111 | RUN bundle install
112 | 
113 | COPY . .
114 | 
115 | CMD ["./your-daemon-or-script.rb"]
116 | ```
117 | 
118 | Put this file in the root of your app, next to the `Gemfile`.
119 | 
120 | You can then build and run the Ruby image:
121 | 
122 | ```console
123 | $ docker build -t my-ruby-app .
124 | $ docker run -it --name my-running-script my-ruby-app
125 | ```
126 | 
127 | ### Generate a `Gemfile.lock`
128 | 
129 | The above example `Dockerfile` expects a `Gemfile.lock` in your app directory. This `docker run` will help you generate one. Run it in the root of your app, next to the `Gemfile`:
130 | 
131 | ```console
132 | $ docker run --rm -v "$PWD":/usr/src/app -w /usr/src/app jruby:9 bundle install --system
133 | ```
134 | 
135 | ## Run a single Ruby script
136 | 
137 | For many simple, single file projects, you may find it inconvenient to write a complete `Dockerfile`. In such cases, you can run a Ruby script by using the Ruby Docker image directly:
138 | 
139 | ```console
140 | $ docker run -it --rm --name my-running-script -v "$PWD":/usr/src/myapp -w /usr/src/myapp jruby:9 jruby your-daemon-or-script.rb
141 | ```
142 | 
143 | # License
144 | 
145 | View [license information](https://github.com/jruby/jruby/blob/master/COPYING) for the software contained in this image.
146 | 
147 | As with all Docker images, these likely also contain other software which may be under other licenses (such as Bash, etc from the base distribution, along with any direct or indirect dependencies of the primary software being contained).
148 | 
149 | Some additional license information which was able to be auto-detected might be found in [the `repo-info` repository's `jruby/` directory](https://github.com/docker-library/repo-info/tree/master/repos/jruby).
150 | 
151 | As for any pre-built image usage, it is the image user's responsibility to ensure that any use of this image complies with any relevant licenses for all software contained within.
152 | 
```

--------------------------------------------------------------------------------
/api-firewall/README.md:
--------------------------------------------------------------------------------

```markdown
  1 | <!--
  2 | 
  3 | ********************************************************************************
  4 | 
  5 | WARNING:
  6 | 
  7 |     DO NOT EDIT "api-firewall/README.md"
  8 | 
  9 |     IT IS AUTO-GENERATED
 10 | 
 11 |     (from the other files in "api-firewall/" combined with a set of templates)
 12 | 
 13 | ********************************************************************************
 14 | 
 15 | -->
 16 | 
 17 | # Quick reference
 18 | 
 19 | -	**Maintained by**:  
 20 | 	The Wallarm Team
 21 | 
 22 | -	**Where to get help**:  
 23 | 	[the Docker Community Slack](https://dockr.ly/comm-slack), [Server Fault](https://serverfault.com/help/on-topic), [Unix & Linux](https://unix.stackexchange.com/help/on-topic), or [Stack Overflow](https://stackoverflow.com/help/on-topic)
 24 | 
 25 | # Supported tags and respective `Dockerfile` links
 26 | 
 27 | -	[`0.9.1`, `latest`](https://github.com/wallarm/api-firewall-docker/blob/c2776cc6a5adedddcdeb49e8613f64704ccb4c27/0.9.1/Dockerfile)
 28 | 
 29 | # Quick reference (cont.)
 30 | 
 31 | -	**Where to file issues**:  
 32 | 	[https://github.com/wallarm/api-firewall/issues](https://github.com/wallarm/api-firewall/issues?q=)
 33 | 
 34 | -	**Supported architectures**: ([more info](https://github.com/docker-library/official-images#architectures-other-than-amd64))  
 35 | 	[`amd64`](https://hub.docker.com/r/amd64/api-firewall/), [`arm64v8`](https://hub.docker.com/r/arm64v8/api-firewall/), [`i386`](https://hub.docker.com/r/i386/api-firewall/)
 36 | 
 37 | -	**Published image artifact details**:  
 38 | 	[repo-info repo's `repos/api-firewall/` directory](https://github.com/docker-library/repo-info/blob/master/repos/api-firewall) ([history](https://github.com/docker-library/repo-info/commits/master/repos/api-firewall))  
 39 | 	(image metadata, transfer size, etc)
 40 | 
 41 | -	**Image updates**:  
 42 | 	[official-images repo's `library/api-firewall` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fapi-firewall)  
 43 | 	[official-images repo's `library/api-firewall` file](https://github.com/docker-library/official-images/blob/master/library/api-firewall) ([history](https://github.com/docker-library/official-images/commits/master/library/api-firewall))
 44 | 
 45 | -	**Source of this description**:  
 46 | 	[docs repo's `api-firewall/` directory](https://github.com/docker-library/docs/tree/master/api-firewall) ([history](https://github.com/docker-library/docs/commits/master/api-firewall))
 47 | 
 48 | ![logo](https://raw.githubusercontent.com/docker-library/docs/61dec2a536d996ed45a71f3fad57cc9d24d6ad69/api-firewall/logo.svg?sanitize=true)
 49 | 
 50 | # What is API Firewall?
 51 | 
 52 | Wallarm API Firewall is an open-source light-weighted proxy designed to protect REST API endpoints in cloud-native environments by hardening based on a strict OpenAPI/Swagger schema validation. Wallarm API Firewall relies on a positive security model allowing calls that match a predefined API specification for requests and responses, while rejecting everything else.
 53 | 
 54 | The **key features** of API Firewall are:
 55 | 
 56 | -	Protect REST API endpoints by blocking requests and responses that do not match the OAS/Swagger schema
 57 | -	Discover Shadow API endpoints
 58 | -	If using OAuth 2.0 protocol-based authentication, validate access tokens
 59 | -	Quick and easy deployment and configuration
 60 | -	Customization of request and response processing modes, response codes and log format
 61 | 
 62 | # Use cases
 63 | 
 64 | -	Block abnormal requests and responses that do not match the OpenAPI 3.0 specification (if running API Firewall in the blocking mode)
 65 | -	Discover Shadow APIs and undocumented endpoints (if running API Firewall in the logging mode)
 66 | -	Log abnormal requests and responses that do not match the OpenAPI 3.0 specification (if running API Firewall in the logging mode)
 67 | 
 68 | # API schema validation and positive security model
 69 | 
 70 | When starting API Firewall, you should provide the [OpenAPI 3.0 specification](https://swagger.io/specification/) of the application to be protected with API Firewall. The started API Firewall will operate as a reverse proxy and validate whether requests and responses match the schema defined in the specification.
 71 | 
 72 | The traffic that does not match the schema will be logged using the [`STDOUT` and `STDERR` Docker services](https://docs.docker.com/config/containers/logging/) or blocked (depending on the configured API Firewall operation mode). If operating in the logging mode and detecting the traffic on endpoints that are not included in the specification, API Firewall also logs these endpoints as the shadow ones (except for endpoints returning the code `404`).
 73 | 
 74 | ![API Firewall scheme](https://github.com/wallarm/api-firewall/blob/2ace2714ac5777694bde85c8cdbb1308e98a7fea/images/firewall-as-proxy.png?raw=true)
 75 | 
 76 | Provided API schema should be described using the [OpenAPI 3.0 specification](https://swagger.io/specification/) in the YAML or JSON file (`.yaml`, `.yml`, `.json` file extensions).
 77 | 
 78 | By allowing you to set the traffic requirements with the OpenAPI 3.0 specification, Wallarm API Firewall relies on a positive security model.
 79 | 
 80 | # Technical characteristics
 81 | 
 82 | API Firewall works as a reverse proxy with a built-in OpenAPI 3.0 request and response validator. The validator is written in Go and optimized for extreme performance and near-zero added latency.
 83 | 
 84 | # Starting API Firewall
 85 | 
 86 | To download, install, and start Wallarm API Firewall on Docker, see the [instructions](https://docs.wallarm.com/api-firewall/installation-guides/docker-container/).
 87 | 
 88 | # Demos
 89 | 
 90 | You can try API Firewall by running the demo environment that deploys an example application protected with Wallarm API Firewall. There are two available demo environments:
 91 | 
 92 | -	[Wallarm API Firewall demo with Docker Compose](https://github.com/wallarm/api-firewall/tree/main/demo/docker-compose)
 93 | -	[Wallarm API Firewall demo with Kubernetes](https://github.com/wallarm/api-firewall/tree/main/demo/kubernetes)
 94 | 
 95 | # Wallarm's blog articles related to API Firewall
 96 | 
 97 | -	[Discovering Shadow APIs with API Firewall](https://lab.wallarm.com/discovering-shadow-apis-with-a-api-firewall/)
 98 | -	[Wallarm API Firewall outperforms NGINX in a production environment](https://lab.wallarm.com/wallarm-api-firewall-outperforms-nginx-in-a-production-environment/)
 99 | 
100 | # Performance
101 | 
102 | When creating API Firewall, we prioritized speed and efficiency to ensure that our customers would have the fastest APIs possible. Our latest tests demonstrate that the average time required for API Firewall to process one request is 1.339 ms:
103 | 
104 | ```console
105 | $ ab -c 200 -n 10000 -p ./large.json -T application/json http://127.0.0.1:8282/test/signup
106 | 
107 | Document Path:          /test/signup
108 | Document Length:        20 bytes
109 | 
110 | Concurrency Level:      200
111 | Time taken for tests:   0.769 seconds
112 | Complete requests:      10000
113 | Failed requests:        0
114 | Total transferred:      2150000 bytes
115 | Total body sent:        283770000
116 | HTML transferred:       200000 bytes
117 | Requests per second:    13005.81 [#/sec] (mean)
118 | Time per request:       15.378 [ms] (mean)
119 | Time per request:       0.077 [ms] (mean, across all concurrent requests)
120 | Transfer rate:          2730.71 [Kbytes/sec] received
121 |                         360415.95 kb/s sent
122 |                         363146.67 kb/s total
123 | 
124 | Connection Times (ms)
125 |               min  mean[+/-sd] median   max
126 | Connect:        0    5   1.6      5      12
127 | Processing:     2   10   5.4      9      59
128 | Waiting:        2    8   5.2      7      56
129 | Total:          3   15   5.7     14      68
130 | 
131 | Percentage of the requests served within a certain time (ms)
132 |   50%     14
133 |   66%     15
134 |   75%     16
135 |   80%     17
136 |   90%     18
137 |   95%     23
138 |   98%     36
139 |   99%     44
140 |  100%     68 (longest request)
141 | ```
142 | 
143 | These performance results are not the only ones we have got during API Firewall testing. Other results along with the methods used to improve API Firewall performance are described in this [Wallarm's blog article](https://lab.wallarm.com/wallarm-api-firewall-outperforms-nginx-in-a-production-environment/).
144 | 
145 | # License
146 | 
147 | View [license information](https://www.mozilla.org/en-US/MPL/2.0/) for the software contained in this image.
148 | 
149 | As with all Docker images, these likely also contain other software which may be under other licenses (such as Bash, etc from the base distribution, along with any direct or indirect dependencies of the primary software being contained).
150 | 
151 | Some additional license information which was able to be auto-detected might be found in [the `repo-info` repository's `api-firewall/` directory](https://github.com/docker-library/repo-info/tree/master/repos/api-firewall).
152 | 
153 | As for any pre-built image usage, it is the image user's responsibility to ensure that any use of this image complies with any relevant licenses for all software contained within.
154 | 
```

--------------------------------------------------------------------------------
/krakend/README.md:
--------------------------------------------------------------------------------

```markdown
  1 | <!--
  2 | 
  3 | ********************************************************************************
  4 | 
  5 | WARNING:
  6 | 
  7 |     DO NOT EDIT "krakend/README.md"
  8 | 
  9 |     IT IS AUTO-GENERATED
 10 | 
 11 |     (from the other files in "krakend/" combined with a set of templates)
 12 | 
 13 | ********************************************************************************
 14 | 
 15 | -->
 16 | 
 17 | # Quick reference
 18 | 
 19 | -	**Maintained by**:  
 20 | 	[the KrakenD Maintainers](https://github.com/krakend/krakend-ce)
 21 | 
 22 | -	**Where to get help**:  
 23 | 	[documentation](https://www.krakend.io/docs/overview/introduction/), [community support](https://groups.google.com/a/krakend.io/g/community), [open an issue](https://github.com/krakend/krakend-ce/issues), [other support channels](https://www.krakend.io/support/)
 24 | 
 25 | # Supported tags and respective `Dockerfile` links
 26 | 
 27 | -	[`2.10.0`, `2.10`, `2`, `latest`](https://github.com/krakendio/docker-library/blob/e251c6c6db51dcd34e11cc507830cfc200d652c1/2.10.0/Dockerfile)
 28 | 
 29 | # Quick reference (cont.)
 30 | 
 31 | -	**Where to file issues**:  
 32 | 	[https://github.com/krakend/krakend-ce/issues](https://github.com/krakend/krakend-ce/issues?q=)
 33 | 
 34 | -	**Supported architectures**: ([more info](https://github.com/docker-library/official-images#architectures-other-than-amd64))  
 35 | 	[`amd64`](https://hub.docker.com/r/amd64/krakend/), [`arm64v8`](https://hub.docker.com/r/arm64v8/krakend/)
 36 | 
 37 | -	**Published image artifact details**:  
 38 | 	[repo-info repo's `repos/krakend/` directory](https://github.com/docker-library/repo-info/blob/master/repos/krakend) ([history](https://github.com/docker-library/repo-info/commits/master/repos/krakend))  
 39 | 	(image metadata, transfer size, etc)
 40 | 
 41 | -	**Image updates**:  
 42 | 	[official-images repo's `library/krakend` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fkrakend)  
 43 | 	[official-images repo's `library/krakend` file](https://github.com/docker-library/official-images/blob/master/library/krakend) ([history](https://github.com/docker-library/official-images/commits/master/library/krakend))
 44 | 
 45 | -	**Source of this description**:  
 46 | 	[docs repo's `krakend/` directory](https://github.com/docker-library/docs/tree/master/krakend) ([history](https://github.com/docker-library/docs/commits/master/krakend))
 47 | 
 48 | ![logo](https://raw.githubusercontent.com/docker-library/docs/af2c9a19a5f032bfeea653ae85d841e26e5bc61c/krakend/logo.png)
 49 | 
 50 | # What is KrakenD?
 51 | 
 52 | [KrakenD](https://www.krakend.io/) is a stateless, high-performance, enterprise-ready, open-source API gateway written in Go. Its engine (formerly known as *KrakenD Framework*) is now a **Linux Foundation Project** codenamed [Lura Project](https://luraproject.org/). Lura is the only enterprise-grade API Gateway hosted in a neutral, open forum.
 53 | 
 54 | KrakenD is lightweight and straightforward, as it only requires writing the configuration file. No Go knowledge is required. It offers connectivity to internal and external services, data transformation and filtering, and aggregation of multiple data sources (APIs, gRPC, queues and pub/sub, lambda, etc.) simultaneously or in cascade. It protects access to your API, throughputs its usage, and integrates with many third-parties.
 55 | 
 56 | All features are designed to offer extraordinary performance and infinite scalability.
 57 | 
 58 | ## How to use this image
 59 | 
 60 | KrakenD only needs a single configuration file to create an API Gateway, although you can have a complex setup reflecting your organization structure. The configuration file(s) can live anywhere in the container, but the default location (the workdir) is `/etc/krakend`.
 61 | 
 62 | To use the image, `COPY` your `krakend.json` file inside the container or mount it using a volume. The configuration is checked only once during the startup and never used again. Don't have a config file yet? Generate it with the [KrakenD Designer UI](https://designer.krakend.io).
 63 | 
 64 | ⚠️ **NOTICE**: KrakenD does not use live reload when your configuration changes. Restart the container.
 65 | 
 66 | ### Quick start
 67 | 
 68 | You can start an empty gateway with a health check with the following commands:
 69 | 
 70 | ```bash
 71 | docker run -d -p 8080:8080 -v "$PWD:/etc/krakend/" krakend
 72 | 
 73 | curl http://localhost:8080/__health
 74 | {"agents":{},"now":"2024-05-23 14:35:55.552591448 +0000 UTC m=+26.856583003","status":"ok"}
 75 | ```
 76 | 
 77 | ### More Examples
 78 | 
 79 | The following are several examples of running KrakenD. By default, the command `run` is executed, but you can pass other commands and flags at the end of the run command.
 80 | 
 81 | The configuration files are taken from the current directory (`$PWD`). Therefore, all examples expect to find at least the file `krakend.json`.
 82 | 
 83 | #### Run with the debug enabled (flag `-d`):
 84 | 
 85 | This flag is **SAFE to use in production**. It's meant to enable KrakenD as a fake backend itself by enabling a [`/__debug` endpoint](https://www.krakend.io/docs/endpoints/debug-endpoint/)
 86 | 
 87 | ```bash
 88 | docker run -p 8080:8080 -v "${PWD}:/etc/krakend/" krakend run -d -c /etc/krakend/krakend.json
 89 | ```
 90 | 
 91 | #### Checking the syntax of your configuration file
 92 | 
 93 | See the [check command](https://www.krakend.io/docs/commands/check/)
 94 | 
 95 | ```bash
 96 | docker run -it -v $PWD:/etc/krakend/ krakend check --config krakend.json
 97 | ```
 98 | 
 99 | #### Show the help:
100 | 
101 | ```bash
102 | docker run --rm -it krakend help
103 | ```
104 | 
105 | ### Building your custom KrakenD image
106 | 
107 | Most production deployments will not want to rely on mounting a volume for the container but to use their image based on `krakend`:
108 | 
109 | Your `Dockerfile` could look like this:
110 | 
111 | ```Dockerfile
112 | FROM krakend:<version>
113 | # NOTE: Avoid using :latest image on production. Stick to a major version instead.
114 | 
115 | COPY krakend.json ./
116 | 
117 | # Check and test that the file is valid
118 | RUN krakend check -t --lint-no-network -c krakend.json
119 | ```
120 | 
121 | If you want to manage your KrakenD configuration using multiple files and folders, reusing templates, and distributing the configuration amongst your teams, you can use the [flexible configuration (FC)](https://www.krakend.io/docs/configuration/flexible-config/). The following `Dockerfile` combines FC, the `krakend check` command, and a 2-step build.
122 | 
123 | ```Dockerfile
124 | FROM krakend:<version> as builder
125 | 
126 | COPY krakend.tmpl .
127 | COPY config .
128 | 
129 | # Save temporary output file to /tmp to avoid permission errors
130 | RUN FC_ENABLE=1 \
131 |     FC_OUT=/tmp/krakend.json \
132 |     FC_PARTIALS="/etc/krakend/partials" \
133 |     FC_SETTINGS="/etc/krakend/settings" \
134 |     FC_TEMPLATES="/etc/krakend/templates" \
135 |     krakend check -d -t -c krakend.tmpl
136 | 
137 | # Copy the output file only and discard any other files
138 | FROM krakend:<version>
139 | COPY --from=builder /tmp/krakend.json .
140 | ```
141 | 
142 | Then build with `docker build -t my_krakend .`
143 | 
144 | The configuration above assumes you have a folder structure like the following:
145 | 
146 | 	.
147 | 	├── config
148 | 	│   ├── partials
149 | 	│   ├── settings
150 | 	│   │   └── env.json
151 | 	│   └── templates
152 | 	│       └── some.tmpl
153 | 	├── Dockerfile
154 | 	└── krakend.tmpl
155 | 
156 | ### Docker Compose example
157 | 
158 | Finally, a simple `docker compose` file to start KrakenD with your API would be:
159 | 
160 | ```yaml
161 | services:
162 |   krakend:
163 |     image: krakend:<version>
164 |     ports:
165 |       - "8080:8080"
166 |     volumes:
167 |       - ./:/etc/krakend
168 | ```
169 | 
170 | And another one that uses the flexible configuration and a custom template filename (`my_krakend.tmpl`) on each start:
171 | 
172 | ```yaml
173 | services:
174 |   krakend:
175 |     image: krakend:<version>
176 |     ports:
177 |       - "8080:8080"
178 |     volumes:
179 |       - ./:/etc/krakend
180 |     environment:
181 |       - FC_ENABLE=1
182 |       - FC_OUT=/tmp/krakend.json
183 |       - FC_PARTIALS="/etc/krakend/config/partials"
184 |       - FC_SETTINGS="/etc/krakend/config/settings/prod"
185 |       - FC_TEMPLATES="/etc/krakend/config/templates"
186 |     command:
187 |       command: ["krakend", "run", "-c", "krakend.tmpl", "-d"]
188 | ```
189 | 
190 | ### Container permissions and commands
191 | 
192 | All `krakend` commands are executed as `krakend` user (uid=1000), and the rest of the commands (e.g., `sh`) are executed as root.
193 | 
194 | You can directly use sub-commands of `krakend` like `run`, `help`, `version`, `check`, `check-plugin`, or `test-plugin` as the entrypoint will add the `krakend` command automatically. For example, the following lines are equivalent:
195 | 
196 | ```bash
197 | docker run --rm -it krakend help
198 | docker run --rm -it krakend krakend help
199 | ```
200 | 
201 | # License
202 | 
203 | View [license information](https://github.com/krakend/krakend-ce/blob/master/LICENSE) for the software contained in this image.
204 | 
205 | As with all Docker images, these likely also contain other software which may be under other licenses (such as Bash, etc from the base distribution, along with any direct or indirect dependencies of the primary software being contained).
206 | 
207 | Some additional license information which was able to be auto-detected might be found in [the `repo-info` repository's `krakend/` directory](https://github.com/docker-library/repo-info/tree/master/repos/krakend).
208 | 
209 | As for any pre-built image usage, it is the image user's responsibility to ensure that any use of this image complies with any relevant licenses for all software contained within.
210 | 
```

--------------------------------------------------------------------------------
/httpd/README.md:
--------------------------------------------------------------------------------

```markdown
  1 | <!--
  2 | 
  3 | ********************************************************************************
  4 | 
  5 | WARNING:
  6 | 
  7 |     DO NOT EDIT "httpd/README.md"
  8 | 
  9 |     IT IS AUTO-GENERATED
 10 | 
 11 |     (from the other files in "httpd/" combined with a set of templates)
 12 | 
 13 | ********************************************************************************
 14 | 
 15 | -->
 16 | 
 17 | # Quick reference
 18 | 
 19 | -	**Maintained by**:  
 20 | 	[the Docker Community](https://github.com/docker-library/httpd)
 21 | 
 22 | -	**Where to get help**:  
 23 | 	[the Docker Community Slack](https://dockr.ly/comm-slack), [Server Fault](https://serverfault.com/help/on-topic), [Unix & Linux](https://unix.stackexchange.com/help/on-topic), or [Stack Overflow](https://stackoverflow.com/help/on-topic)
 24 | 
 25 | # Supported tags and respective `Dockerfile` links
 26 | 
 27 | -	[`2.4.63`, `2.4`, `2`, `latest`, `2.4.63-bookworm`, `2.4-bookworm`, `2-bookworm`, `bookworm`](https://github.com/docker-library/httpd/blob/329f85a9ad75526de865749a41b273ead99fb69b/2.4/Dockerfile)
 28 | 
 29 | -	[`2.4.63-alpine`, `2.4-alpine`, `2-alpine`, `alpine`, `2.4.63-alpine3.21`, `2.4-alpine3.21`, `2-alpine3.21`, `alpine3.21`](https://github.com/docker-library/httpd/blob/329f85a9ad75526de865749a41b273ead99fb69b/2.4/alpine/Dockerfile)
 30 | 
 31 | # Quick reference (cont.)
 32 | 
 33 | -	**Where to file issues**:  
 34 | 	[https://github.com/docker-library/httpd/issues](https://github.com/docker-library/httpd/issues?q=)
 35 | 
 36 | -	**Supported architectures**: ([more info](https://github.com/docker-library/official-images#architectures-other-than-amd64))  
 37 | 	[`amd64`](https://hub.docker.com/r/amd64/httpd/), [`arm32v5`](https://hub.docker.com/r/arm32v5/httpd/), [`arm32v6`](https://hub.docker.com/r/arm32v6/httpd/), [`arm32v7`](https://hub.docker.com/r/arm32v7/httpd/), [`arm64v8`](https://hub.docker.com/r/arm64v8/httpd/), [`i386`](https://hub.docker.com/r/i386/httpd/), [`mips64le`](https://hub.docker.com/r/mips64le/httpd/), [`ppc64le`](https://hub.docker.com/r/ppc64le/httpd/), [`riscv64`](https://hub.docker.com/r/riscv64/httpd/), [`s390x`](https://hub.docker.com/r/s390x/httpd/)
 38 | 
 39 | -	**Published image artifact details**:  
 40 | 	[repo-info repo's `repos/httpd/` directory](https://github.com/docker-library/repo-info/blob/master/repos/httpd) ([history](https://github.com/docker-library/repo-info/commits/master/repos/httpd))  
 41 | 	(image metadata, transfer size, etc)
 42 | 
 43 | -	**Image updates**:  
 44 | 	[official-images repo's `library/httpd` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fhttpd)  
 45 | 	[official-images repo's `library/httpd` file](https://github.com/docker-library/official-images/blob/master/library/httpd) ([history](https://github.com/docker-library/official-images/commits/master/library/httpd))
 46 | 
 47 | -	**Source of this description**:  
 48 | 	[docs repo's `httpd/` directory](https://github.com/docker-library/docs/tree/master/httpd) ([history](https://github.com/docker-library/docs/commits/master/httpd))
 49 | 
 50 | # What is httpd?
 51 | 
 52 | The Apache HTTP Server, colloquially called Apache, is a Web server application notable for playing a key role in the initial growth of the World Wide Web. Originally based on the NCSA HTTPd server, development of Apache began in early 1995 after work on the NCSA code stalled. Apache quickly overtook NCSA HTTPd as the dominant HTTP server, and has remained the most popular HTTP server in use since April 1996.
 53 | 
 54 | > [wikipedia.org/wiki/Apache_HTTP_Server](http://en.wikipedia.org/wiki/Apache_HTTP_Server)
 55 | 
 56 | ![logo](https://raw.githubusercontent.com/docker-library/docs/8e367edd887f5fe876890a0ab4d08806527a1571/httpd/logo.png)
 57 | 
 58 | # How to use this image.
 59 | 
 60 | This image only contains Apache httpd with the defaults from upstream. There is no PHP installed, but it should not be hard to extend. On the other hand, if you just want PHP with Apache httpd see the [PHP image](https://hub.docker.com/_/php/) and look at the `-apache` tags. If you want to run a simple HTML server, add a simple Dockerfile to your project where `public-html/` is the directory containing all your HTML.
 61 | 
 62 | ### Create a `Dockerfile` in your project
 63 | 
 64 | ```dockerfile
 65 | FROM httpd:2.4
 66 | COPY ./public-html/ /usr/local/apache2/htdocs/
 67 | ```
 68 | 
 69 | Then, run the commands to build and run the Docker image:
 70 | 
 71 | ```console
 72 | $ docker build -t my-apache2 .
 73 | $ docker run -dit --name my-running-app -p 8080:80 my-apache2
 74 | ```
 75 | 
 76 | Visit http://localhost:8080 and you will see It works!
 77 | 
 78 | ### Without a `Dockerfile`
 79 | 
 80 | If you don't want to include a `Dockerfile` in your project, it is sufficient to do the following:
 81 | 
 82 | ```console
 83 | $ docker run -dit --name my-apache-app -p 8080:80 -v "$PWD":/usr/local/apache2/htdocs/ httpd:2.4
 84 | ```
 85 | 
 86 | ### Configuration
 87 | 
 88 | To customize the configuration of the httpd server, first obtain the upstream default configuration from the container:
 89 | 
 90 | ```console
 91 | $ docker run --rm httpd:2.4 cat /usr/local/apache2/conf/httpd.conf > my-httpd.conf
 92 | ```
 93 | 
 94 | You can then `COPY` your custom configuration in as `/usr/local/apache2/conf/httpd.conf`:
 95 | 
 96 | ```dockerfile
 97 | FROM httpd:2.4
 98 | COPY ./my-httpd.conf /usr/local/apache2/conf/httpd.conf
 99 | ```
100 | 
101 | #### SSL/HTTPS
102 | 
103 | If you want to run your web traffic over SSL, the simplest setup is to `COPY` or mount (`-v`) your `server.crt` and `server.key` into `/usr/local/apache2/conf/` and then customize the `/usr/local/apache2/conf/httpd.conf` by removing the comment symbol from the following lines:
104 | 
105 | ```apacheconf
106 | ...
107 | #LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
108 | ...
109 | #LoadModule ssl_module modules/mod_ssl.so
110 | ...
111 | #Include conf/extra/httpd-ssl.conf
112 | ...
113 | ```
114 | 
115 | The `conf/extra/httpd-ssl.conf` configuration file will use the certificate files previously added and tell the daemon to also listen on port 443. Be sure to also add something like `-p 443:443` to your `docker run` to forward the https port.
116 | 
117 | This could be accomplished with a `sed` line similar to the following:
118 | 
119 | ```dockerfile
120 | RUN sed -i \
121 | 		-e 's/^#\(Include .*httpd-ssl.conf\)/\1/' \
122 | 		-e 's/^#\(LoadModule .*mod_ssl.so\)/\1/' \
123 | 		-e 's/^#\(LoadModule .*mod_socache_shmcb.so\)/\1/' \
124 | 		conf/httpd.conf
125 | ```
126 | 
127 | The previous steps should work well for development, but we recommend customizing your conf files for production, see [httpd.apache.org](https://httpd.apache.org/docs/2.4/ssl/ssl_faq.html) for more information about SSL setup.
128 | 
129 | # Image Variants
130 | 
131 | The `httpd` images come in many flavors, each designed for a specific use case.
132 | 
133 | ## `httpd:<version>`
134 | 
135 | This is the defacto image. If you are unsure about what your needs are, you probably want to use this one. It is designed to be used both as a throw away container (mount your source code and start the container to start your app), as well as the base to build other images off of.
136 | 
137 | Some of these tags may have names like bookworm in them. These are the suite code names for releases of [Debian](https://wiki.debian.org/DebianReleases) and indicate which release the image is based on. If your image needs to install any additional packages beyond what comes with the image, you'll likely want to specify one of these explicitly to minimize breakage when there are new releases of Debian.
138 | 
139 | ## `httpd:<version>-alpine`
140 | 
141 | This image is based on the popular [Alpine Linux project](https://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general.
142 | 
143 | This variant is useful when final image size being as small as possible is your primary concern. The main caveat to note is that it does use [musl libc](https://musl.libc.org) instead of [glibc and friends](https://www.etalabs.net/compare_libcs.html), so software will often run into issues depending on the depth of their libc requirements/assumptions. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images.
144 | 
145 | To minimize image size, it's uncommon for additional related tools (such as `git` or `bash`) to be included in Alpine-based images. Using this image as a base, add the things you need in your own Dockerfile (see the [`alpine` image description](https://hub.docker.com/_/alpine/) for examples of how to install packages if you are unfamiliar).
146 | 
147 | # License
148 | 
149 | View [license information](https://www.apache.org/licenses/) for the software contained in this image.
150 | 
151 | As with all Docker images, these likely also contain other software which may be under other licenses (such as Bash, etc from the base distribution, along with any direct or indirect dependencies of the primary software being contained).
152 | 
153 | Some additional license information which was able to be auto-detected might be found in [the `repo-info` repository's `httpd/` directory](https://github.com/docker-library/repo-info/tree/master/repos/httpd).
154 | 
155 | As for any pre-built image usage, it is the image user's responsibility to ensure that any use of this image complies with any relevant licenses for all software contained within.
156 | 
```

--------------------------------------------------------------------------------
/emqx/README.md:
--------------------------------------------------------------------------------

```markdown
  1 | <!--
  2 | 
  3 | ********************************************************************************
  4 | 
  5 | WARNING:
  6 | 
  7 |     DO NOT EDIT "emqx/README.md"
  8 | 
  9 |     IT IS AUTO-GENERATED
 10 | 
 11 |     (from the other files in "emqx/" combined with a set of templates)
 12 | 
 13 | ********************************************************************************
 14 | 
 15 | -->
 16 | 
 17 | # Quick reference
 18 | 
 19 | -	**Maintained by**:  
 20 | 	[EMQ Technologies](https://github.com/emqx)
 21 | 
 22 | -	**Where to get help**:  
 23 | 	[Discussions](https://github.com/emqx/emqx/discussions) or [Discord](https://discord.gg/xYGf3fQnES)
 24 | 
 25 | # Supported tags and respective `Dockerfile` links
 26 | 
 27 | -	[`5.7.2`, `5.7`](https://github.com/emqx/emqx-docker/blob/35e70c8e602687db5a447c9573bde8ab77335fdc/5.7/Dockerfile)
 28 | 
 29 | -	[`5.8.6`, `5.8`, `5`, `latest`](https://github.com/emqx/emqx-docker/blob/7324fb36f81404915f97472652e2572f1dda5066/5.8/Dockerfile)
 30 | 
 31 | # Quick reference (cont.)
 32 | 
 33 | -	**Where to file issues**:  
 34 | 	[https://github.com/emqx/emqx-docker/issues](https://github.com/emqx/emqx-docker/issues?q=)
 35 | 
 36 | -	**Supported architectures**: ([more info](https://github.com/docker-library/official-images#architectures-other-than-amd64))  
 37 | 	[`amd64`](https://hub.docker.com/r/amd64/emqx/), [`arm64v8`](https://hub.docker.com/r/arm64v8/emqx/)
 38 | 
 39 | -	**Published image artifact details**:  
 40 | 	[repo-info repo's `repos/emqx/` directory](https://github.com/docker-library/repo-info/blob/master/repos/emqx) ([history](https://github.com/docker-library/repo-info/commits/master/repos/emqx))  
 41 | 	(image metadata, transfer size, etc)
 42 | 
 43 | -	**Image updates**:  
 44 | 	[official-images repo's `library/emqx` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Femqx)  
 45 | 	[official-images repo's `library/emqx` file](https://github.com/docker-library/official-images/blob/master/library/emqx) ([history](https://github.com/docker-library/official-images/commits/master/library/emqx))
 46 | 
 47 | -	**Source of this description**:  
 48 | 	[docs repo's `emqx/` directory](https://github.com/docker-library/docs/tree/master/emqx) ([history](https://github.com/docker-library/docs/commits/master/emqx))
 49 | 
 50 | # What is EMQX
 51 | 
 52 | [EMQX](https://emqx.io/) is the world's most scalable open-source MQTT broker with a high performance that connects 100M+ IoT devices in 1 cluster, while maintaining 1M message per second throughput and sub-millisecond latency.
 53 | 
 54 | EMQX supports multiple open standard protocols like MQTT, HTTP, QUIC, and WebSocket. It's 100% compliant with MQTT 5.0 and 3.x standard, and secures bi-directional communication with MQTT over TLS/SSL and various authentication mechanisms.
 55 | 
 56 | With the built-in powerful SQL-based rules engine, EMQX can extract, filter, enrich and transform IoT data in real-time. In addition, it ensures high availability and horizontal scalability with a masterless distributed architecture, and provides ops-friendly user experience and great observability.
 57 | 
 58 | EMQX boasts more than 20K+ enterprise users across 50+ countries and regions, connecting 100M+ IoT devices worldwide, and is trusted by over 400 customers in mission-critical scenarios of IoT, IIoT, connected vehicles, and more, including over 70 Fortune 500 companies like HPE, VMware, Verifone, SAIC Volkswagen, and Ericsson.
 59 | 
 60 | ![logo](https://raw.githubusercontent.com/docker-library/docs/68aa4264fa058f323993fdaceacd63a8acbbeb48/emqx/logo.svg?sanitize=true)
 61 | 
 62 | # How to use this image
 63 | 
 64 | ### Run EMQX
 65 | 
 66 | Execute some command under this docker image
 67 | 
 68 | ```console
 69 | $ docker run -d --name emqx emqx:${tag}
 70 | ```
 71 | 
 72 | For example
 73 | 
 74 | ```console
 75 | $ docker run -d --name emqx -p 18083:18083 -p 1883:1883 emqx:latest
 76 | ```
 77 | 
 78 | The EMQX broker runs as Linux user `emqx` in the docker container.
 79 | 
 80 | ### Configuration
 81 | 
 82 | All EMQX Configuration in [`etc/emqx.conf`](https://github.com/emqx/emqx/blob/master/apps/emqx/etc/emqx.conf) can be configured via environment variables.
 83 | 
 84 | Example:
 85 | 
 86 | 	EMQX_DASHBOARD__DEFAULT_PASSWORD       <--> dashboard.default_password
 87 | 	EMQX_NODE__COOKIE                      <--> node.cookie
 88 | 	EMQX_LISTENERS__SSL__default__ENABLE   <--> listeners.ssl.default.enable
 89 | 
 90 | Note: The lowercase use of 'default' is not a typo. It is used to demonstrate that lowercase environment variables are equivalent.
 91 | 
 92 | -	Prefix `EMQX_` is removed
 93 | -	All upper case letters are replaced with lower case letters
 94 | -	`__` is replaced with `.`
 95 | 
 96 | For example, set MQTT TCP port to 1883
 97 | 
 98 | ```console
 99 | $ docker run -d --name emqx -e EMQX_DASHBOARD__DEFAULT_PASSWORD=mysecret -p 18083:18083 -p 1883:1883 emqx:latest
100 | ```
101 | 
102 | Please read more about EMQX configuration in the [official documentation](https://docs.emqx.com/en/emqx/latest/configuration/configuration.html)
103 | 
104 | #### EMQX node name configuration
105 | 
106 | Environment variable `EMQX_NODE__NAME` allows you to specify an EMQX node name, which defaults to `<container_name>@<container_ip>`.
107 | 
108 | If not specified, EMQX determines its node name based on the running environment or other environment variables used for node discovery.
109 | 
110 | ### Cluster
111 | 
112 | EMQX supports a variety of clustering methods, see our [documentation](https://docs.emqx.com/en/emqx/latest/deploy/cluster/create-cluster.html) for details.
113 | 
114 | Let's create a static node list cluster from Docker Compose.
115 | 
116 | -	Create `compose.yaml`:
117 | 
118 | ```yaml
119 | services:
120 |   emqx1:
121 |     image: emqx:latest
122 |     environment:
123 |     - "[email protected]"
124 |     - "EMQX_CLUSTER__DISCOVERY_STRATEGY=static"
125 |     - "EMQX_CLUSTER__STATIC__SEEDS=[[email protected], [email protected]]"
126 |     networks:
127 |       emqx-bridge:
128 |         aliases:
129 |         - node1.emqx.io
130 | 
131 |   emqx2:
132 |     image: emqx:latest
133 |     environment:
134 |     - "[email protected]"
135 |     - "EMQX_CLUSTER__DISCOVERY_STRATEGY=static"
136 |     - "EMQX_CLUSTER__STATIC__SEEDS=[[email protected], [email protected]]"
137 |     networks:
138 |       emqx-bridge:
139 |         aliases:
140 |         - node2.emqx.io
141 | 
142 | networks:
143 |   emqx-bridge:
144 |     driver: bridge
145 | ```
146 | 
147 | -	Start the Docker Compose services
148 | 
149 | ```bash
150 | docker compose -p my_emqx up -d
151 | ```
152 | 
153 | -	View cluster
154 | 
155 | ```bash
156 | $ docker exec -it my_emqx_emqx1_1 sh -c "emqx ctl cluster status"
157 | Cluster status: #{running_nodes => ['[email protected]','[email protected]'],
158 |                   stopped_nodes => []}
159 | ```
160 | 
161 | ### Persistence
162 | 
163 | If you want to persist the EMQX docker container, you need to keep the following directories:
164 | 
165 | -	`/opt/emqx/data`
166 | -	`/opt/emqx/log`
167 | 
168 | Since data in these folders are partially stored under the `/opt/emqx/data/mnesia/${node_name}`, the user also needs to reuse the same node name to see the previous state. To make this work, one needs to set the host part of `EMQX_NODE__NAME` to something static that does not change when you restart or recreate the container. It could be container name, hostname or loopback IP address `127.0.0.1` if you only have one node.
169 | 
170 | In if you use Docker Compose, the configuration would look something like this:
171 | 
172 | ```YAML
173 | volumes:
174 |   vol-emqx-data:
175 |     name: foo-emqx-data
176 |   vol-emqx-log:
177 |     name: foo-emqx-log
178 | 
179 | services:
180 |   emqx:
181 |     image: emqx:latest
182 |     restart: always
183 |     environment:
184 |       EMQX_NODE__NAME: [email protected]
185 |     volumes:
186 |       - vol-emqx-data:/opt/emqx/data
187 |       - vol-emqx-log:/opt/emqx/log
188 | ```
189 | 
190 | ### Kernel Tuning
191 | 
192 | Under Linux host machine, the easiest way is [Tuning guide](https://docs.emqx.com/en/emqx/latest/performance/tune.html).
193 | 
194 | If you want tune Linux kernel by docker, you must ensure your docker is latest version (>=1.12).
195 | 
196 | ```bash
197 | docker run -d --name emqx -p 18083:18083 -p 1883:1883 \
198 |     --sysctl fs.file-max=2097152 \
199 |     --sysctl fs.nr_open=2097152 \
200 |     --sysctl net.core.somaxconn=32768 \
201 |     --sysctl net.ipv4.tcp_max_syn_backlog=16384 \
202 |     --sysctl net.core.netdev_max_backlog=16384 \
203 |     --sysctl net.ipv4.ip_local_port_range=1000 65535 \
204 |     --sysctl net.core.rmem_default=262144 \
205 |     --sysctl net.core.wmem_default=262144 \
206 |     --sysctl net.core.rmem_max=16777216 \
207 |     --sysctl net.core.wmem_max=16777216 \
208 |     --sysctl net.core.optmem_max=16777216 \
209 |     --sysctl net.ipv4.tcp_rmem=1024 4096 16777216 \
210 |     --sysctl net.ipv4.tcp_wmem=1024 4096 16777216 \
211 |     --sysctl net.ipv4.tcp_max_tw_buckets=1048576 \
212 |     --sysctl net.ipv4.tcp_fin_timeout=15 \
213 |     emqx:latest
214 | ```
215 | 
216 | > REMEMBER: DO NOT RUN EMQX DOCKER PRIVILEGED OR MOUNT SYSTEM PROC IN CONTAINER TO TUNE LINUX KERNEL, IT IS UNSAFE.
217 | 
218 | # License
219 | 
220 | View [license information](https://github.com/emqx/emqx/blob/master/LICENSE) for the software contained in this image.
221 | 
222 | As with all Docker images, these likely also contain other software which may be under other licenses (such as Bash, etc from the base distribution, along with any direct or indirect dependencies of the primary software being contained).
223 | 
224 | Some additional license information which was able to be auto-detected might be found in [the `repo-info` repository's `emqx/` directory](https://github.com/docker-library/repo-info/tree/master/repos/emqx).
225 | 
226 | As for any pre-built image usage, it is the image user's responsibility to ensure that any use of this image complies with any relevant licenses for all software contained within.
227 | 
```

--------------------------------------------------------------------------------
/buildpack-deps/README.md:
--------------------------------------------------------------------------------

```markdown
  1 | <!--
  2 | 
  3 | ********************************************************************************
  4 | 
  5 | WARNING:
  6 | 
  7 |     DO NOT EDIT "buildpack-deps/README.md"
  8 | 
  9 |     IT IS AUTO-GENERATED
 10 | 
 11 |     (from the other files in "buildpack-deps/" combined with a set of templates)
 12 | 
 13 | ********************************************************************************
 14 | 
 15 | -->
 16 | 
 17 | # Quick reference
 18 | 
 19 | -	**Maintained by**:  
 20 | 	[the Docker Community](https://github.com/docker-library/buildpack-deps)
 21 | 
 22 | -	**Where to get help**:  
 23 | 	[the Docker Community Slack](https://dockr.ly/comm-slack), [Server Fault](https://serverfault.com/help/on-topic), [Unix & Linux](https://unix.stackexchange.com/help/on-topic), or [Stack Overflow](https://stackoverflow.com/help/on-topic)
 24 | 
 25 | # Supported tags and respective `Dockerfile` links
 26 | 
 27 | -	[`bookworm-curl`, `stable-curl`, `curl`](https://github.com/docker-library/buildpack-deps/blob/3e18c3af1f5dce6a48abf036857f9097b6bd79cc/debian/bookworm/curl/Dockerfile)
 28 | 
 29 | -	[`bookworm-scm`, `stable-scm`, `scm`](https://github.com/docker-library/buildpack-deps/blob/d0ecd4b7313e9bc6b00d9a4fe62ad5787bc197ae/debian/bookworm/scm/Dockerfile)
 30 | 
 31 | -	[`bookworm`, `stable`, `latest`](https://github.com/docker-library/buildpack-deps/blob/d0ecd4b7313e9bc6b00d9a4fe62ad5787bc197ae/debian/bookworm/Dockerfile)
 32 | 
 33 | -	[`bullseye-curl`, `oldstable-curl`](https://github.com/docker-library/buildpack-deps/blob/93d6db0797f91ab674535553b7e0e762941a02d0/debian/bullseye/curl/Dockerfile)
 34 | 
 35 | -	[`bullseye-scm`, `oldstable-scm`](https://github.com/docker-library/buildpack-deps/blob/d0ecd4b7313e9bc6b00d9a4fe62ad5787bc197ae/debian/bullseye/scm/Dockerfile)
 36 | 
 37 | -	[`bullseye`, `oldstable`](https://github.com/docker-library/buildpack-deps/blob/d0ecd4b7313e9bc6b00d9a4fe62ad5787bc197ae/debian/bullseye/Dockerfile)
 38 | 
 39 | -	[`sid-curl`, `unstable-curl`](https://github.com/docker-library/buildpack-deps/blob/2b3a8b7d1f8875865034be3bab98ddd737e37d5e/debian/sid/curl/Dockerfile)
 40 | 
 41 | -	[`sid-scm`, `unstable-scm`](https://github.com/docker-library/buildpack-deps/blob/2b3a8b7d1f8875865034be3bab98ddd737e37d5e/debian/sid/scm/Dockerfile)
 42 | 
 43 | -	[`sid`, `unstable`](https://github.com/docker-library/buildpack-deps/blob/2b3a8b7d1f8875865034be3bab98ddd737e37d5e/debian/sid/Dockerfile)
 44 | 
 45 | -	[`trixie-curl`, `testing-curl`](https://github.com/docker-library/buildpack-deps/blob/1f4fe499c668d9a2e1578aa8db4f0b2d14482cf5/debian/trixie/curl/Dockerfile)
 46 | 
 47 | -	[`trixie-scm`, `testing-scm`](https://github.com/docker-library/buildpack-deps/blob/1f4fe499c668d9a2e1578aa8db4f0b2d14482cf5/debian/trixie/scm/Dockerfile)
 48 | 
 49 | -	[`trixie`, `testing`](https://github.com/docker-library/buildpack-deps/blob/1f4fe499c668d9a2e1578aa8db4f0b2d14482cf5/debian/trixie/Dockerfile)
 50 | 
 51 | -	[`focal-curl`, `20.04-curl`](https://github.com/docker-library/buildpack-deps/blob/93d6db0797f91ab674535553b7e0e762941a02d0/ubuntu/focal/curl/Dockerfile)
 52 | 
 53 | -	[`focal-scm`, `20.04-scm`](https://github.com/docker-library/buildpack-deps/blob/d0ecd4b7313e9bc6b00d9a4fe62ad5787bc197ae/ubuntu/focal/scm/Dockerfile)
 54 | 
 55 | -	[`focal`, `20.04`](https://github.com/docker-library/buildpack-deps/blob/d0ecd4b7313e9bc6b00d9a4fe62ad5787bc197ae/ubuntu/focal/Dockerfile)
 56 | 
 57 | -	[`jammy-curl`, `22.04-curl`](https://github.com/docker-library/buildpack-deps/blob/93d6db0797f91ab674535553b7e0e762941a02d0/ubuntu/jammy/curl/Dockerfile)
 58 | 
 59 | -	[`jammy-scm`, `22.04-scm`](https://github.com/docker-library/buildpack-deps/blob/d0ecd4b7313e9bc6b00d9a4fe62ad5787bc197ae/ubuntu/jammy/scm/Dockerfile)
 60 | 
 61 | -	[`jammy`, `22.04`](https://github.com/docker-library/buildpack-deps/blob/d0ecd4b7313e9bc6b00d9a4fe62ad5787bc197ae/ubuntu/jammy/Dockerfile)
 62 | 
 63 | -	[`noble-curl`, `24.04-curl`](https://github.com/docker-library/buildpack-deps/blob/60dc5f9555c521de086b2f5770514faf69ee2cc4/ubuntu/noble/curl/Dockerfile)
 64 | 
 65 | -	[`noble-scm`, `24.04-scm`](https://github.com/docker-library/buildpack-deps/blob/60dc5f9555c521de086b2f5770514faf69ee2cc4/ubuntu/noble/scm/Dockerfile)
 66 | 
 67 | -	[`noble`, `24.04`](https://github.com/docker-library/buildpack-deps/blob/60dc5f9555c521de086b2f5770514faf69ee2cc4/ubuntu/noble/Dockerfile)
 68 | 
 69 | -	[`oracular-curl`, `24.10-curl`](https://github.com/docker-library/buildpack-deps/blob/f24f02bc0fda57d7f0e30b205df4a38114712b0a/ubuntu/oracular/curl/Dockerfile)
 70 | 
 71 | -	[`oracular-scm`, `24.10-scm`](https://github.com/docker-library/buildpack-deps/blob/f24f02bc0fda57d7f0e30b205df4a38114712b0a/ubuntu/oracular/scm/Dockerfile)
 72 | 
 73 | -	[`oracular`, `24.10`](https://github.com/docker-library/buildpack-deps/blob/f24f02bc0fda57d7f0e30b205df4a38114712b0a/ubuntu/oracular/Dockerfile)
 74 | 
 75 | -	[`plucky-curl`, `25.04-curl`](https://github.com/docker-library/buildpack-deps/blob/ab3ae04e943ecb240a9691dfa1de219b4a3e32a0/ubuntu/plucky/curl/Dockerfile)
 76 | 
 77 | -	[`plucky-scm`, `25.04-scm`](https://github.com/docker-library/buildpack-deps/blob/ab3ae04e943ecb240a9691dfa1de219b4a3e32a0/ubuntu/plucky/scm/Dockerfile)
 78 | 
 79 | -	[`plucky`, `25.04`](https://github.com/docker-library/buildpack-deps/blob/ab3ae04e943ecb240a9691dfa1de219b4a3e32a0/ubuntu/plucky/Dockerfile)
 80 | 
 81 | # Quick reference (cont.)
 82 | 
 83 | -	**Where to file issues**:  
 84 | 	[https://github.com/docker-library/buildpack-deps/issues](https://github.com/docker-library/buildpack-deps/issues?q=)
 85 | 
 86 | -	**Supported architectures**: ([more info](https://github.com/docker-library/official-images#architectures-other-than-amd64))  
 87 | 	[`amd64`](https://hub.docker.com/r/amd64/buildpack-deps/), [`arm32v5`](https://hub.docker.com/r/arm32v5/buildpack-deps/), [`arm32v7`](https://hub.docker.com/r/arm32v7/buildpack-deps/), [`arm64v8`](https://hub.docker.com/r/arm64v8/buildpack-deps/), [`i386`](https://hub.docker.com/r/i386/buildpack-deps/), [`mips64le`](https://hub.docker.com/r/mips64le/buildpack-deps/), [`ppc64le`](https://hub.docker.com/r/ppc64le/buildpack-deps/), [`riscv64`](https://hub.docker.com/r/riscv64/buildpack-deps/), [`s390x`](https://hub.docker.com/r/s390x/buildpack-deps/)
 88 | 
 89 | -	**Published image artifact details**:  
 90 | 	[repo-info repo's `repos/buildpack-deps/` directory](https://github.com/docker-library/repo-info/blob/master/repos/buildpack-deps) ([history](https://github.com/docker-library/repo-info/commits/master/repos/buildpack-deps))  
 91 | 	(image metadata, transfer size, etc)
 92 | 
 93 | -	**Image updates**:  
 94 | 	[official-images repo's `library/buildpack-deps` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fbuildpack-deps)  
 95 | 	[official-images repo's `library/buildpack-deps` file](https://github.com/docker-library/official-images/blob/master/library/buildpack-deps) ([history](https://github.com/docker-library/official-images/commits/master/library/buildpack-deps))
 96 | 
 97 | -	**Source of this description**:  
 98 | 	[docs repo's `buildpack-deps/` directory](https://github.com/docker-library/docs/tree/master/buildpack-deps) ([history](https://github.com/docker-library/docs/commits/master/buildpack-deps))
 99 | 
100 | # What is `buildpack-deps`?
101 | 
102 | In spirit, `buildpack-deps` is similar to [Heroku's stack images](https://github.com/heroku/stack-images/blob/master/bin/cedar.sh). It includes a large number of "development header" packages needed by various things like Ruby Gems, PyPI modules, etc. For example, `buildpack-deps` would let you do a `bundle install` in an arbitrary application directory without knowing beforehand that `ssl.h` is required to build a dependent module.
103 | 
104 | ![logo](https://raw.githubusercontent.com/docker-library/docs/01c12653951b2fe592c1f93a13b4e289ada0e3a1/buildpack-deps/logo.png)
105 | 
106 | # How to use this image
107 | 
108 | This stack is designed to be the foundation of a language-stack image.
109 | 
110 | ## What's included?
111 | 
112 | The main tags of this image are the full batteries-included approach. With them, a majority of arbitrary `gem install` / `npm install` / `pip install` should be successful without additional header/development packages.
113 | 
114 | For some language stacks, that doesn't make sense, particularly if linking to arbitrary external C libraries is much less common (as in Go and Java, for example), which is where these other smaller variants can come in handy.
115 | 
116 | ### `curl`
117 | 
118 | This variant includes just the `curl`, `wget`, and `ca-certificates` packages. This is perfect for cases like the Java JRE, where downloading JARs is very common and necessary, but checking out code isn't.
119 | 
120 | ### `scm`
121 | 
122 | This variant is based on `curl`, but also adds various source control management tools. As of this writing, the current list of included tools is `bzr`, `git`, `hg`, and `svn`. Intentionally missing is `cvs` due to the dwindling relevance it has (sorry CVS). This image is perfect for cases like the Java JDK, where downloading JARs is very common (hence the `curl` base still), but checking out code also becomes more common as well (compared to the JRE).
123 | 
124 | # License
125 | 
126 | View [license information](https://www.debian.org/social_contract#guidelines) for the software contained in this image.
127 | 
128 | As with all Docker images, these likely also contain other software which may be under other licenses (such as Bash, etc from the base distribution, along with any direct or indirect dependencies of the primary software being contained).
129 | 
130 | Some additional license information which was able to be auto-detected might be found in [the `repo-info` repository's `buildpack-deps/` directory](https://github.com/docker-library/repo-info/tree/master/repos/buildpack-deps).
131 | 
132 | As for any pre-built image usage, it is the image user's responsibility to ensure that any use of this image complies with any relevant licenses for all software contained within.
133 | 
```

--------------------------------------------------------------------------------
/php-zendserver/README.md:
--------------------------------------------------------------------------------

```markdown
  1 | <!--
  2 | 
  3 | ********************************************************************************
  4 | 
  5 | WARNING:
  6 | 
  7 |     DO NOT EDIT "php-zendserver/README.md"
  8 | 
  9 |     IT IS AUTO-GENERATED
 10 | 
 11 |     (from the other files in "php-zendserver/" combined with a set of templates)
 12 | 
 13 | ********************************************************************************
 14 | 
 15 | -->
 16 | 
 17 | # **DEPRECATION NOTICE**
 18 | 
 19 | This image is not actively maintained (and [has not been for years](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fphp-zendserver)). It is highly recommended for users to seek out alternatives.
 20 | 
 21 | # Quick reference
 22 | 
 23 | -	**Maintained by**:  
 24 | 	[Perforce Software, Inc.](https://github.com/zendtech/php-zendserver-docker)
 25 | 
 26 | -	**Where to get help**:  
 27 | 	[the Docker Community Slack](https://dockr.ly/comm-slack), [Server Fault](https://serverfault.com/help/on-topic), [Unix & Linux](https://unix.stackexchange.com/help/on-topic), or [Stack Overflow](https://stackoverflow.com/help/on-topic)
 28 | 
 29 | # Supported tags and respective `Dockerfile` links
 30 | 
 31 | **No supported tags**
 32 | 
 33 | # Quick reference (cont.)
 34 | 
 35 | -	**Where to file issues**:  
 36 | 	[Zend Support Center](https://www.zend.com/en/support-center)
 37 | 
 38 | -	**Supported architectures**: ([more info](https://github.com/docker-library/official-images#architectures-other-than-amd64))  
 39 | 	**No supported architectures**
 40 | 
 41 | -	**Published image artifact details**:  
 42 | 	[repo-info repo's `repos/php-zendserver/` directory](https://github.com/docker-library/repo-info/blob/master/repos/php-zendserver) ([history](https://github.com/docker-library/repo-info/commits/master/repos/php-zendserver))  
 43 | 	(image metadata, transfer size, etc)
 44 | 
 45 | -	**Image updates**:  
 46 | 	[official-images repo's `library/php-zendserver` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fphp-zendserver)  
 47 | 	[official-images repo's `library/php-zendserver` file](https://github.com/docker-library/official-images/blob/master/library/php-zendserver) ([history](https://github.com/docker-library/official-images/commits/master/library/php-zendserver))
 48 | 
 49 | -	**Source of this description**:  
 50 | 	[docs repo's `php-zendserver/` directory](https://github.com/docker-library/docs/tree/master/php-zendserver) ([history](https://github.com/docker-library/docs/commits/master/php-zendserver))
 51 | 
 52 | # What is Zend Server?
 53 | 
 54 | Zend Server is the integrated application platform for PHP mobile and web apps. Zend Server provides you with a highly available PHP production environment which includes, amongst other features, a highly reliable PHP stack, application monitoring, troubleshooting, and the all-new Z-Ray.
 55 | 
 56 | ### Boost your Development with Z-Ray
 57 | 
 58 | Using Zend Server Z-Ray is akin to wearing X-Ray goggles, effortlessly giving developers deep insight into how their code is running as they are developing it – all without having to change any of their habits or workflow. With Z-Ray, developers can immediately understand the impact of their code changes, enabling them to both improve quality and solve issues long before their code reaches production. In addition to the obvious benefits of this 'Left Shifting' – better performance, fewer production issues and faster recovery times – using Z-Ray is also downright fun!
 59 | 
 60 | ### Powering Continuous Delivery
 61 | 
 62 | Zend Server is the platform that enables Continuous Delivery, which provides consistency, automation and collaboration capabilities throughout the application delivery cycle. Patterns are available to integrate Zend Server with: Chef, Jenkins, Nagios, Vmware, Puppet.
 63 | 
 64 | ### Additional Resources
 65 | 
 66 | -	[http://www.zend.com/](http://www.zend.com/)
 67 | -	[http://support.roguewave.com/](http://support.roguewave.com/)
 68 | -	[http://files.zend.com/help/Zend-Server/zend-server.htm#faqs.htm](http://files.zend.com/help/Zend-Server/zend-server.htm#faqs.htm)
 69 | -	[http://files.zend.com/help/Zend-Server/zend-server.htm#getting\_started.htm](http://files.zend.com/help/Zend-Server/zend-server.htm#getting_started.htm)
 70 | 
 71 | # PHP-ZendServer
 72 | 
 73 | This is a cluster-enabled version of a Dockerized Zend Server container. With Zend Server on Docker, you'll get your PHP applications up and running on a highly available PHP production environment which includes, amongst other features, a highly reliable PHP stack, application monitoring, troubleshooting, and the new and innovative new technology - Z-Ray. Z-Ray gives developers unprecedented visibility into their code by tracking and displaying in a toolbar live and detailed info on how the various elements constructing their page are performing.
 74 | 
 75 | For development purposes we provide you with a time limited trial license. For production use you must provide a valid Zend Server license using the instructions below in the Usage section.
 76 | 
 77 | ## Usage
 78 | 
 79 | #### Launching the Container from Docker-Hub
 80 | 
 81 | Zend Server is shared on [Docker-Hub] as **php-zendserver**.
 82 | 
 83 | ##### Single instance
 84 | 
 85 | To start a single Zend Server instance, execute:
 86 | 
 87 | 	    $ docker run php-zendserver
 88 | 
 89 | -	You can specify the PHP and Zend Server version by adding ':<php-version>' or ':&lt;ZS-version&gt;-php&lt;version&gt;' to the 'docker run' command.
 90 | 
 91 | 		for example: 
 92 | 		$docker run php-zendserver:8.5-php5.6
 93 | 
 94 | #### Availible versions:
 95 | 
 96 | -	Zend Server 8
 97 | -	Zend Server 9 (With PHP 7 GA)(Default version)
 98 | -	Zend Server 2019 with multi PHP Version Support (7.1, 7.2 & 7.3)
 99 | 
100 | ##### Cluster
101 | 
102 | To start a Zend Server cluster, execute the following command for each cluster node:
103 | 
104 | 	    $ docker run -e MYSQL_HOSTNAME=<db-ip> -e MYSQL_PORT=3306 -e MYSQL_USERNAME=<username> -e MYSQL_PASSWORD=<password> -e MYSQL_DBNAME=zend php-zendserver
105 | 
106 | #### Bring your own license
107 | 
108 | To use your own Zend Server license: $ docker run php-zendserver -e ZEND_LICENSE_KEY=<license-key> -e ZEND_LICENSE_ORDER=<order-number>
109 | 
110 | #### Launching the Container from Dockerfile
111 | 
112 | From a local folder containing this repo's clone, execute the following command to generate the image. The **image-id** will be outputted:
113 | 
114 | 	    $ docker build .
115 | 
116 | ##### Single instance from custom image
117 | 
118 | To start a single Zend Server instance, execute:
119 | 
120 | 	    $ docker run <image-id>
121 | 
122 | #### Cluster from custom image
123 | 
124 | To start a Zend Server cluster, execute the following command on each cluster node:
125 | 
126 | 	    $ docker run -e MYSQL_HOSTNAME=<db-ip> -e MYSQL_PORT=3306 -e MYSQL_USERNAME=<username> -e MYSQL_PASSWORD=<password> -e MYSQL_DBNAME=zend <image-id>
127 | 
128 | #### Accessing Zend server
129 | 
130 | Once started, the container will output the information required to access the PHP application and the Zend Server UI, including an automatically generated admin password.
131 | 
132 | #### Port forwarding (For remote access)
133 | 
134 | To access the container **remotely**, port forwarding must be configured, either manually or using docker. For example, this command redirects port 80 to port 88, and port 10081 (Zend Server UI port) to port 10088:
135 | 
136 | 	    $ docker run -p 88:80 -p 10088:10081 php-zendserver
137 | 
138 | ##### For clustered instances:
139 | 
140 | To start a Zend Server cluster you must provide a Mysql compatible database:
141 | 
142 | 	    $ docker run -p 88:80 -p 10088:10081 -e MYSQL_HOSTNAME=<db-ip> -e MYSQL_PORT=3306 -e MYSQL_USERNAME=<username> -e MYSQL_PASSWORD=<password> -e MYSQL_DBNAME=zend <image-id>
143 | 
144 | Please note, when running multiple instances only one instance can be bound to a port. If you are running a cluster, either assign a port redirect to one node only, or assign a different port to each container.
145 | 
146 | #### Adding application files
147 | 
148 | Application files can be automatically pulled from a Git repo by setting the **GIT_URL** env var to the repo's URL. Alternatively, if building an image from Dockerfile, place the app files in the "app/" folder.
149 | 
150 | The files will be copied to the containers /var/www/html folder and defined in Zend Server as the default app. An example index.html file is included. this feature is available in Zend Server 8 and above.
151 | 
152 | #### Env variables
153 | 
154 | Env variables are passed in the run command with the "-e" switch.
155 | 
156 | ##### Optional env-variables:
157 | 
158 | To specify a pre-defined admin password for Zend Server use:
159 | 
160 | -	ZS\_ADMIN\_PASSWORD
161 | 
162 | Automatically Deploy an app from Git URL:
163 | 
164 | -	GIT\_URL
165 | 
166 | MySQL vars for clustered ops. *ALL* are required for the node to properly join a cluster:
167 | 
168 | -	MYSQL\_HOSTNAME - ip or hostname of MySQL database
169 | -	MYSQL\_PORT - MySQL listening port
170 | -	MYSQL\_USERNAME
171 | -	MYSQL\_PASSWORD
172 | -	MYSQL\_DBNAME - Name of the database Zend Server will use for cluster ops (created automatically if it does not exist).
173 | 
174 | To specify a pre-purchased license use the following env vars:
175 | 
176 | -	ZEND\_LICENSE\_KEY
177 | -	ZEND\_LICENSE\_ORDER
178 | 
179 | Set Zend Server to production mode by setting the following env var to "true". By default Zend Server is set to "development mode" with Z-Ray enabled:
180 | 
181 | -	ZS\_PRODUCTION
182 | 
183 | ### Minimal Requirements
184 | 
185 | Each Zend Server Docker container requires 1GB of availible memory.
186 | 
187 | # License
188 | 
189 | [Perforce Software, Inc.](https://www.zend.com/end-user-license-agreement)
190 | 
191 | As with all Docker images, these likely also contain other software which may be under other licenses (such as Bash, etc from the base distribution, along with any direct or indirect dependencies of the primary software being contained).
192 | 
193 | Some additional license information which was able to be auto-detected might be found in [the `repo-info` repository's `php-zendserver/` directory](https://github.com/docker-library/repo-info/tree/master/repos/php-zendserver).
194 | 
195 | As for any pre-built image usage, it is the image user's responsibility to ensure that any use of this image complies with any relevant licenses for all software contained within.
196 | 
```

--------------------------------------------------------------------------------
/kapacitor/README.md:
--------------------------------------------------------------------------------

```markdown
  1 | <!--
  2 | 
  3 | ********************************************************************************
  4 | 
  5 | WARNING:
  6 | 
  7 |     DO NOT EDIT "kapacitor/README.md"
  8 | 
  9 |     IT IS AUTO-GENERATED
 10 | 
 11 |     (from the other files in "kapacitor/" combined with a set of templates)
 12 | 
 13 | ********************************************************************************
 14 | 
 15 | -->
 16 | 
 17 | # Quick reference
 18 | 
 19 | -	**Maintained by**:  
 20 | 	[InfluxData](https://github.com/influxdata/influxdata-docker)
 21 | 
 22 | -	**Where to get help**:  
 23 | 	[the Docker Community Slack](https://dockr.ly/comm-slack), [Server Fault](https://serverfault.com/help/on-topic), [Unix & Linux](https://unix.stackexchange.com/help/on-topic), or [Stack Overflow](https://stackoverflow.com/help/on-topic)
 24 | 
 25 | # Supported tags and respective `Dockerfile` links
 26 | 
 27 | -	[`1.6`, `1.6.6`](https://github.com/influxdata/influxdata-docker/blob/f4065650506de70c65b6b63234eb5e03e4c33fb6/kapacitor/1.6/Dockerfile)
 28 | 
 29 | -	[`1.6-alpine`, `1.6.6-alpine`](https://github.com/influxdata/influxdata-docker/blob/f4065650506de70c65b6b63234eb5e03e4c33fb6/kapacitor/1.6/alpine/Dockerfile)
 30 | 
 31 | -	[`1.7`, `1.7.6`, `latest`](https://github.com/influxdata/influxdata-docker/blob/f4065650506de70c65b6b63234eb5e03e4c33fb6/kapacitor/1.7/Dockerfile)
 32 | 
 33 | -	[`1.7-alpine`, `1.7.6-alpine`, `alpine`](https://github.com/influxdata/influxdata-docker/blob/f4065650506de70c65b6b63234eb5e03e4c33fb6/kapacitor/1.7/alpine/Dockerfile)
 34 | 
 35 | # Quick reference (cont.)
 36 | 
 37 | -	**Where to file issues**:  
 38 | 	[https://github.com/influxdata/influxdata-docker/issues](https://github.com/influxdata/influxdata-docker/issues?q=)
 39 | 
 40 | -	**Supported architectures**: ([more info](https://github.com/docker-library/official-images#architectures-other-than-amd64))  
 41 | 	[`amd64`](https://hub.docker.com/r/amd64/kapacitor/), [`arm64v8`](https://hub.docker.com/r/arm64v8/kapacitor/)
 42 | 
 43 | -	**Published image artifact details**:  
 44 | 	[repo-info repo's `repos/kapacitor/` directory](https://github.com/docker-library/repo-info/blob/master/repos/kapacitor) ([history](https://github.com/docker-library/repo-info/commits/master/repos/kapacitor))  
 45 | 	(image metadata, transfer size, etc)
 46 | 
 47 | -	**Image updates**:  
 48 | 	[official-images repo's `library/kapacitor` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fkapacitor)  
 49 | 	[official-images repo's `library/kapacitor` file](https://github.com/docker-library/official-images/blob/master/library/kapacitor) ([history](https://github.com/docker-library/official-images/commits/master/library/kapacitor))
 50 | 
 51 | -	**Source of this description**:  
 52 | 	[docs repo's `kapacitor/` directory](https://github.com/docker-library/docs/tree/master/kapacitor) ([history](https://github.com/docker-library/docs/commits/master/kapacitor))
 53 | 
 54 | # Kapacitor
 55 | 
 56 | Kapacitor is an open source data processing engine written in Go. It can process both stream and batch data.
 57 | 
 58 | [Kapacitor Official Documentation](https://docs.influxdata.com/kapacitor/latest/introduction/getting_started/)
 59 | 
 60 | ![logo](https://raw.githubusercontent.com/docker-library/docs/43d87118415bb75d7bb107683e79cd6d69186f67/kapacitor/logo.png)
 61 | 
 62 | ## Using this image
 63 | 
 64 | ### Using the default configuration
 65 | 
 66 | Start the Kapacitor container with default options:
 67 | 
 68 | ```console
 69 | $ docker run -p 9092:9092 kapacitor
 70 | ```
 71 | 
 72 | Start the Kapacitor container sharing the data directory with the host:
 73 | 
 74 | ```console
 75 | $ docker run -p 9092:9092 \
 76 |       -v $PWD:/var/lib/kapacitor \
 77 |       kapacitor
 78 | ```
 79 | 
 80 | Modify `$PWD` to the directory where you want to store data associated with the Kapacitor container.
 81 | 
 82 | You can also have Docker control the volume mountpoint by using a named volume.
 83 | 
 84 | ```console
 85 | $ docker run -p 9092:9092 \
 86 |       -v kapacitor:/var/lib/kapacitor \
 87 |       kapacitor
 88 | ```
 89 | 
 90 | ### Configuration
 91 | 
 92 | Kapacitor can be either configured from a config file or using environment variables. To mount a configuration file and use it with the server, you can use this command:
 93 | 
 94 | Generate the default configuration file:
 95 | 
 96 | ```console
 97 | $ docker run --rm kapacitor kapacitord config > kapacitor.conf
 98 | ```
 99 | 
100 | Modify the default configuration, which will now be available under `$PWD`. Then start the Kapacitor container.
101 | 
102 | ```console
103 | $ docker run -p 9092:9092 \
104 |       -v $PWD/kapacitor.conf:/etc/kapacitor/kapacitor.conf:ro \
105 |       kapacitor
106 | ```
107 | 
108 | Modify `$PWD` to the directory where you want to store the configuration file.
109 | 
110 | For environment variables, the format is `KAPACITOR_$SECTION_$NAME`. All dashes (`-`) are replaced with underscores (`_`). If the variable isn't in a section, then omit that part. If the config section is an array, use a number to set the nth value in the configuration file.
111 | 
112 | Examples:
113 | 
114 | ```console
115 | KAPACITOR_HOSTNAME=kapacitor
116 | KAPACITOR_LOGGING_LEVEL=INFO
117 | KAPACITOR_REPORTING_ENABLED=false
118 | KAPACITOR_INFLUXDB_0_URLS_0=http://influxdb:8086
119 | ```
120 | 
121 | Find more about configuring Kapacitor [here](https://docs.influxdata.com/kapacitor/latest/introduction/installation/)
122 | 
123 | #### Running as root
124 | 
125 | Starting in v1.7.4, Kapacitor no longer run as the root user by default. If a user wants to revert this change they can set `KAPACITOR_AS_ROOT=true` as an environment variable.
126 | 
127 | ### Exposed Ports
128 | 
129 | -	9092 TCP -- HTTP API endpoint
130 | 
131 | #### Subscriptions
132 | 
133 | Subscriptions allow InfluxDB to push data to Kapacitor for faster alerting instead of requiring Kapacitor to pull data from InfluxDB.
134 | 
135 | These examples assume you are using a custom configuration file that takes advantage of Docker's built-in service discovery capability. In order to do so, we'll first create a new network:
136 | 
137 | ```console
138 | $ docker network create influxdb
139 | ```
140 | 
141 | Next, we'll start our InfluxDB container named `influxdb`:
142 | 
143 | ```console
144 | $ docker run -d --name=influxdb \
145 |       --net=influxdb \
146 |       influxdb
147 | ```
148 | 
149 | Start the Kapacitor container with the container hostname matching the container name so Kapacitor can automatically create subscriptions correctly and with the `KAPACITOR_INFLUXDB_0_URLS_0` value set to point at InfluxDB.
150 | 
151 | ```console
152 | $ docker run -p 9092:9092 \
153 |     --name=kapacitor \
154 |     -h kapacitor \
155 |     --net=influxdb \
156 |     -e KAPACITOR_INFLUXDB_0_URLS_0=http://influxdb:8086 \
157 |     kapacitor
158 | ```
159 | 
160 | You can also start Kapacitor sharing the same network interface of the InfluxDB container. If you do this, Docker will act as if both processes were being run on the same machine.
161 | 
162 | ```console
163 | $ docker run -p 9092:9092 \
164 |       --name=kapacitor \
165 |       --net=container:influxdb \
166 |       kapacitor
167 | ```
168 | 
169 | When run like this, InfluxDB can be communicated with over `localhost`.
170 | 
171 | ### CLI / SHELL
172 | 
173 | Start the container:
174 | 
175 | ```console
176 | $ docker run --name=kapacitor -d -p 9092:9092 kapacitor
177 | ```
178 | 
179 | Run another container linked to the `kapacitor` container for using the client. Set the env `KAPACITOR_URL` so the client knows how to connect to Kapacitor. Mount in your current directory for accessing TICKscript files.
180 | 
181 | ```console
182 | $ docker run --rm --net=container:kapacitor \
183 |       -v $PWD:/root -w=/root -it \
184 |       kapacitor bash -l
185 | ```
186 | 
187 | Then, from within the container, you can use the `kapacitor` command to interact with the daemon.
188 | 
189 | See [this](https://docs.influxdata.com/kapacitor/latest/introduction/getting_started/) for a more detailed getting started guide with Kapacitor.
190 | 
191 | # Image Variants
192 | 
193 | The `kapacitor` images come in many flavors, each designed for a specific use case.
194 | 
195 | ## `kapacitor:<version>`
196 | 
197 | This is the defacto image. If you are unsure about what your needs are, you probably want to use this one. It is designed to be used both as a throw away container (mount your source code and start the container to start your app), as well as the base to build other images off of.
198 | 
199 | ## `kapacitor:<version>-alpine`
200 | 
201 | This image is based on the popular [Alpine Linux project](https://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general.
202 | 
203 | This variant is useful when final image size being as small as possible is your primary concern. The main caveat to note is that it does use [musl libc](https://musl.libc.org) instead of [glibc and friends](https://www.etalabs.net/compare_libcs.html), so software will often run into issues depending on the depth of their libc requirements/assumptions. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images.
204 | 
205 | To minimize image size, it's uncommon for additional related tools (such as `git` or `bash`) to be included in Alpine-based images. Using this image as a base, add the things you need in your own Dockerfile (see the [`alpine` image description](https://hub.docker.com/_/alpine/) for examples of how to install packages if you are unfamiliar).
206 | 
207 | # License
208 | 
209 | View [license information](https://github.com/influxdata/kapacitor/blob/master/LICENSE) for the software contained in this image.
210 | 
211 | As with all Docker images, these likely also contain other software which may be under other licenses (such as Bash, etc from the base distribution, along with any direct or indirect dependencies of the primary software being contained).
212 | 
213 | Some additional license information which was able to be auto-detected might be found in [the `repo-info` repository's `kapacitor/` directory](https://github.com/docker-library/repo-info/tree/master/repos/kapacitor).
214 | 
215 | As for any pre-built image usage, it is the image user's responsibility to ensure that any use of this image complies with any relevant licenses for all software contained within.
216 | 
```

--------------------------------------------------------------------------------
/rust/README.md:
--------------------------------------------------------------------------------

```markdown
  1 | <!--
  2 | 
  3 | ********************************************************************************
  4 | 
  5 | WARNING:
  6 | 
  7 |     DO NOT EDIT "rust/README.md"
  8 | 
  9 |     IT IS AUTO-GENERATED
 10 | 
 11 |     (from the other files in "rust/" combined with a set of templates)
 12 | 
 13 | ********************************************************************************
 14 | 
 15 | -->
 16 | 
 17 | # Quick reference
 18 | 
 19 | -	**Maintained by**:  
 20 | 	[the Rust Project developers](https://github.com/rust-lang/docker-rust)
 21 | 
 22 | -	**Where to get help**:  
 23 | 	[the Docker Community Slack](https://dockr.ly/comm-slack), [Server Fault](https://serverfault.com/help/on-topic), [Unix & Linux](https://unix.stackexchange.com/help/on-topic), or [Stack Overflow](https://stackoverflow.com/help/on-topic)
 24 | 
 25 | # Supported tags and respective `Dockerfile` links
 26 | 
 27 | -	[`1-bullseye`, `1.86-bullseye`, `1.86.0-bullseye`, `bullseye`](https://github.com/rust-lang/docker-rust/blob/4c319c1b759ebc1f3452f2c3b62f75b509baa4e6/stable/bullseye/Dockerfile)
 28 | 
 29 | -	[`1-slim-bullseye`, `1.86-slim-bullseye`, `1.86.0-slim-bullseye`, `slim-bullseye`](https://github.com/rust-lang/docker-rust/blob/4c319c1b759ebc1f3452f2c3b62f75b509baa4e6/stable/bullseye/slim/Dockerfile)
 30 | 
 31 | -	[`1-bookworm`, `1.86-bookworm`, `1.86.0-bookworm`, `bookworm`, `1`, `1.86`, `1.86.0`, `latest`](https://github.com/rust-lang/docker-rust/blob/4c319c1b759ebc1f3452f2c3b62f75b509baa4e6/stable/bookworm/Dockerfile)
 32 | 
 33 | -	[`1-slim-bookworm`, `1.86-slim-bookworm`, `1.86.0-slim-bookworm`, `slim-bookworm`, `1-slim`, `1.86-slim`, `1.86.0-slim`, `slim`](https://github.com/rust-lang/docker-rust/blob/4c319c1b759ebc1f3452f2c3b62f75b509baa4e6/stable/bookworm/slim/Dockerfile)
 34 | 
 35 | -	[`1-alpine3.20`, `1.86-alpine3.20`, `1.86.0-alpine3.20`, `alpine3.20`](https://github.com/rust-lang/docker-rust/blob/4c319c1b759ebc1f3452f2c3b62f75b509baa4e6/stable/alpine3.20/Dockerfile)
 36 | 
 37 | -	[`1-alpine3.21`, `1.86-alpine3.21`, `1.86.0-alpine3.21`, `alpine3.21`, `1-alpine`, `1.86-alpine`, `1.86.0-alpine`, `alpine`](https://github.com/rust-lang/docker-rust/blob/4c319c1b759ebc1f3452f2c3b62f75b509baa4e6/stable/alpine3.21/Dockerfile)
 38 | 
 39 | # Quick reference (cont.)
 40 | 
 41 | -	**Where to file issues**:  
 42 | 	[https://github.com/rust-lang/docker-rust/issues](https://github.com/rust-lang/docker-rust/issues?q=)
 43 | 
 44 | -	**Supported architectures**: ([more info](https://github.com/docker-library/official-images#architectures-other-than-amd64))  
 45 | 	[`amd64`](https://hub.docker.com/r/amd64/rust/), [`arm32v7`](https://hub.docker.com/r/arm32v7/rust/), [`arm64v8`](https://hub.docker.com/r/arm64v8/rust/), [`i386`](https://hub.docker.com/r/i386/rust/), [`ppc64le`](https://hub.docker.com/r/ppc64le/rust/), [`s390x`](https://hub.docker.com/r/s390x/rust/)
 46 | 
 47 | -	**Published image artifact details**:  
 48 | 	[repo-info repo's `repos/rust/` directory](https://github.com/docker-library/repo-info/blob/master/repos/rust) ([history](https://github.com/docker-library/repo-info/commits/master/repos/rust))  
 49 | 	(image metadata, transfer size, etc)
 50 | 
 51 | -	**Image updates**:  
 52 | 	[official-images repo's `library/rust` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Frust)  
 53 | 	[official-images repo's `library/rust` file](https://github.com/docker-library/official-images/blob/master/library/rust) ([history](https://github.com/docker-library/official-images/commits/master/library/rust))
 54 | 
 55 | -	**Source of this description**:  
 56 | 	[docs repo's `rust/` directory](https://github.com/docker-library/docs/tree/master/rust) ([history](https://github.com/docker-library/docs/commits/master/rust))
 57 | 
 58 | # What is Rust?
 59 | 
 60 | Rust is a systems programming language sponsored by Mozilla Research. It is designed to be a "safe, concurrent, practical language", supporting functional and imperative-procedural paradigms. Rust is syntactically similar to C++, but is designed for better memory safety while maintaining performance.
 61 | 
 62 | > [wikipedia.org/wiki/Rust_(programming_language)](https://en.wikipedia.org/wiki/Rust_%28programming_language%29)
 63 | 
 64 | ![logo](https://raw.githubusercontent.com/docker-library/docs/a11c341c57de07fbccfed7b21ea92d4bc40130a2/rust/logo.png)
 65 | 
 66 | # How to use this image
 67 | 
 68 | ## Start a Rust instance running your app
 69 | 
 70 | The most straightforward way to use this image is to use a Rust container as both the build and runtime environment. In your `Dockerfile`, writing something along the lines of the following will compile and run your project:
 71 | 
 72 | ```dockerfile
 73 | FROM rust:1.67
 74 | 
 75 | WORKDIR /usr/src/myapp
 76 | COPY . .
 77 | 
 78 | RUN cargo install --path .
 79 | 
 80 | CMD ["myapp"]
 81 | ```
 82 | 
 83 | Then, build and run the Docker image:
 84 | 
 85 | ```console
 86 | $ docker build -t my-rust-app .
 87 | $ docker run -it --rm --name my-running-app my-rust-app
 88 | ```
 89 | 
 90 | This creates an image that has all of the rust tooling for the image, which is 1.8gb. If you just want the compiled application:
 91 | 
 92 | ```dockerfile
 93 | FROM rust:1.67 as builder
 94 | WORKDIR /usr/src/myapp
 95 | COPY . .
 96 | RUN cargo install --path .
 97 | 
 98 | FROM debian:bullseye-slim
 99 | RUN apt-get update && apt-get install -y extra-runtime-dependencies && rm -rf /var/lib/apt/lists/*
100 | COPY --from=builder /usr/local/cargo/bin/myapp /usr/local/bin/myapp
101 | CMD ["myapp"]
102 | ```
103 | 
104 | Note: Some shared libraries may need to be installed as shown in the installation of the `extra-runtime-dependencies` line above.
105 | 
106 | This method will create an image that is less than 200mb. If you switch to using the Alpine-based rust image, you might be able to save another 60mb.
107 | 
108 | See https://docs.docker.com/develop/develop-images/multistage-build/ for more information.
109 | 
110 | ## Compile your app inside the Docker container
111 | 
112 | There may be occasions where it is not appropriate to run your app inside a container. To compile, but not run your app inside the Docker instance, you can write something like:
113 | 
114 | ```console
115 | $ docker run --rm --user "$(id -u)":"$(id -g)" -v "$PWD":/usr/src/myapp -w /usr/src/myapp rust:1.23.0 cargo build --release
116 | ```
117 | 
118 | This will add your current directory, as a volume, to the container, set the working directory to the volume, and run the command `cargo build --release`. This tells Cargo, Rust's build system, to compile the crate in `myapp` and output the executable to `target/release/myapp`.
119 | 
120 | # Image Variants
121 | 
122 | The `rust` images come in many flavors, each designed for a specific use case.
123 | 
124 | ## `rust:<version>`
125 | 
126 | This is the defacto image. If you are unsure about what your needs are, you probably want to use this one. It is designed to be used both as a throw away container (mount your source code and start the container to start your app), as well as the base to build other images off of.
127 | 
128 | Some of these tags may have names like bookworm or bullseye in them. These are the suite code names for releases of [Debian](https://wiki.debian.org/DebianReleases) and indicate which release the image is based on. If your image needs to install any additional packages beyond what comes with the image, you'll likely want to specify one of these explicitly to minimize breakage when there are new releases of Debian.
129 | 
130 | This tag is based off of [`buildpack-deps`](https://hub.docker.com/_/buildpack-deps/). `buildpack-deps` is designed for the average user of Docker who has many images on their system. It, by design, has a large number of extremely common Debian packages. This reduces the number of packages that images that derive from it need to install, thus reducing the overall size of all images on your system.
131 | 
132 | ## `rust:<version>-slim`
133 | 
134 | This image does not contain the common packages contained in the default tag and only contains the minimal packages needed to run `rust`. Unless you are working in an environment where *only* the `rust` image will be deployed and you have space constraints, we highly recommend using the default image of this repository.
135 | 
136 | ## `rust:<version>-alpine`
137 | 
138 | This image is based on the popular [Alpine Linux project](https://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general.
139 | 
140 | This variant is useful when final image size being as small as possible is your primary concern. The main caveat to note is that it does use [musl libc](https://musl.libc.org) instead of [glibc and friends](https://www.etalabs.net/compare_libcs.html), so software will often run into issues depending on the depth of their libc requirements/assumptions. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images.
141 | 
142 | To minimize image size, it's uncommon for additional related tools (such as `git` or `bash`) to be included in Alpine-based images. Using this image as a base, add the things you need in your own Dockerfile (see the [`alpine` image description](https://hub.docker.com/_/alpine/) for examples of how to install packages if you are unfamiliar).
143 | 
144 | # License
145 | 
146 | View [license information](https://www.rust-lang.org/en-US/legal.html) for the software contained in this image.
147 | 
148 | As with all Docker images, these likely also contain other software which may be under other licenses (such as Bash, etc from the base distribution, along with any direct or indirect dependencies of the primary software being contained).
149 | 
150 | Some additional license information which was able to be auto-detected might be found in [the `repo-info` repository's `rust/` directory](https://github.com/docker-library/repo-info/tree/master/repos/rust).
151 | 
152 | As for any pre-built image usage, it is the image user's responsibility to ensure that any use of this image complies with any relevant licenses for all software contained within.
153 | 
```

--------------------------------------------------------------------------------
/erlang/README.md:
--------------------------------------------------------------------------------

```markdown
  1 | <!--
  2 | 
  3 | ********************************************************************************
  4 | 
  5 | WARNING:
  6 | 
  7 |     DO NOT EDIT "erlang/README.md"
  8 | 
  9 |     IT IS AUTO-GENERATED
 10 | 
 11 |     (from the other files in "erlang/" combined with a set of templates)
 12 | 
 13 | ********************************************************************************
 14 | 
 15 | -->
 16 | 
 17 | # Quick reference
 18 | 
 19 | -	**Maintained by**:  
 20 | 	[the Docker Community](https://github.com/erlang/docker-erlang-otp)
 21 | 
 22 | -	**Where to get help**:  
 23 | 	[the Docker Community Slack](https://dockr.ly/comm-slack), [Server Fault](https://serverfault.com/help/on-topic), [Unix & Linux](https://unix.stackexchange.com/help/on-topic), or [Stack Overflow](https://stackoverflow.com/help/on-topic)
 24 | 
 25 | # Supported tags and respective `Dockerfile` links
 26 | 
 27 | -	[`28.0.0.0-rc2`, `28.0.0`, `28.0`, `28`](https://github.com/erlang/docker-erlang-otp/blob/c572ad3b71b6a21bdcd10fde3b3516175f390afa/28/Dockerfile)
 28 | 
 29 | -	[`28.0.0.0-rc2-slim`, `28.0.0-slim`, `28.0-slim`, `28-slim`](https://github.com/erlang/docker-erlang-otp/blob/c572ad3b71b6a21bdcd10fde3b3516175f390afa/28/slim/Dockerfile)
 30 | 
 31 | -	[`28.0.0.0-rc2-alpine`, `28.0.0-alpine`, `28.0-alpine`, `28-alpine`](https://github.com/erlang/docker-erlang-otp/blob/c572ad3b71b6a21bdcd10fde3b3516175f390afa/28/alpine/Dockerfile)
 32 | 
 33 | -	[`27.3.3.0`, `27.3.3`, `27.3`, `27`, `latest`](https://github.com/erlang/docker-erlang-otp/blob/ee1bc4b04fb25496e02799a5285678072cf31b1e/27/Dockerfile)
 34 | 
 35 | -	[`27.3.3.0-slim`, `27.3.3-slim`, `27.3-slim`, `27-slim`, `slim`](https://github.com/erlang/docker-erlang-otp/blob/ee1bc4b04fb25496e02799a5285678072cf31b1e/27/slim/Dockerfile)
 36 | 
 37 | -	[`27.3.3.0-alpine`, `27.3.3-alpine`, `27.3-alpine`, `27-alpine`, `alpine`](https://github.com/erlang/docker-erlang-otp/blob/ee1bc4b04fb25496e02799a5285678072cf31b1e/27/alpine/Dockerfile)
 38 | 
 39 | -	[`26.2.5.11`, `26.2.5`, `26.2`, `26`](https://github.com/erlang/docker-erlang-otp/blob/ee1bc4b04fb25496e02799a5285678072cf31b1e/26/Dockerfile)
 40 | 
 41 | -	[`26.2.5.11-slim`, `26.2.5-slim`, `26.2-slim`, `26-slim`](https://github.com/erlang/docker-erlang-otp/blob/ee1bc4b04fb25496e02799a5285678072cf31b1e/26/slim/Dockerfile)
 42 | 
 43 | -	[`26.2.5.11-alpine`, `26.2.5-alpine`, `26.2-alpine`, `26-alpine`](https://github.com/erlang/docker-erlang-otp/blob/ee1bc4b04fb25496e02799a5285678072cf31b1e/26/alpine/Dockerfile)
 44 | 
 45 | -	[`25.3.2.20`, `25.3.2`, `25.3`, `25`](https://github.com/erlang/docker-erlang-otp/blob/ee1bc4b04fb25496e02799a5285678072cf31b1e/25/Dockerfile)
 46 | 
 47 | -	[`25.3.2.20-slim`, `25.3.2-slim`, `25.3-slim`, `25-slim`](https://github.com/erlang/docker-erlang-otp/blob/ee1bc4b04fb25496e02799a5285678072cf31b1e/25/slim/Dockerfile)
 48 | 
 49 | -	[`25.3.2.20-alpine`, `25.3.2-alpine`, `25.3-alpine`, `25-alpine`](https://github.com/erlang/docker-erlang-otp/blob/ee1bc4b04fb25496e02799a5285678072cf31b1e/25/alpine/Dockerfile)
 50 | 
 51 | -	[`24.3.4.17`, `24.3.4`, `24.3`, `24`](https://github.com/erlang/docker-erlang-otp/blob/c7e3d58244259ec45bd0b84df7287096d9833d19/24/Dockerfile)
 52 | 
 53 | -	[`24.3.4.17-slim`, `24.3.4-slim`, `24.3-slim`, `24-slim`](https://github.com/erlang/docker-erlang-otp/blob/c7e3d58244259ec45bd0b84df7287096d9833d19/24/slim/Dockerfile)
 54 | 
 55 | -	[`24.3.4.17-alpine`, `24.3.4-alpine`, `24.3-alpine`, `24-alpine`](https://github.com/erlang/docker-erlang-otp/blob/31b38022c405588392cfb37ff4ccb0cff92873ea/24/alpine/Dockerfile)
 56 | 
 57 | # Quick reference (cont.)
 58 | 
 59 | -	**Where to file issues**:  
 60 | 	[https://github.com/erlang/docker-erlang-otp/issues](https://github.com/erlang/docker-erlang-otp/issues?q=)
 61 | 
 62 | -	**Supported architectures**: ([more info](https://github.com/docker-library/official-images#architectures-other-than-amd64))  
 63 | 	[`amd64`](https://hub.docker.com/r/amd64/erlang/), [`arm32v5`](https://hub.docker.com/r/arm32v5/erlang/), [`arm32v7`](https://hub.docker.com/r/arm32v7/erlang/), [`arm64v8`](https://hub.docker.com/r/arm64v8/erlang/), [`i386`](https://hub.docker.com/r/i386/erlang/), [`mips64le`](https://hub.docker.com/r/mips64le/erlang/), [`ppc64le`](https://hub.docker.com/r/ppc64le/erlang/), [`s390x`](https://hub.docker.com/r/s390x/erlang/)
 64 | 
 65 | -	**Published image artifact details**:  
 66 | 	[repo-info repo's `repos/erlang/` directory](https://github.com/docker-library/repo-info/blob/master/repos/erlang) ([history](https://github.com/docker-library/repo-info/commits/master/repos/erlang))  
 67 | 	(image metadata, transfer size, etc)
 68 | 
 69 | -	**Image updates**:  
 70 | 	[official-images repo's `library/erlang` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Ferlang)  
 71 | 	[official-images repo's `library/erlang` file](https://github.com/docker-library/official-images/blob/master/library/erlang) ([history](https://github.com/docker-library/official-images/commits/master/library/erlang))
 72 | 
 73 | -	**Source of this description**:  
 74 | 	[docs repo's `erlang/` directory](https://github.com/docker-library/docs/tree/master/erlang) ([history](https://github.com/docker-library/docs/commits/master/erlang))
 75 | 
 76 | # What is Erlang?
 77 | 
 78 | Erlang is a programming language used to build massively scalable soft real-time systems with requirements on high availability. Some of its uses are in telecoms, banking, e-commerce, computer telephony and instant messaging. Erlang's runtime system has built-in support for concurrency, distribution and fault tolerance.
 79 | 
 80 | > [wikipedia.org/wiki/Erlang_(programming_language)](https://en.wikipedia.org/wiki/Erlang_%28programming_language%29)
 81 | 
 82 | ![logo](https://raw.githubusercontent.com/docker-library/docs/4144083772e02655d41aa10d6467aaf1e99fa77b/erlang/logo.png)
 83 | 
 84 | # How to use this image
 85 | 
 86 | ## Run it as the REPL
 87 | 
 88 | ```console
 89 | ➸ docker run -it --rm erlang
 90 | Erlang/OTP 20 [erts-9.0] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:10] [hipe] [kernel-poll:false]
 91 | 
 92 | Eshell V9.0  (abort with ^G)
 93 | 1> uptime().
 94 | 3 seconds
 95 | ok
 96 | 2>                                 % use Ctrl+G to call the shell switch
 97 | User switch command
 98 |  --> ?
 99 |   c [nn]            - connect to job
100 |   i [nn]            - interrupt job
101 |   k [nn]            - kill job
102 |   j                 - list all jobs
103 |   s [shell]         - start local shell
104 |   r [node [shell]]  - start remote shell
105 |   q                 - quit erlang
106 |   ? | h             - this message
107 |  --> q
108 | ➸ docker run -it --rm -h erlang.local erlang erl -name [email protected]
109 | Erlang/OTP 20 [erts-9.0] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:10] [hipe] [kernel-poll:false]
110 | 
111 | Eshell V9.0  (abort with ^G)
112 | ([email protected])1> erlang:system_info(otp_release).
113 | "20"
114 | ([email protected])2>
115 | User switch command
116 | --> q
117 | ```
118 | 
119 | ## Run a single Erlang escript
120 | 
121 | ```console
122 | $ docker run -it --rm --name erlang-inst1 -v "$PWD":/usr/src/myapp -w /usr/src/myapp erlang escript your-escript.erl
123 | ```
124 | 
125 | # Image Variants
126 | 
127 | The `erlang` images come in many flavors, each designed for a specific use case.
128 | 
129 | ## `erlang:<version>`
130 | 
131 | This is the defacto image. If you are unsure about what your needs are, you probably want to use this one. It is designed to be used both as a throw away container (mount your source code and start the container to start your app), as well as the base to build other images off of.
132 | 
133 | This tag is based off of [`buildpack-deps`](https://hub.docker.com/_/buildpack-deps/). `buildpack-deps` is designed for the average user of Docker who has many images on their system. It, by design, has a large number of extremely common Debian packages. This reduces the number of packages that images that derive from it need to install, thus reducing the overall size of all images on your system.
134 | 
135 | ## `erlang:<version>-slim`
136 | 
137 | This image does not contain the common packages contained in the default tag and only contains the minimal packages needed to run `erlang`. Unless you are working in an environment where *only* the `erlang` image will be deployed and you have space constraints, we highly recommend using the default image of this repository.
138 | 
139 | ## `erlang:<version>-alpine`
140 | 
141 | This image is based on the popular [Alpine Linux project](https://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general.
142 | 
143 | This variant is useful when final image size being as small as possible is your primary concern. The main caveat to note is that it does use [musl libc](https://musl.libc.org) instead of [glibc and friends](https://www.etalabs.net/compare_libcs.html), so software will often run into issues depending on the depth of their libc requirements/assumptions. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images.
144 | 
145 | To minimize image size, it's uncommon for additional related tools (such as `git` or `bash`) to be included in Alpine-based images. Using this image as a base, add the things you need in your own Dockerfile (see the [`alpine` image description](https://hub.docker.com/_/alpine/) for examples of how to install packages if you are unfamiliar).
146 | 
147 | # License
148 | 
149 | View [license information](http://www.erlang.org/about.html) for the software contained in this image.
150 | 
151 | 1.	From OTP 18 and above, Erlang is released under Apache License 2.0
152 | 2.	The previous are released under [Erlang Public License (EPL)](http://www.erlang.org/EPLICENSE). EPL is a derivative work of the Mozilla Public License (MPL). It contains terms which differ from MPL, mainly in terms of jurisdiction. The license is constructed in accordance with the laws of Sweden.
153 | 
154 | As with all Docker images, these likely also contain other software which may be under other licenses (such as Bash, etc from the base distribution, along with any direct or indirect dependencies of the primary software being contained).
155 | 
156 | Some additional license information which was able to be auto-detected might be found in [the `repo-info` repository's `erlang/` directory](https://github.com/docker-library/repo-info/tree/master/repos/erlang).
157 | 
158 | As for any pre-built image usage, it is the image user's responsibility to ensure that any use of this image complies with any relevant licenses for all software contained within.
159 | 
```

--------------------------------------------------------------------------------
/plone/README.md:
--------------------------------------------------------------------------------

```markdown
  1 | <!--
  2 | 
  3 | ********************************************************************************
  4 | 
  5 | WARNING:
  6 | 
  7 |     DO NOT EDIT "plone/README.md"
  8 | 
  9 |     IT IS AUTO-GENERATED
 10 | 
 11 |     (from the other files in "plone/" combined with a set of templates)
 12 | 
 13 | ********************************************************************************
 14 | 
 15 | -->
 16 | 
 17 | # Quick reference
 18 | 
 19 | -	**Maintained by**:  
 20 | 	[Plone Community](https://github.com/plone/plone.docker)
 21 | 
 22 | -	**Where to get help**:  
 23 | 	[the Docker Community Slack](https://dockr.ly/comm-slack), [Server Fault](https://serverfault.com/help/on-topic), [Unix & Linux](https://unix.stackexchange.com/help/on-topic), or [Stack Overflow](https://stackoverflow.com/help/on-topic)
 24 | 
 25 | # Supported tags and respective `Dockerfile` links
 26 | 
 27 | -	[`5.2.14-python38`, `5.2-python38`, `5-python38`, `python38`, `5.2.14`, `5.2`, `5`, `latest`](https://github.com/plone/plone.docker/blob/a3a9c7e0c5ca324f488fe7354f00a997398195f7/5.2/5.2.14/debian/Dockerfile)
 28 | 
 29 | # Quick reference (cont.)
 30 | 
 31 | -	**Where to file issues**:  
 32 | 	[https://github.com/plone/plone.docker/issues](https://github.com/plone/plone.docker/issues?q=)
 33 | 
 34 | -	**Supported architectures**: ([more info](https://github.com/docker-library/official-images#architectures-other-than-amd64))  
 35 | 	[`amd64`](https://hub.docker.com/r/amd64/plone/)
 36 | 
 37 | -	**Published image artifact details**:  
 38 | 	[repo-info repo's `repos/plone/` directory](https://github.com/docker-library/repo-info/blob/master/repos/plone) ([history](https://github.com/docker-library/repo-info/commits/master/repos/plone))  
 39 | 	(image metadata, transfer size, etc)
 40 | 
 41 | -	**Image updates**:  
 42 | 	[official-images repo's `library/plone` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fplone)  
 43 | 	[official-images repo's `library/plone` file](https://github.com/docker-library/official-images/blob/master/library/plone) ([history](https://github.com/docker-library/official-images/commits/master/library/plone))
 44 | 
 45 | -	**Source of this description**:  
 46 | 	[docs repo's `plone/` directory](https://github.com/docker-library/docs/tree/master/plone) ([history](https://github.com/docker-library/docs/commits/master/plone))
 47 | 
 48 | # What is Plone?
 49 | 
 50 | [Plone](https://plone.org) is a free and open source content management system built on top of the Zope application server.
 51 | 
 52 | ![logo](https://raw.githubusercontent.com/docker-library/docs/57d4b2b366f7243810393fa6018bd8b62926b78d/plone/logo.svg?sanitize=true)
 53 | 
 54 | ## Features
 55 | 
 56 | -	Images for Plone 5.x and Plone 4.x
 57 | -	Enable add-ons via environment variables
 58 | -	Choose between [Debian](https://www.debian.org/) or [Alpine](http://www.alpinelinux.org/) based images.
 59 | -	Built-in RelStorage support, configurable via environment variables (requires Plone 5.2.4+)
 60 | -	Built-in LDAP/AD support via pas.plugins.ldap (requires Plone 5.2.4+)
 61 | 
 62 | ## Usage
 63 | 
 64 | ### Start a single Plone instance
 65 | 
 66 | This will download and start the latest Plone 5 container, based on [Debian](https://www.debian.org/).
 67 | 
 68 | ```console
 69 | $ docker run -p 8080:8080 plone
 70 | ```
 71 | 
 72 | This image includes `EXPOSE 8080` (the Plone port), so standard container linking will make it automatically available to the linked containers. Now you can add a Plone Site at http://localhost:8080 - default Zope user and password are `admin/admin`.
 73 | 
 74 | ### Start Plone within a ZEO cluster
 75 | 
 76 | ZEO cluster are best suited for production setups, you will **need** a loadbalancer.
 77 | 
 78 | Start ZEO server in the background
 79 | 
 80 | ```console
 81 | $ docker run --name=zeo plone zeo
 82 | ```
 83 | 
 84 | Start 2 Plone clients (also in the background)
 85 | 
 86 | ```console
 87 | $ docker run --link=zeo -e ZEO_ADDRESS=zeo:8080 -p 8081:8080 plone
 88 | $ docker run --link=zeo -e ZEO_ADDRESS=zeo:8080 -p 8082:8080 plone
 89 | ```
 90 | 
 91 | ### Start Plone in debug mode
 92 | 
 93 | You can also start Plone in debug mode (`fg`) by running
 94 | 
 95 | ```console
 96 | $ docker run -p 8080:8080 plone fg
 97 | ```
 98 | 
 99 | ### Add-ons
100 | 
101 | You can enable Plone add-ons via the `ADDONS` environment variable
102 | 
103 | ```console
104 | $ docker run -p 8080:8080 -e PLONE_ADDONS="eea.facetednavigation Products.PloneFormGen" plone
105 | ```
106 | 
107 | For more information on how to extend this image with your own custom settings, adding more add-ons, building it or mounting volumes, please refer to our [documentation](https://docs.plone.org/manage/docker/docs/index.html)
108 | 
109 | ## Supported Environment Variables
110 | 
111 | The Plone image uses several environment variable that allow to specify a more specific setup.
112 | 
113 | ### For Basic Usage
114 | 
115 | -	`ADDONS` - Customize Plone via Plone add-ons using this environment variable
116 | -	`SITE` - Add Plone instance with this id to `Data.fs` on first run. If NOT provided, you'll have to manually add a Plone Site via web UI
117 | -	`ZEO_ADDRESS` - This environment variable allows you to run Plone image as a ZEO client.
118 | -	`VERSIONS` - Use specific versions of Plone Add-on or python libraries
119 | 
120 | Run Plone and install two addons (eea.facetednavigation and collective.easyform)
121 | 
122 | ```console
123 | $ docker run -p 8080:8080 -e SITE="mysite" -e ADDONS="eea.facetednavigation collective.easyform" plone
124 | ```
125 | 
126 | To use specific add-ons versions:
127 | 
128 | ```console
129 |  -e ADDONS="eea.facetednavigation collective.easyform" \
130 |  -e VERSIONS="eea.facetednavigation=13.3 collective.easyform=2.1.0"
131 | ```
132 | 
133 | RestAPI:
134 | 
135 | ```console
136 | $ docker run -p 8080:8080 -e SITE=plone plone
137 | 
138 | $ curl -H 'Accept: application/json' http://localhost:8080/plone
139 | ```
140 | 
141 | ### For Advanced Usage
142 | 
143 | **Plone:**
144 | 
145 | -	`PLONE_ADDONS`, `ADDONS` - Customize Plone via Plone add-ons using this environment variable
146 | -	`PLONE_SITE`, `SITE` - Add Plone with this id to `Data.fs` on first run. If NOT provided, you'll have to manually add a Plone Site via web UI
147 | -	`PLONE_VERSIONS`, `VERSIONS` - Use specific versions of Plone Add-on or python libraries
148 | -	`PLONE_PROFILES, PROFILES` - GenericSetup profiles to include when `SITE` environment provided.
149 | -	`PLONE_ZCML`, `ZCML` - Include custom Plone add-ons ZCML files (former `BUILDOUT_ZCML`)
150 | -	`PLONE_DEVELOP`, `DEVELOP` - Develop new or existing Plone add-ons (former `BUILDOUT_DEVELOP`)
151 | 
152 | **ZEO:**
153 | 
154 | -	`ZEO_ADDRESS` - This environment variable allows you to run Plone image as a ZEO client.
155 | -	`ZEO_READ_ONLY` - Run Plone as a read-only ZEO client. Defaults to `off`.
156 | -	`ZEO_CLIENT_READ_ONLY_FALLBACK` - A flag indicating whether a read-only remote storage should be acceptable as a fallback when no writable storages are available. Defaults to `false`.
157 | -	`ZEO_SHARED_BLOB_DIR` - Set this to on if the ZEO server and the instance have access to the same directory. Defaults to `off`.
158 | -	`ZEO_STORAGE` - Set the storage number of the ZEO storage. Defaults to `1`.
159 | -	`ZEO_CLIENT_CACHE_SIZE` - Set the size of the ZEO client cache. Defaults to `128MB`.
160 | -	`ZEO_PACK_KEEP_OLD` - Can be set to false to disable the creation of `*.fs.old` files before the pack is run. Defaults to true.
161 | -	`HEALTH_CHECK_TIMEOUT` - Time in seconds to wait until health check starts. Defaults to `1` second.
162 | -	`HEALTH_CHECK_INTERVAL` - Interval in seconds to check that the Zope application is still healthy. Defaults to `1` second.
163 | 
164 | **CORS:**
165 | 
166 | -	`CORS_ALLOW_ORIGIN` - Origins that are allowed access to the resource. Either a comma separated list of origins, e.g. `http://example.net,http://mydomain.com` or `*`. Defaults to `http://localhost:3000,http://127.0.0.1:3000`
167 | -	`CORS_ALLOW_METHODS` - A comma separated list of HTTP method names that are allowed by this CORS policy, e.g. `DELETE,GET,OPTIONS,PATCH,POST,PUT`. Defaults to `DELETE,GET,OPTIONS,PATCH,POST,PUT`
168 | -	`CORS_ALLOW_CREDENTIALS` - Indicates whether the resource supports user credentials in the request. Defaults to `true`
169 | -	`CORS_EXPOSE_HEADERS` - A comma separated list of response headers clients can access, e.g. `Content-Length,X-My-Header`. Defaults to `Content-Length,X-My-Header`
170 | -	`CORS_ALLOW_HEADERS` - A comma separated list of request headers allowed to be sent by the client, e.g. `X-My-Header`. Defaults to `Accept,Authorization,Content-Type,X-Custom-Header`
171 | -	`CORS_MAX_AGE` - Indicates how long the results of a preflight request can be cached. Defaults to `3600`
172 | 
173 | **RELSTORAGE:**
174 | 
175 | -	`RELSTORAGE_ADAPTER_OPTIONS` - A comma separated list of RelStorage adapter options to set for the plone instance (using [plone.recipe.zope2instance](https://relstorage.readthedocs.io/en/latest/configure-application.html#configuring-plone)). This is required in order to use RelStorage.
176 | 
177 | All other available environment variables match exactly with RelStorage settings, according to the [settings specification available on the docs](https://relstorage.readthedocs.io/en/latest/relstorage-options.html).
178 | 
179 | -	`RELSTORAGE_NAME` - **name** - The name of the storage.
180 | -	`RELSTORAGE_READ_ONLY` - **read-only** - If true, only reads may be executed against the storage.
181 | -	`RELSTORAGE_KEEP_HISTORY` - **keep-history** - If this option is set to true (the default), the adapter will create and use a history-preserving database schema (like FileStorage).
182 | -	`RELSTORAGE_BLOB_DIR` - **blob-dir** - If supplied, the storage will provide ZODB blob support; this option specifies the name of the directory to hold blob data. The directory will be created if it does not exist. If no value (or an empty value) is provided, then no blob support will be provided. Default: `/plone/instance/var/blobstorage`
183 | 
184 | 	[See more](https://relstorage.readthedocs.io/en/latest/relstorage-options.html)
185 | 
186 | ## Documentation
187 | 
188 | Full documentation for end users can be found online at [docs.plone.org](https://docs.plone.org/manage/docker/docs/usage/index.html)
189 | 
190 | # License
191 | 
192 | View [license information](https://plone.org/foundation/copyright-licensing-logo/license-faq) for the software contained in this image.
193 | 
194 | As with all Docker images, these likely also contain other software which may be under other licenses (such as Bash, etc from the base distribution, along with any direct or indirect dependencies of the primary software being contained).
195 | 
196 | Some additional license information which was able to be auto-detected might be found in [the `repo-info` repository's `plone/` directory](https://github.com/docker-library/repo-info/tree/master/repos/plone).
197 | 
198 | As for any pre-built image usage, it is the image user's responsibility to ensure that any use of this image complies with any relevant licenses for all software contained within.
199 | 
```

--------------------------------------------------------------------------------
/yourls/README.md:
--------------------------------------------------------------------------------

```markdown
  1 | <!--
  2 | 
  3 | ********************************************************************************
  4 | 
  5 | WARNING:
  6 | 
  7 |     DO NOT EDIT "yourls/README.md"
  8 | 
  9 |     IT IS AUTO-GENERATED
 10 | 
 11 |     (from the other files in "yourls/" combined with a set of templates)
 12 | 
 13 | ********************************************************************************
 14 | 
 15 | -->
 16 | 
 17 | # Quick reference
 18 | 
 19 | -	**Maintained by**:  
 20 | 	[YOURLS](https://github.com/YOURLS/docker)
 21 | 
 22 | -	**Where to get help**:  
 23 | 	[the Docker Community Slack](https://dockr.ly/comm-slack), [Server Fault](https://serverfault.com/help/on-topic), [Unix & Linux](https://unix.stackexchange.com/help/on-topic), or [Stack Overflow](https://stackoverflow.com/help/on-topic)
 24 | 
 25 | # Supported tags and respective `Dockerfile` links
 26 | 
 27 | -	[`1.10.1-apache`, `1.10-apache`, `1-apache`, `apache`, `1.10.1`, `1.10`, `1`, `latest`](https://github.com/YOURLS/images/blob/d306b06d6b3e94f1441c65385395f7a384a46101/apache/Dockerfile)
 28 | 
 29 | -	[`1.10.1-fpm`, `1.10-fpm`, `1-fpm`, `fpm`](https://github.com/YOURLS/images/blob/d306b06d6b3e94f1441c65385395f7a384a46101/fpm/Dockerfile)
 30 | 
 31 | -	[`1.10.1-fpm-alpine`, `1.10-fpm-alpine`, `1-fpm-alpine`, `fpm-alpine`](https://github.com/YOURLS/images/blob/d306b06d6b3e94f1441c65385395f7a384a46101/fpm-alpine/Dockerfile)
 32 | 
 33 | # Quick reference (cont.)
 34 | 
 35 | -	**Where to file issues**:  
 36 | 	[https://github.com/YOURLS/docker/issues](https://github.com/YOURLS/docker/issues?q=)
 37 | 
 38 | -	**Supported architectures**: ([more info](https://github.com/docker-library/official-images#architectures-other-than-amd64))  
 39 | 	[`amd64`](https://hub.docker.com/r/amd64/yourls/), [`arm32v5`](https://hub.docker.com/r/arm32v5/yourls/), [`arm32v6`](https://hub.docker.com/r/arm32v6/yourls/), [`arm32v7`](https://hub.docker.com/r/arm32v7/yourls/), [`arm64v8`](https://hub.docker.com/r/arm64v8/yourls/), [`i386`](https://hub.docker.com/r/i386/yourls/), [`mips64le`](https://hub.docker.com/r/mips64le/yourls/), [`ppc64le`](https://hub.docker.com/r/ppc64le/yourls/), [`riscv64`](https://hub.docker.com/r/riscv64/yourls/), [`s390x`](https://hub.docker.com/r/s390x/yourls/)
 40 | 
 41 | -	**Published image artifact details**:  
 42 | 	[repo-info repo's `repos/yourls/` directory](https://github.com/docker-library/repo-info/blob/master/repos/yourls) ([history](https://github.com/docker-library/repo-info/commits/master/repos/yourls))  
 43 | 	(image metadata, transfer size, etc)
 44 | 
 45 | -	**Image updates**:  
 46 | 	[official-images repo's `library/yourls` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fyourls)  
 47 | 	[official-images repo's `library/yourls` file](https://github.com/docker-library/official-images/blob/master/library/yourls) ([history](https://github.com/docker-library/official-images/commits/master/library/yourls))
 48 | 
 49 | -	**Source of this description**:  
 50 | 	[docs repo's `yourls/` directory](https://github.com/docker-library/docs/tree/master/yourls) ([history](https://github.com/docker-library/docs/commits/master/yourls))
 51 | 
 52 | # What is YOURLS?
 53 | 
 54 | YOURLS is a set of PHP scripts that will allow you to run Your Own URL Shortener. You'll have full control over your data, detailed stats, analytics, plugins, and more. It's free.
 55 | 
 56 | > [github.com/YOURLS/YOURLS](https://github.com/YOURLS/YOURLS)
 57 | 
 58 | ![logo](https://raw.githubusercontent.com/docker-library/docs/1b75e08d68679797623d98ba82ca80090f5a26d2/yourls/logo.svg?sanitize=true)
 59 | 
 60 | # How to use this image
 61 | 
 62 | ## Start a `yourls` server instance
 63 | 
 64 | ```console
 65 | $ docker run --name some-yourls --link some-mysql:mysql \
 66 |     -e YOURLS_SITE="https://example.com" \
 67 |     -e YOURLS_USER="example_username" \
 68 |     -e YOURLS_PASS="example_password" \
 69 |     -d yourls
 70 | ```
 71 | 
 72 | The YOURLS instance accepts a number of environment variables for configuration, see *Environment Variables* section below.
 73 | 
 74 | If you'd like to use an external database instead of a linked `mysql` container, specify the hostname and port with `YOURLS_DB_HOST` along with the password in `YOURLS_DB_PASS` and the username in `YOURLS_DB_USER` (if it is something other than `root`):
 75 | 
 76 | ```console
 77 | $ docker run --name some-yourlss -e YOURLS_DB_HOST=10.1.2.3:3306 \
 78 |     -e YOURLS_DB_USER=... -e YOURLS_DB_PASS=... -d yourls
 79 | ```
 80 | 
 81 | ## Connect to the YOURLS administration interface
 82 | 
 83 | If you'd like to be able to access the instance from the host without the container's IP, standard port mappings can be used:
 84 | 
 85 | ```console
 86 | $ docker run --name some-yourls --link some-mysql:mysql -p 8080:80 -d yourls
 87 | ```
 88 | 
 89 | Then, access it via `http://localhost:8080/admin/` or `http://<host-ip>:8080/admin/` in a browser.
 90 | 
 91 | **Note:** On first instantiation, reaching the root folder will generate an error. Access the YOURLS administration interface via the path `/admin/`.
 92 | 
 93 | ## Environment Variables
 94 | 
 95 | When you start the `yourls` image, you can adjust the configuration of the YOURLS instance by passing one or more environment variables on the `docker run` command line.  
 96 | The YOURLS instance accepts [a number of environment variables for configuration](https://yourls.org/docs/guide/essentials/configuration).  
 97 | A few notable/important examples for using this Docker image include the following.
 98 | 
 99 | ### `YOURLS_SITE`
100 | 
101 | **Required.**  
102 | YOURLS instance URL, no trailing slash, lowercase.
103 | 
104 | Example: `YOURLS_SITE="https://example.com"`
105 | 
106 | ### `YOURLS_USER`
107 | 
108 | **Required.**  
109 | YOURLS instance username.
110 | 
111 | Example: `YOURLS_USER="example_username"`
112 | 
113 | ### `YOURLS_PASS`
114 | 
115 | **Required.**  
116 | YOURLS instance password.
117 | 
118 | Example: `YOURLS_PASS="example_password"`
119 | 
120 | ### `YOURLS_DB_HOST`, `YOURLS_DB_USER`, `YOURLS_DB_PASS`
121 | 
122 | **Optional if linked `mysql` container.**
123 | 
124 | Host, user (defaults to `root`) and password for the database.
125 | 
126 | ### `YOURLS_DB_NAME`
127 | 
128 | **Optional.**  
129 | Database name, defaults to `yourls`. The database must have been created before installing YOURLS.
130 | 
131 | ### `YOURLS_DB_PREFIX`
132 | 
133 | **Optional.**  
134 | Database tables prefix, defaults to `yourls_`. Only set this when you need to override the default table prefix.
135 | 
136 | ## Docker Secrets
137 | 
138 | As an alternative to passing sensitive information via environment variables, `_FILE` may be appended to the previously listed environment variables, causing the initialization script to load the values for those variables from files present in the container. In particular, this can be used to load passwords from Docker secrets stored in `/run/secrets/<secret_name>` files. For example:
139 | 
140 | ```console
141 | $ docker run --name some-yourls -e YOURLS_DB_PASS_FILE=/run/secrets/mysql-root ... -d yourls:tag
142 | ```
143 | 
144 | Currently, this is supported for `YOURLS_DB_HOST`, `YOURLS_DB_USER`, `YOURLS_DB_PASS`, `YOURLS_DB_NAME`, `YOURLS_DB_PREFIX`, `YOURLS_SITE`, `YOURLS_USER`, and `YOURLS_PASS`.
145 | 
146 | ## ... via [`docker compose`](https://github.com/docker/compose)
147 | 
148 | Example `compose.yaml` for `yourls`:
149 | 
150 | ```yaml
151 | services:
152 | 
153 |   yourls:
154 |     image: yourls
155 |     restart: always
156 |     ports:
157 |       - 8080:80
158 |     environment:
159 |       YOURLS_DB_PASS: example
160 |       YOURLS_SITE: https://example.com
161 |       YOURLS_USER: example_username
162 |       YOURLS_PASS: example_password
163 | 
164 |   mysql:
165 |     image: mysql
166 |     restart: always
167 |     environment:
168 |       MYSQL_ROOT_PASSWORD: example
169 |       MYSQL_DATABASE: yourls
170 | ```
171 | 
172 | Run `docker compose up`, wait for it to initialize completely, and visit `http://localhost:8080/admin/` or `http://<host-ip>:8080/admin/` (as appropriate).
173 | 
174 | ## Adding additional libraries / extensions
175 | 
176 | This image does not provide any additional PHP extensions or other libraries, even if they are required by popular plugins. There are an infinite number of possible plugins, and they potentially require any extension PHP supports. Including every PHP extension that exists would dramatically increase the image size.
177 | 
178 | If you need additional PHP extensions, you'll need to create your own image `FROM` this one. The [documentation of the `php` image](https://github.com/docker-library/docs/blob/master/php/README.md#how-to-install-more-php-extensions) explains how to compile additional extensions.
179 | 
180 | The following Docker Hub features can help with the task of keeping your dependent images up-to-date:
181 | 
182 | -	[Automated Builds](https://docs.docker.com/docker-hub/builds/) let Docker Hub automatically build your Dockerfile each time you push changes to it.
183 | 
184 | # Image Variants
185 | 
186 | The `yourls` images come in many flavors, each designed for a specific use case.
187 | 
188 | ## `yourls:<version>`
189 | 
190 | This is the defacto image. If you are unsure about what your needs are, you probably want to use this one. It is designed to be used both as a throw away container (mount your source code and start the container to start your app), as well as the base to build other images off of.
191 | 
192 | ## `yourls:<version>-fpm`
193 | 
194 | This variant contains [PHP's FastCGI Process Manager (FPM)](https://www.php.net/fpm), which is the recommended FastCGI implementation for PHP.
195 | 
196 | In order to use this image variant, some kind of reverse proxy (such as NGINX, Apache, or other tool which speaks the FastCGI protocol) will be required.
197 | 
198 | Some potentially helpful resources:
199 | 
200 | -	[FPM's Official Configuration Reference](https://www.php.net/manual/en/install.fpm.configuration.php)
201 | -	[Simplified example by @md5](https://gist.github.com/md5/d9206eacb5a0ff5d6be0)
202 | -	[Very detailed article by Pascal Landau](https://www.pascallandau.com/blog/php-php-fpm-and-nginx-on-docker-in-windows-10/)
203 | -	[Stack Overflow discussion](https://stackoverflow.com/q/29905953/433558)
204 | -	[Apache httpd Wiki example](https://wiki.apache.org/httpd/PHPFPMWordpress)
205 | 
206 | **WARNING:** the FastCGI protocol is inherently trusting, and thus *extremely* insecure to expose outside of a private container network -- unless you know *exactly* what you are doing (and are willing to accept the extreme risk), do not use Docker's `--publish` (`-p`) flag with this image variant.
207 | 
208 | # License
209 | 
210 | View [license information](https://github.com/YOURLS/YOURLS/blob/master/LICENSE) for the software contained in this image.
211 | 
212 | As with all Docker images, these likely also contain other software which may be under other licenses (such as Bash, etc from the base distribution, along with any direct or indirect dependencies of the primary software being contained).
213 | 
214 | Some additional license information which was able to be auto-detected might be found in [the `repo-info` repository's `yourls/` directory](https://github.com/docker-library/repo-info/tree/master/repos/yourls).
215 | 
216 | As for any pre-built image usage, it is the image user's responsibility to ensure that any use of this image complies with any relevant licenses for all software contained within.
217 | 
```

--------------------------------------------------------------------------------
/ghost/README.md:
--------------------------------------------------------------------------------

```markdown
  1 | <!--
  2 | 
  3 | ********************************************************************************
  4 | 
  5 | WARNING:
  6 | 
  7 |     DO NOT EDIT "ghost/README.md"
  8 | 
  9 |     IT IS AUTO-GENERATED
 10 | 
 11 |     (from the other files in "ghost/" combined with a set of templates)
 12 | 
 13 | ********************************************************************************
 14 | 
 15 | -->
 16 | 
 17 | # Quick reference
 18 | 
 19 | -	**Maintained by**:  
 20 | 	[the Docker Community](https://github.com/docker-library/ghost)
 21 | 
 22 | -	**Where to get help**:  
 23 | 	[the Docker Community Slack](https://dockr.ly/comm-slack), [Server Fault](https://serverfault.com/help/on-topic), [Unix & Linux](https://unix.stackexchange.com/help/on-topic), or [Stack Overflow](https://stackoverflow.com/help/on-topic)
 24 | 
 25 | # Supported tags and respective `Dockerfile` links
 26 | 
 27 | -	[`5.119.2`, `5.119`, `5`, `latest`](https://github.com/docker-library/ghost/blob/e19100c7aab4ecdb73b8978dc6819d26b0346210/5/debian/Dockerfile)
 28 | 
 29 | -	[`5.119.2-alpine`, `5.119-alpine`, `5-alpine`, `alpine`](https://github.com/docker-library/ghost/blob/e19100c7aab4ecdb73b8978dc6819d26b0346210/5/alpine/Dockerfile)
 30 | 
 31 | # Quick reference (cont.)
 32 | 
 33 | -	**Where to file issues**:  
 34 | 	[https://github.com/docker-library/ghost/issues](https://github.com/docker-library/ghost/issues?q=)
 35 | 
 36 | -	**Supported architectures**: ([more info](https://github.com/docker-library/official-images#architectures-other-than-amd64))  
 37 | 	[`amd64`](https://hub.docker.com/r/amd64/ghost/), [`arm32v6`](https://hub.docker.com/r/arm32v6/ghost/), [`arm32v7`](https://hub.docker.com/r/arm32v7/ghost/), [`arm64v8`](https://hub.docker.com/r/arm64v8/ghost/), [`ppc64le`](https://hub.docker.com/r/ppc64le/ghost/), [`s390x`](https://hub.docker.com/r/s390x/ghost/)
 38 | 
 39 | -	**Published image artifact details**:  
 40 | 	[repo-info repo's `repos/ghost/` directory](https://github.com/docker-library/repo-info/blob/master/repos/ghost) ([history](https://github.com/docker-library/repo-info/commits/master/repos/ghost))  
 41 | 	(image metadata, transfer size, etc)
 42 | 
 43 | -	**Image updates**:  
 44 | 	[official-images repo's `library/ghost` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fghost)  
 45 | 	[official-images repo's `library/ghost` file](https://github.com/docker-library/official-images/blob/master/library/ghost) ([history](https://github.com/docker-library/official-images/commits/master/library/ghost))
 46 | 
 47 | -	**Source of this description**:  
 48 | 	[docs repo's `ghost/` directory](https://github.com/docker-library/docs/tree/master/ghost) ([history](https://github.com/docker-library/docs/commits/master/ghost))
 49 | 
 50 | # Ghost
 51 | 
 52 | Ghost is an independent platform for publishing online by web and email newsletter. It has user signups, gated access and subscription payments built-in (with Stripe) to allow you to build a direct relationship with your audience. It's fast, user-friendly, and runs on Node.js & MySQL8.
 53 | 
 54 | > [Ghost.org)](https://ghost.org)
 55 | 
 56 | ![logo](https://raw.githubusercontent.com/docker-library/docs/c88522f95bebcab2322f3020f2f735210286939b/ghost/logo.png)
 57 | 
 58 | # How to use this image
 59 | 
 60 | This will start a Ghost development instance listening on the default Ghost port of 2368.
 61 | 
 62 | ```console
 63 | $ docker run -d --name some-ghost -e NODE_ENV=development ghost
 64 | ```
 65 | 
 66 | ## Custom port
 67 | 
 68 | If you'd like to be able to access the instance from the host without the container's IP, standard port mappings can be used:
 69 | 
 70 | ```console
 71 | $ docker run -d --name some-ghost -e NODE_ENV=development -e url=http://localhost:3001 -p 3001:2368 ghost
 72 | ```
 73 | 
 74 | If all goes well, you'll be able to access your new site on `http://localhost:3001` and `http://localhost:3001/ghost` to access Ghost Admin (or `http://host-ip:3001` and `http://host-ip:3001/ghost`, respectively).
 75 | 
 76 | ### Upgrading Ghost
 77 | 
 78 | You will want to ensure you are running the latest minor version of Ghost before upgrading major versions. Otherwise, you may run into database errors.
 79 | 
 80 | For upgrading your Ghost container you will want to mount your data to the appropriate path in the predecessor container (see below): import your content from the admin panel, stop the container, and then re-mount your content to the successor container you are upgrading into; you can then export your content from the admin panel.
 81 | 
 82 | ## Stateful
 83 | 
 84 | Mount your existing content. In this example we also use the Alpine Linux based image.
 85 | 
 86 | ```console
 87 | $ docker run -d \
 88 | 	--name some-ghost \
 89 | 	-e NODE_ENV=development \
 90 | 	-e database__connection__filename='/var/lib/ghost/content/data/ghost.db' \
 91 | 	-p 3001:2368 \
 92 | 	-v /path/to/ghost/blog:/var/lib/ghost/content \
 93 | 	ghost:alpine
 94 | ```
 95 | 
 96 | Note: `database__connection__filename` is only valid in development mode and is the location for the SQLite database file. If using development mode, it should be set to a writeable path within a persistent folder (bind mount or volume). It is not available in production mode because an external MySQL server is required (see the Docker Compose example below).
 97 | 
 98 | ### Docker Volume
 99 | 
100 | Alternatively you can use a named [docker volume](https://docs.docker.com/storage/volumes/) instead of a direct host path for `/var/lib/ghost/content`:
101 | 
102 | ```console
103 | $ docker run -d \
104 | 	--name some-ghost \
105 | 	-e NODE_ENV=development \
106 | 	-e database__connection__filename='/var/lib/ghost/content/data/ghost.db' \
107 | 	-p 3001:2368 \
108 | 	-v some-ghost-data:/var/lib/ghost/content \
109 | 	ghost
110 | ```
111 | 
112 | ## Configuration
113 | 
114 | All Ghost configuration parameters (such as `url`) can be specified via environment variables. See [the Ghost documentation](https://ghost.org/docs/concepts/config/#running-ghost-with-config-env-variables) for details about what configuration is allowed and how to convert a nested configuration key into the appropriate environment variable name:
115 | 
116 | ```console
117 | $ docker run -d --name some-ghost -e NODE_ENV=development -e url=http://some-ghost.example.com ghost
118 | ```
119 | 
120 | (There are further configuration examples in the `compose.yaml` listed below.)
121 | 
122 | ## What is the Node.js version?
123 | 
124 | When opening a ticket at https://github.com/TryGhost/Ghost/issues it becomes necessary to know the version of Node.js in use:
125 | 
126 | ```console
127 | $ docker exec <container-id> node --version
128 | [node version output]
129 | ```
130 | 
131 | ## Note about Ghost-CLI
132 | 
133 | While the Docker images do have Ghost-CLI available and do use some of its commands to set up the base Ghost image, many of the other Ghost-CLI commands won't work correctly, and really aren't designed/intended to. For more info see [docker-library/ghost#156 (comment)](https://github.com/docker-library/ghost/issues/156#issuecomment-428159861)
134 | 
135 | ## Production mode
136 | 
137 | To run Ghost for production you'll also need to be running with MySQL 8, https, and a reverse proxy configured with appropriate `X-Forwarded-For`, `X-Forwarded-Host`, and `X-Forwarded-Proto` (`https`) headers.
138 | 
139 | The following example demonstrates some of the necessary configuration for running with MySQL. For more detail, see [Ghost's "Configuration options" documentation](https://ghost.org/docs/config/#configuration-options).
140 | 
141 | ## ... via [`docker compose`](https://github.com/docker/compose)
142 | 
143 | Example `compose.yaml` for `ghost`:
144 | 
145 | ```yaml
146 | services:
147 | 
148 |   ghost:
149 |     image: ghost:5-alpine
150 |     restart: always
151 |     ports:
152 |       - 8080:2368
153 |     environment:
154 |       # see https://ghost.org/docs/config/#configuration-options
155 |       database__client: mysql
156 |       database__connection__host: db
157 |       database__connection__user: root
158 |       database__connection__password: example
159 |       database__connection__database: ghost
160 |       # this url value is just an example, and is likely wrong for your environment!
161 |       url: http://localhost:8080
162 |       # contrary to the default mentioned in the linked documentation, this image defaults to NODE_ENV=production (so development mode needs to be explicitly specified if desired)
163 |       #NODE_ENV: development
164 |     volumes:
165 |       - ghost:/var/lib/ghost/content
166 | 
167 |   db:
168 |     image: mysql:8.0
169 |     restart: always
170 |     environment:
171 |       MYSQL_ROOT_PASSWORD: example
172 |     volumes:
173 |       - db:/var/lib/mysql
174 | 
175 | volumes:
176 |   ghost:
177 |   db:
178 | ```
179 | 
180 | Run `docker compose up`, wait for it to initialize completely, and visit `http://localhost:8080` or `http://host-ip:8080` (as appropriate).
181 | 
182 | # Image Variants
183 | 
184 | The `ghost` images come in many flavors, each designed for a specific use case.
185 | 
186 | ## `ghost:<version>`
187 | 
188 | This is the defacto image. If you are unsure about what your needs are, you probably want to use this one. It is designed to be used both as a throw away container (mount your source code and start the container to start your app), as well as the base to build other images off of.
189 | 
190 | ## `ghost:<version>-alpine`
191 | 
192 | This image is based on the popular [Alpine Linux project](https://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general.
193 | 
194 | This variant is useful when final image size being as small as possible is your primary concern. The main caveat to note is that it does use [musl libc](https://musl.libc.org) instead of [glibc and friends](https://www.etalabs.net/compare_libcs.html), so software will often run into issues depending on the depth of their libc requirements/assumptions. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images.
195 | 
196 | To minimize image size, it's uncommon for additional related tools (such as `git` or `bash`) to be included in Alpine-based images. Using this image as a base, add the things you need in your own Dockerfile (see the [`alpine` image description](https://hub.docker.com/_/alpine/) for examples of how to install packages if you are unfamiliar).
197 | 
198 | # License
199 | 
200 | View [license information](https://ghost.org/license/) for the software contained in this image.
201 | 
202 | As with all Docker images, these likely also contain other software which may be under other licenses (such as Bash, etc from the base distribution, along with any direct or indirect dependencies of the primary software being contained).
203 | 
204 | Some additional license information which was able to be auto-detected might be found in [the `repo-info` repository's `ghost/` directory](https://github.com/docker-library/repo-info/tree/master/repos/ghost).
205 | 
206 | As for any pre-built image usage, it is the image user's responsibility to ensure that any use of this image complies with any relevant licenses for all software contained within.
207 | 
```
Page 4/25FirstPrevNextLast