This is page 5 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
--------------------------------------------------------------------------------
/redis/README.md:
--------------------------------------------------------------------------------
```markdown
1 | <!--
2 |
3 | ********************************************************************************
4 |
5 | WARNING:
6 |
7 | DO NOT EDIT "redis/README.md"
8 |
9 | IT IS AUTO-GENERATED
10 |
11 | (from the other files in "redis/" combined with a set of templates)
12 |
13 | ********************************************************************************
14 |
15 | -->
16 |
17 | # Quick reference
18 |
19 | - **Maintained by**:
20 | [Redis LTD](https://redis.io/)
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 | - [`8.0.1`, `8.0`, `8`, `8.0.1-bookworm`, `8.0-bookworm`, `8-bookworm`, `latest`, `bookworm`](https://github.com/redis/docker-library-redis/blob/fe864e383ae7c5c891a694f9e0c16f8459a62234/debian/Dockerfile)
28 |
29 | - [`8.0.1-alpine`, `8.0-alpine`, `8-alpine`, `8.0.1-alpine3.21`, `8.0-alpine3.21`, `8-alpine3.21`, `alpine`, `alpine3.21`](https://github.com/redis/docker-library-redis/blob/fe864e383ae7c5c891a694f9e0c16f8459a62234/alpine/Dockerfile)
30 |
31 | - [`7.4.3`, `7.4`, `7`, `7.4.3-bookworm`, `7.4-bookworm`, `7-bookworm`](https://github.com/redis/docker-library-redis/blob/27cd071c3e9d903a19c79577ddb82fb322ef5ed6/7.4/debian/Dockerfile)
32 |
33 | - [`7.4.3-alpine`, `7.4-alpine`, `7-alpine`, `7.4.3-alpine3.21`, `7.4-alpine3.21`, `7-alpine3.21`](https://github.com/redis/docker-library-redis/blob/27cd071c3e9d903a19c79577ddb82fb322ef5ed6/7.4/alpine/Dockerfile)
34 |
35 | - [`7.2.8`, `7.2`, `7.2.8-bookworm`, `7.2-bookworm`](https://github.com/redis/docker-library-redis/blob/27cd071c3e9d903a19c79577ddb82fb322ef5ed6/7.2/debian/Dockerfile)
36 |
37 | - [`7.2.8-alpine`, `7.2-alpine`, `7.2.8-alpine3.21`, `7.2-alpine3.21`](https://github.com/redis/docker-library-redis/blob/27cd071c3e9d903a19c79577ddb82fb322ef5ed6/7.2/alpine/Dockerfile)
38 |
39 | - [`6.2.18`, `6.2`, `6`, `6.2.18-bookworm`, `6.2-bookworm`, `6-bookworm`](https://github.com/redis/docker-library-redis/blob/27cd071c3e9d903a19c79577ddb82fb322ef5ed6/6.2/debian/Dockerfile)
40 |
41 | - [`6.2.18-alpine`, `6.2-alpine`, `6-alpine`, `6.2.18-alpine3.21`, `6.2-alpine3.21`, `6-alpine3.21`](https://github.com/redis/docker-library-redis/blob/27cd071c3e9d903a19c79577ddb82fb322ef5ed6/6.2/alpine/Dockerfile)
42 |
43 | # Quick reference (cont.)
44 |
45 | - **Where to file issues**:
46 | [https://github.com/redis/docker-library-redis/issues](https://github.com/redis/docker-library-redis/issues?q=)
47 |
48 | - **Supported architectures**: ([more info](https://github.com/docker-library/official-images#architectures-other-than-amd64))
49 | [`amd64`](https://hub.docker.com/r/amd64/redis/), [`arm32v5`](https://hub.docker.com/r/arm32v5/redis/), [`arm32v6`](https://hub.docker.com/r/arm32v6/redis/), [`arm32v7`](https://hub.docker.com/r/arm32v7/redis/), [`arm64v8`](https://hub.docker.com/r/arm64v8/redis/), [`i386`](https://hub.docker.com/r/i386/redis/), [`mips64le`](https://hub.docker.com/r/mips64le/redis/), [`ppc64le`](https://hub.docker.com/r/ppc64le/redis/), [`riscv64`](https://hub.docker.com/r/riscv64/redis/), [`s390x`](https://hub.docker.com/r/s390x/redis/)
50 |
51 | - **Published image artifact details**:
52 | [repo-info repo's `repos/redis/` directory](https://github.com/docker-library/repo-info/blob/master/repos/redis) ([history](https://github.com/docker-library/repo-info/commits/master/repos/redis))
53 | (image metadata, transfer size, etc)
54 |
55 | - **Image updates**:
56 | [official-images repo's `library/redis` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fredis)
57 | [official-images repo's `library/redis` file](https://github.com/docker-library/official-images/blob/master/library/redis) ([history](https://github.com/docker-library/official-images/commits/master/library/redis))
58 |
59 | - **Source of this description**:
60 | [docs repo's `redis/` directory](https://github.com/docker-library/docs/tree/master/redis) ([history](https://github.com/docker-library/docs/commits/master/redis))
61 |
62 | # What is Redis?
63 |
64 | Redis is the world’s fastest data platform. It provides cloud and on-prem solutions for caching, vector search, and NoSQL databases that seamlessly fit into any tech stack—making it simple for digital customers to build, scale, and deploy the fast apps our world runs on.
65 |
66 | > [redis.io](https://redis.io)
67 |
68 | 
69 |
70 | # Security
71 |
72 | For the ease of accessing Redis from other containers via Docker networking, the "Protected mode" is turned off by default. This means that if you expose the port outside of your host (e.g., via `-p` on `docker run`), it will be open without a password to anyone. It is **highly** recommended to set a password (by supplying a config file) if you plan on exposing your Redis instance to the internet. For further information, see the following links about Redis security:
73 |
74 | - [Redis documentation on security](https://redis.io/docs/latest/operate/oss_and_stack/management/security/)
75 | - [Protected mode](https://redis.io/docs/latest/operate/oss_and_stack/management/security/#protected-mode)
76 | - [A few things about Redis security by antirez](http://antirez.com/news/96)
77 |
78 | # How to use this image
79 |
80 | ## Start a redis instance
81 |
82 | ```console
83 | $ docker run --name some-redis -d redis
84 | ```
85 |
86 | ## Start with persistent storage
87 |
88 | ```console
89 | $ docker run --name some-redis -d redis redis-server --save 60 1 --loglevel warning
90 | ```
91 |
92 | There are several different persistence strategies to choose from. This one will save a snapshot of the DB every 60 seconds if at least 1 write operation was performed (it will also lead to more logs, so the `loglevel` option may be desirable). If persistence is enabled, data is stored in the `VOLUME /data`, which can be used with `--volumes-from some-volume-container` or `-v /docker/host/dir:/data` (see [docs.docker volumes](https://docs.docker.com/engine/tutorials/dockervolumes/)).
93 |
94 | For more about Redis persistence, see [the official Redis documentation](https://redis.io/docs/latest/operate/oss_and_stack/management/persistence/).
95 |
96 | ## Connecting via `redis-cli`
97 |
98 | ```console
99 | $ docker run -it --network some-network --rm redis redis-cli -h some-redis
100 | ```
101 |
102 | ## Additionally, if you want to use your own redis.conf ...
103 |
104 | You can create your own Dockerfile that adds a redis.conf from the context into /data/, like so.
105 |
106 | ```dockerfile
107 | FROM redis
108 | COPY redis.conf /usr/local/etc/redis/redis.conf
109 | CMD [ "redis-server", "/usr/local/etc/redis/redis.conf" ]
110 | ```
111 |
112 | Alternatively, you can specify something along the same lines with `docker run` options.
113 |
114 | ```console
115 | $ docker run -v /myredis/conf:/usr/local/etc/redis --name myredis redis redis-server /usr/local/etc/redis/redis.conf
116 | ```
117 |
118 | Where `/myredis/conf/` is a local directory containing your `redis.conf` file. Using this method means that there is no need for you to have a Dockerfile for your redis container.
119 |
120 | The mapped directory should be writable, as depending on the configuration and mode of operation, Redis may need to create additional configuration files or rewrite existing ones.
121 |
122 | # Image Variants
123 |
124 | The `redis` images come in many flavors, each designed for a specific use case.
125 |
126 | ## `redis:<version>`
127 |
128 | 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.
129 |
130 | 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.
131 |
132 | ## `redis:<version>-alpine`
133 |
134 | 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.
135 |
136 | 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.
137 |
138 | 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).
139 |
140 | # License
141 |
142 | Starting with Redis 8.0, Redis follows a tri-licensing model with the choice of the [Redis Source Available License v2 - RSALv2](https://redis.io/legal/rsalv2-agreement/), [Server Side Public License v1 - SSPLv1](https://redis.io/legal/server-side-public-license-sspl/), or the [GNU Affero General Public License v3 - AGPLv3](https://opensource.org/license/agpl-v3). Prior versions of Redis (<=7.2.4) are licensed under [3-Clause BSD](https://opensource.org/license/bsd-3-clause), and Redis 7.4.x-7.8.x are licensed under the dual [RSALv2](https://redis.io/legal/rsalv2-agreement/) or [SSPLv1](https://redis.io/legal/server-side-public-license-sspl/) license.
143 |
144 | Please also view the [Redis License Overview](https://redis.io/legal/licenses/) and the [Redis Trademark Policy](https://redis.io/legal/trademark-policy/).
145 |
146 | 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).
147 |
148 | Some additional license information which was able to be auto-detected might be found in [the `repo-info` repository's `redis/` directory](https://github.com/docker-library/repo-info/tree/master/repos/redis).
149 |
150 | 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.
151 |
```
--------------------------------------------------------------------------------
/ibmjava/README.md:
--------------------------------------------------------------------------------
```markdown
1 | <!--
2 |
3 | ********************************************************************************
4 |
5 | WARNING:
6 |
7 | DO NOT EDIT "ibmjava/README.md"
8 |
9 | IT IS AUTO-GENERATED
10 |
11 | (from the other files in "ibmjava/" combined with a set of templates)
12 |
13 | ********************************************************************************
14 |
15 | -->
16 |
17 | # Quick reference
18 |
19 | - **Maintained by**:
20 | [IBM Runtime Technologies](https://github.com/ibmruntimes/ci.docker)
21 |
22 | - **Where to get help**:
23 | [the developerWorks forum for IBM Java Runtimes and SDKs](https://www.ibm.com/developerworks/community/forums/html/forum?id=11111111-0000-0000-0000-000000000367)
24 |
25 | # Supported tags and respective `Dockerfile` links
26 |
27 | - [`8-jre`, `jre`, `8`, `latest`](https://github.com/ibmruntimes/ci.docker/blob/00a17cb73f516a49cd3c0aae3d92c9fd9c74f7aa/ibmjava/8/jre/ubuntu/Dockerfile)
28 |
29 | - [`8-sfj`, `sfj`](https://github.com/ibmruntimes/ci.docker/blob/00a17cb73f516a49cd3c0aae3d92c9fd9c74f7aa/ibmjava/8/sfj/ubuntu/Dockerfile)
30 |
31 | - [`8-sdk`, `sdk`](https://github.com/ibmruntimes/ci.docker/blob/00a17cb73f516a49cd3c0aae3d92c9fd9c74f7aa/ibmjava/8/sdk/ubuntu/Dockerfile)
32 |
33 | # Quick reference (cont.)
34 |
35 | - **Where to file issues**:
36 | [GitHub](https://github.com/ibmruntimes/ci.docker/issues); for troubleshooting, see our [How Do I ...?](http://www.ibm.com/developerworks/java/jdk/howdoi/) page
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/ibmjava/), [`ppc64le`](https://hub.docker.com/r/ppc64le/ibmjava/), [`s390x`](https://hub.docker.com/r/s390x/ibmjava/)
40 |
41 | - **Published image artifact details**:
42 | [repo-info repo's `repos/ibmjava/` directory](https://github.com/docker-library/repo-info/blob/master/repos/ibmjava) ([history](https://github.com/docker-library/repo-info/commits/master/repos/ibmjava))
43 | (image metadata, transfer size, etc)
44 |
45 | - **Image updates**:
46 | [official-images repo's `library/ibmjava` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fibmjava)
47 | [official-images repo's `library/ibmjava` file](https://github.com/docker-library/official-images/blob/master/library/ibmjava) ([history](https://github.com/docker-library/official-images/commits/master/library/ibmjava))
48 |
49 | - **Source of this description**:
50 | [docs repo's `ibmjava/` directory](https://github.com/docker-library/docs/tree/master/ibmjava) ([history](https://github.com/docker-library/docs/commits/master/ibmjava))
51 |
52 | ### Overview
53 |
54 | The images in this repository contain IBM® SDK, Java™ Technology Edition. For more information on the latest version and what's new, see [sdk8 on IBM developerWorks](https://developer.ibm.com/javasdk/downloads/sdk8/) and [jdk11 on IBM developerWorks](https://developer.ibm.com/javasdk/downloads/java-sdk-downloads-version-110/). See the license section for restrictions that relate to the use of this image. For more information about IBM® SDK, Java™ Technology Edition and API documentation as well as tutorials, recipes, and Java usage in IBM Cloud, see [IBM developerWorks](https://developer.ibm.com/javasdk/).
55 |
56 | Java and all Java-based trademarks and logos are trademarks or registered trademarks of Oracle and/or its affiliates.
57 |
58 | ### Eclipse OpenJ9 Images
59 |
60 | [Eclipse OpenJ9](https://www.eclipse.org/openj9) is a high performance, scalable, Java virtual machine (JVM) implementation that represents hundreds of person-years of effort. Contributed to the Eclipse project by IBM, the OpenJ9 JVM underpins the IBM SDK, Java Technology Edition product that is a core component of many IBM Enterprise software products. Continued development of OpenJ9 at the Eclipse foundation ensures wider collaboration, fresh innovation, and the opportunity to influence the development of OpenJ9 for the next generation of Java applications. The Eclipse OpenJ9 Docker images are available through [AdoptOpenJDK](https://adoptopenjdk.net/). They are available from [here](https://hub.docker.com/u/adoptopenjdk/).
61 |
62 | ### Images
63 |
64 | There are three types of Docker images here: the Software Developers Kit (SDK), and the Java Runtime Environment (JRE) and a small footprint version of the JRE (SFJ). These images can be used as the basis for custom built images for running your applications.
65 |
66 | ##### Small Footprint JRE
67 |
68 | The Small Footprint JRE ([SFJ](http://www.ibm.com/support/knowledgecenter/en/SSYKE2_8.0.0/com.ibm.java.lnx.80.doc/user/small_jre.html)) is designed specifically for web developers who want to develop and deploy cloud-based Java applications. Java tools and functions that are not required in the cloud environment, such as the Java control panel, are removed. The runtime environment is stripped down to provide core, essential function that has a greatly reduced disk and memory footprint.
69 |
70 | ##### Alpine Linux
71 |
72 | Consider using [Alpine Linux](http://alpinelinux.org/) if you are concerned about the size of the overall image. Alpine Linux is a stripped down version of Linux that is based on [musl libc](http://wiki.musl-libc.org/wiki/Functional_differences_from_glibc) and Busybox, resulting in a [Docker image](https://hub.docker.com/_/alpine/) size of approximately 5 MB. Due to its extremely small size and reduced number of installed packages, it has a much smaller attack surface which improves security. IBM SDK has a dependency on gnu glibc, the sources can be found [here](https://github.com/sgerrand/docker-glibc-builder/releases/). Installing this library adds an extra 8 MB to the image size. The following table compares Docker Image sizes based on the JRE version `8.0-3.10`.
73 |
74 | | JRE | JRE | SFJ | SFJ |
75 | |:------:|:------:|:------:|:------:|
76 | | Ubuntu | Alpine | Ubuntu | Alpine |
77 | | 305 MB | 184 MB | 220 MB | 101 MB |
78 |
79 | **Note: Alpine Linux is not an officially supported operating system for IBM® SDK, Java™ Technology Edition.**
80 |
81 | ##### Multi-Arch Image
82 |
83 | Docker Images for the following architectures are now available:
84 |
85 | - [x86\_64](https://hub.docker.com/_/ibmjava/)
86 | - [i386](https://hub.docker.com/r/i386/ibmjava/)
87 | - [ppc64le](https://hub.docker.com/r/ppc64le/ibmjava/)
88 | - [s390x](https://hub.docker.com/r/s390x/ibmjava/)
89 |
90 | ibmjava now has multi-arch support and so the exact same commands as below works on all supported architectures. This also means that it is no longer necessary to prefix the arch with the image name as that happens auto-magically.
91 |
92 | ### How to use this Image
93 |
94 | To run a pre-built jar file with the JRE image, use the following commands:
95 |
96 | ```dockerfile
97 | FROM ibmjava:jre
98 | RUN mkdir /opt/app
99 | COPY japp.jar /opt/app
100 | CMD ["java", "-jar", "/opt/app/japp.jar"]
101 | ```
102 |
103 | You can build and run the Docker Image as shown in the following example:
104 |
105 | ```console
106 | docker build -t japp .
107 | docker run -it --rm japp
108 | ```
109 |
110 | If you want to place the jar file on the host file system instead of inside the container, you can mount the host path onto the container by using the following commands:
111 |
112 | ```dockerfile
113 | FROM ibmjava:jre
114 | CMD ["java", "-jar", "/opt/app/japp.jar"]
115 | ```
116 |
117 | ```console
118 | docker build -t japp .
119 | docker run -it -v /path/on/host/system/jars:/opt/app japp
120 | ```
121 |
122 | ### Using the Class Data Sharing feature
123 |
124 | IBM SDK, Java Technology Edition provides a feature called [Class data sharing](http://www-01.ibm.com/support/knowledgecenter/SSYKE2_8.0.0/com.ibm.java.lnx.80.doc/diag/understanding/shared_classes.html). This mechanism offers transparent and dynamic sharing of data between multiple Java virtual machines (JVMs) running on the same host thereby reducing the amount of physical memory consumed by each JVM instance. By providing partially verified classes and possibly pre-loaded classes in memory, this mechanism also improves the start up time of the JVM.
125 |
126 | To enable class data sharing between JVMs that are running in different containers on the same host, a common location must be shared between containers. This requirement can be satisfied through the host or a data volume container. When enabled, class data sharing creates a named "class cache", which is a memory-mapped file, at the common location. This feature is enabled by passing the `-Xshareclasses` option to the JVM as shown in the following Dockerfile example:
127 |
128 | ```dockerfile
129 | FROM ibmjava:jre
130 | RUN mkdir /opt/shareclasses
131 | RUN mkdir /opt/app
132 | COPY japp.jar /opt/app
133 | CMD ["java", "-Xshareclasses:cacheDir=/opt/shareclasses", "-jar", "/opt/app/japp.jar"]
134 | ```
135 |
136 | The `cacheDir` sub-option specifies the location of the class cache. For example `/opt/sharedclasses`. When sharing through the host, a host path must be mounted onto the container at the location the JVM expects to find the class cache. For example:
137 |
138 | ```console
139 | docker build -t japp .
140 | docker run -it -v /path/on/host/shareclasses/dir:/opt/shareclasses japp
141 | ```
142 |
143 | When sharing through a data volume container, create a named data volume container that shares a volume.
144 |
145 | ```console
146 | docker create -v /opt/shareclasses --name classcache japp /bin/true
147 | ```
148 |
149 | Then start your JVM container by using `--volumes-from` flag to mount the shared volume, as shown in the following example:
150 |
151 | ```console
152 | docker run -it --volumes-from classcache japp
153 | ```
154 |
155 | ### See Also
156 |
157 | See the [Websphere-Liberty image](https://hub.docker.com/_/websphere-liberty/), which builds on top of this IBM docker image for Java.
158 |
159 | # License
160 |
161 | The Dockerfiles and associated scripts are licensed under the [Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0.html).
162 |
163 | Licenses for the products installed within the images:
164 |
165 | - IBM® SDK, Java™ Technology Edition Version 8: [International License Agreement for Non-Warranted Programs](http://www14.software.ibm.com/cgi-bin/weblap/lap.pl?la_formnum=&li_formnum=L-SMKR-AVSEUH&title=IBM%AE+SDK%2C+Java%99+Technology+Edition%2C+Version+8.0&l=en).
166 | - IBM® SDK, Java™ Technology Edition Version 11: [International License Agreement for Non-Warranted Programs](http://www14.software.ibm.com/cgi-bin/weblap/lap.pl?la_formnum=&li_formnum=L-PARM-BMVULC&title=IBM%AE+SDK%2C+Java%99+Technology+Edition%2C+Version+11.0&l=en).
167 |
168 | 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).
169 |
170 | Some additional license information which was able to be auto-detected might be found in [the `repo-info` repository's `ibmjava/` directory](https://github.com/docker-library/repo-info/tree/master/repos/ibmjava).
171 |
172 | 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.
173 |
```
--------------------------------------------------------------------------------
/satosa/README.md:
--------------------------------------------------------------------------------
```markdown
1 | <!--
2 |
3 | ********************************************************************************
4 |
5 | WARNING:
6 |
7 | DO NOT EDIT "satosa/README.md"
8 |
9 | IT IS AUTO-GENERATED
10 |
11 | (from the other files in "satosa/" combined with a set of templates)
12 |
13 | ********************************************************************************
14 |
15 | -->
16 |
17 | # Quick reference
18 |
19 | - **Maintained by**:
20 | [the Identity Python project](https://github.com/IdentityPython/satosa-docker)
21 |
22 | - **Where to get help**:
23 | [the Identity Python mailing list](https://lists.sunet.se/listinfo/idpy-discuss) or [the Identity Python Slack workspace](https://identity-python.slack.com/) ([invitation](https://join.slack.com/t/identity-python/shared_invite/enQtNzEyNjU1NDI1MjUyLTM2MWI5ZGNhMTk1ZThiOTIxNWY2OTY1ODVmMWNjMzUzMTYxNTY5MzE5N2RlYjExZTIyM2MwYjBjZGE4MGVlMTM))
24 |
25 | # Supported tags and respective `Dockerfile` links
26 |
27 | (See ["What's the difference between 'Shared' and 'Simple' tags?" in the FAQ](https://github.com/docker-library/faq#whats-the-difference-between-shared-and-simple-tags).)
28 |
29 | ## Simple Tags
30 |
31 | - [`8.4.0-bookworm`, `8.4-bookworm`, `8-bookworm`, `bookworm`](https://github.com/IdentityPython/satosa-docker/blob/69038a84d541717d66420f3ad8ec7c9da22c91b4/8.4/bookworm/Dockerfile)
32 |
33 | - [`8.4.0-alpine3.19`, `8.4-alpine3.19`, `8-alpine3.19`, `alpine3.19`, `8.4.0-alpine`, `8.4-alpine`, `8-alpine`, `alpine`](https://github.com/IdentityPython/satosa-docker/blob/74a847396f1190ec26679fc3bf09ffcc42d2e999/8.4/alpine3.19/Dockerfile)
34 |
35 | ## Shared Tags
36 |
37 | - `8.4.0`, `8.4`, `8`, `latest`:
38 |
39 | - [`8.4.0-bookworm`](https://github.com/IdentityPython/satosa-docker/blob/69038a84d541717d66420f3ad8ec7c9da22c91b4/8.4/bookworm/Dockerfile)
40 |
41 | # Quick reference (cont.)
42 |
43 | - **Where to file issues**:
44 | [https://github.com/IdentityPython/satosa-docker/issues](https://github.com/IdentityPython/satosa-docker/issues?q=)
45 |
46 | - **Supported architectures**: ([more info](https://github.com/docker-library/official-images#architectures-other-than-amd64))
47 | [`amd64`](https://hub.docker.com/r/amd64/satosa/), [`arm32v7`](https://hub.docker.com/r/arm32v7/satosa/), [`arm64v8`](https://hub.docker.com/r/arm64v8/satosa/), [`i386`](https://hub.docker.com/r/i386/satosa/), [`ppc64le`](https://hub.docker.com/r/ppc64le/satosa/)
48 |
49 | - **Published image artifact details**:
50 | [repo-info repo's `repos/satosa/` directory](https://github.com/docker-library/repo-info/blob/master/repos/satosa) ([history](https://github.com/docker-library/repo-info/commits/master/repos/satosa))
51 | (image metadata, transfer size, etc)
52 |
53 | - **Image updates**:
54 | [official-images repo's `library/satosa` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fsatosa)
55 | [official-images repo's `library/satosa` file](https://github.com/docker-library/official-images/blob/master/library/satosa) ([history](https://github.com/docker-library/official-images/commits/master/library/satosa))
56 |
57 | - **Source of this description**:
58 | [docs repo's `satosa/` directory](https://github.com/docker-library/docs/tree/master/satosa) ([history](https://github.com/docker-library/docs/commits/master/satosa))
59 |
60 | # What is SATOSA?
61 |
62 | SATOSA is a configurable proxy for translating between different authentication protocols such as SAML2, OpenID Connect, and OAuth2.
63 |
64 | 
65 |
66 | # How to use this image
67 |
68 | ## To start a SATOSA instance
69 |
70 | The basic pattern for starting a `satosa` instance is:
71 |
72 | ```sh
73 | docker run --name some-satosa -d satosa
74 | ```
75 |
76 | To access the instance from the host without the container's IP, use port mappings:
77 |
78 | ```sh
79 | docker run --name some-satosa -p 80:8080 -d satosa
80 | ```
81 |
82 | The entrypoint script outputs SAML2 metadata to the container log at start time. This metadata refers to the instance's base URL, e.g., `https://example.com`. Browsers must be able to access the instance over HTTPS.
83 |
84 | # How to extend this image
85 |
86 | ## Configuration files
87 |
88 | The `satosa` image stores its configuration in /etc/satosa. This configuration must persist among instances, particularly the SAML2 entity ID (derived from the proxy's base URL by default) and related keying material. [Use volumes, bind mounts, or custom images](https://docs.docker.com/storage/) to maintain this configuration.
89 |
90 | ## Entrypoint script
91 |
92 | The `satosa` image's entrypoint script runs [Gunicorn](https://gunicorn.org/) by default if the first argument looks like a command-line flag. For example, the following will use a bind mount to provide an X.509 certificate and corresponding private key to the instance, and it will run Gunicorn with HTTPS enabled:
93 |
94 | ```sh
95 | docker run --name some-satosa -p 443:8443 \
96 | -v /etc/letsencrypt/live/some-satosa/fullchain.pem:/etc/https.crt \
97 | -v /etc/letsencrypt/live/some-satosa/privkey.pem:/etc/https.key \
98 | -d satosa \
99 | -b0.0.0.0:8443 --certfile /etc/https.crt --keyfile /etc/https.key satosa.wsgi:app
100 | ```
101 |
102 | If the first argument looks like a command instead of a flag, the entrypoint script will run that instead of Gunicorn. For example, the following will start an interactive, unprivileged shell inside the container:
103 |
104 | ```sh
105 | docker run -it --name some-satosa satosa bash
106 | ```
107 |
108 | ## Environment variables
109 |
110 | The entrypoint script uses environment variables to generate the initial configuration, which sets SATOSA up as a SAML2 proxy between the free [SAMLtest.ID](https://samltest.id/) test service provider and test identity provider. All of the environment variables are optional.
111 |
112 | The environment variables' values can be read from [Docker secrets](https://docs.docker.com/engine/swarm/secrets/). Append `_FILE` to the variable name (e.g., `STATE_ENCRYPTION_KEY_FILE`), and set it to the pathname of the corresponding secret (e.g., `/run/secrets/state_encryption_key`).
113 |
114 | ### `BASE_URL`
115 |
116 | SATOSA must be hosted at the root of the website. This environment variable optionally specifies the website's base URL, which defaults to `http://example.com`. If set, the base URL *must* be a method plus a hostname without any trailing slash or path components, e.g., `https://idproxy.example.com`, not `https://idproxy.example.com/` nor `https://idproxy.example.com/satosa`.
117 |
118 | ### `STATE_ENCRYPTION_KEY`
119 |
120 | SATOSA uses encrypted cookies to track the progress of an authentication flow. This environment variable optionally sets the state cookies' encryption key. If set, the state encryption key *must* be an alphanumeric value, e.g., `12345SameAsMyLuggage`. If not specified, a new random 32-character key will be generated.
121 |
122 | ### `SAML2_BACKEND_DISCO_SRV`
123 |
124 | When part of a SAML2 multilateral federation, SATOSA will ask the user to choose an identity provider using a SAML discovery service. This environment variable optionally sets the discovery service URL, which defaults to [SeamlessAccess](https://seamlessaccess.org/).
125 |
126 | ### `SAML2_BACKEND_CERT` and `SAML2_BACKEND_KEY`
127 |
128 | SATOSA's SAML2 backend acts like a service provider (relying party), requesting authentication by and attributes from the user's identity provider. It uses public key cryptography to sign authentication requests and decrypt responses. These optional environment variables hold the backend's paired public and private keys in [the PEM format](https://en.wikipedia.org/wiki/Privacy-Enhanced_Mail). If not specified, a new 2048-bit RSA key-pair will be generated using the hostname part of `BASE_URL`.
129 |
130 | ### `SAML2_FRONTEND_CERT` and `SAML2_FRONTEND_KEY`
131 |
132 | SATOSA's SAML2 frontend acts like an identity provider (credential service provider), processing authentication requests from and returning user attributes to trusted websites. It uses public key cryptography to sign authentication responses. These optional environment variables hold the frontend's paired public and private keys, also in the PEM format. If not specified, a new 2048-bit RSA key-pair will be generated using the hostname part of `BASE_URL`.
133 |
134 | # Image Variants
135 |
136 | The `satosa` images come in many flavors, each designed for a specific use case.
137 |
138 | ## `satosa:<version>`
139 |
140 | 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.
141 |
142 | 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.
143 |
144 | ## `satosa:<version>-alpine`
145 |
146 | 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.
147 |
148 | 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.
149 |
150 | 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).
151 |
152 | # License
153 |
154 | View [license information](https://github.com/IdentityPython/SATOSA/blob/master/LICENSE) for the software contained in this image.
155 |
156 | 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).
157 |
158 | Some additional license information which was able to be auto-detected might be found in [the `repo-info` repository's `satosa/` directory](https://github.com/docker-library/repo-info/tree/master/repos/satosa).
159 |
160 | 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.
161 |
```
--------------------------------------------------------------------------------
/telegraf/README.md:
--------------------------------------------------------------------------------
```markdown
1 | <!--
2 |
3 | ********************************************************************************
4 |
5 | WARNING:
6 |
7 | DO NOT EDIT "telegraf/README.md"
8 |
9 | IT IS AUTO-GENERATED
10 |
11 | (from the other files in "telegraf/" 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.32`, `1.32.3`](https://github.com/influxdata/influxdata-docker/blob/683532295e6664614b8cdf0dc801247b12983608/telegraf/1.32/Dockerfile)
28 |
29 | - [`1.32-alpine`, `1.32.3-alpine`](https://github.com/influxdata/influxdata-docker/blob/683532295e6664614b8cdf0dc801247b12983608/telegraf/1.32/alpine/Dockerfile)
30 |
31 | - [`1.33`, `1.33.3`](https://github.com/influxdata/influxdata-docker/blob/683532295e6664614b8cdf0dc801247b12983608/telegraf/1.33/Dockerfile)
32 |
33 | - [`1.33-alpine`, `1.33.3-alpine`](https://github.com/influxdata/influxdata-docker/blob/683532295e6664614b8cdf0dc801247b12983608/telegraf/1.33/alpine/Dockerfile)
34 |
35 | - [`1.34`, `1.34.3`, `latest`](https://github.com/influxdata/influxdata-docker/blob/683532295e6664614b8cdf0dc801247b12983608/telegraf/1.34/Dockerfile)
36 |
37 | - [`1.34-alpine`, `1.34.3-alpine`, `alpine`](https://github.com/influxdata/influxdata-docker/blob/683532295e6664614b8cdf0dc801247b12983608/telegraf/1.34/alpine/Dockerfile)
38 |
39 | # Quick reference (cont.)
40 |
41 | - **Where to file issues**:
42 | [https://github.com/influxdata/influxdata-docker/issues](https://github.com/influxdata/influxdata-docker/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/telegraf/), [`arm32v7`](https://hub.docker.com/r/arm32v7/telegraf/), [`arm64v8`](https://hub.docker.com/r/arm64v8/telegraf/)
46 |
47 | - **Published image artifact details**:
48 | [repo-info repo's `repos/telegraf/` directory](https://github.com/docker-library/repo-info/blob/master/repos/telegraf) ([history](https://github.com/docker-library/repo-info/commits/master/repos/telegraf))
49 | (image metadata, transfer size, etc)
50 |
51 | - **Image updates**:
52 | [official-images repo's `library/telegraf` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Ftelegraf)
53 | [official-images repo's `library/telegraf` file](https://github.com/docker-library/official-images/blob/master/library/telegraf) ([history](https://github.com/docker-library/official-images/commits/master/library/telegraf))
54 |
55 | - **Source of this description**:
56 | [docs repo's `telegraf/` directory](https://github.com/docker-library/docs/tree/master/telegraf) ([history](https://github.com/docker-library/docs/commits/master/telegraf))
57 |
58 | # What is telegraf?
59 |
60 | Telegraf is an open source agent for collecting, processing, aggregating, and writing metrics. Based on a plugin system to enable developers in the community to easily add support for additional metric collection. There are five distinct types of plugins:
61 |
62 | - Input plugins collect metrics from the system, services, or 3rd party APIs
63 | - Output plugins write metrics to various destinations
64 | - Processor plugins transform, decorate, and/or filter metrics
65 | - Aggregator plugins create aggregate metrics (e.g. mean, min, max, quantiles, etc.)
66 | - Secret Store plugins are used to hide secrets from the configuration file
67 |
68 | [Telegraf Official Docs](https://docs.influxdata.com/telegraf/latest/get_started/)
69 |
70 | 
71 |
72 | # How to use this image
73 |
74 | ## Exposed Ports
75 |
76 | - 8125 UDP
77 | - 8092 UDP
78 | - 8094 TCP
79 |
80 | ## Configuration file
81 |
82 | The user is required to provide a valid configuration to use the image. A valid configuration has at least one input and one output plugin specified. The following will walk through the general steps to get going.
83 |
84 | ### Basic Example
85 |
86 | Configuration files are TOML-based files that declare which plugins to use. A very simple configuration file, `telegraf.conf`, that collects metrics from the system CPU and outputs the metrics to stdout looks like the following:
87 |
88 | ```toml
89 | [[inputs.cpu]]
90 | [[outputs.file]]
91 | ```
92 |
93 | Once a user has a customized configuration file, they can launch a Telegraf container with it mounted in the expected location:
94 |
95 | ```console
96 | $ docker run -v $PWD/telegraf.conf:/etc/telegraf/telegraf.conf:ro telegraf
97 | ```
98 |
99 | Modify `$PWD` to the directory where you want to store the configuration file.
100 |
101 | Read more about the Telegraf configuration [here](https://docs.influxdata.com/telegraf/latest/administration/configuration/).
102 |
103 | ### Sample Configuration
104 |
105 | Users can generate a sample configuration using the `config` subcommand. This will provide the user with a basic config that has a handful of input plugins enabled that collect data from the system. However, the user will still need to configure at least one output before the file is ready for use:
106 |
107 | ```console
108 | $ docker run --rm telegraf telegraf config > telegraf.conf
109 | ```
110 |
111 | ## Supported Plugins Reference
112 |
113 | The following are links to the various plugins that are available in Telegraf:
114 |
115 | - [Input Plugins](https://docs.influxdata.com/telegraf/latest/plugins/#input-plugins)
116 | - [Output Plugins](https://docs.influxdata.com/telegraf/latest/plugins/#output-plugins)
117 | - [Processor Plugins](https://docs.influxdata.com/telegraf/latest/plugins/#processor-plugins)
118 | - [Aggregator Plugins](https://docs.influxdata.com/telegraf/latest/plugins/#aggregator-plugins)
119 |
120 | # Examples
121 |
122 | ## Monitoring the Docker Engine Host
123 |
124 | One common use case for Telegraf is to monitor the Docker Engine Host from within a container. The recommended technique is to mount the host filesystems into the container and use environment variables to instruct Telegraf where to locate the filesystems.
125 |
126 | The precise files that need to be made available varies from plugin to plugin. Here is an example showing the full set of supported locations:
127 |
128 | ```console
129 | $ docker run -d --name=telegraf \
130 | -v $PWD/telegraf.conf:/etc/telegraf/telegraf.conf:ro \
131 | -v /:/hostfs:ro \
132 | -e HOST_ETC=/hostfs/etc \
133 | -e HOST_PROC=/hostfs/proc \
134 | -e HOST_SYS=/hostfs/sys \
135 | -e HOST_VAR=/hostfs/var \
136 | -e HOST_RUN=/hostfs/run \
137 | -e HOST_MOUNT_PREFIX=/hostfs \
138 | telegraf
139 | ```
140 |
141 | ## Monitoring docker containers
142 |
143 | To monitor other docker containers, you can use the docker plugin and mount the docker socket into the container. An example configuration is below:
144 |
145 | ```toml
146 | [[inputs.docker]]
147 | endpoint = "unix:///var/run/docker.sock"
148 | ```
149 |
150 | Then you can start the telegraf container.
151 |
152 | ```console
153 | $ docker run -d --name=telegraf \
154 | --net=influxdb \
155 | -v /var/run/docker.sock:/var/run/docker.sock \
156 | -v $PWD/telegraf.conf:/etc/telegraf/telegraf.conf:ro \
157 | telegraf
158 | ```
159 |
160 | Refer to the docker [plugin documentation](https://github.com/influxdata/telegraf/blob/master/plugins/inputs/docker/README.md) for more information.
161 |
162 | ## Install Additional Packages
163 |
164 | Some plugins require additional packages to be installed. For example, the `ntpq` plugin requires `ntpq` command. It is recommended to create a custom derivative image to install any needed commands.
165 |
166 | As an example this Dockerfile add the `mtr-tiny` image to the stock image and save it as `telegraf-mtr.docker`:
167 |
168 | ```dockerfile
169 | FROM telegraf:1.12.3
170 |
171 | RUN apt-get update && apt-get install -y --no-install-recommends mtr-tiny && \
172 | rm -rf /var/lib/apt/lists/*
173 | ```
174 |
175 | Build the derivative image:
176 |
177 | ```console
178 | $ docker build -t telegraf-mtr:1.12.3 - < telegraf-mtr.docker
179 | ```
180 |
181 | Create a `telegraf.conf` configuration file:
182 |
183 | ```toml
184 | [[inputs.exec]]
185 | interval = "60s"
186 | commands=["mtr -C -n example.org"]
187 | timeout = "40s"
188 | data_format = "csv"
189 | csv_skip_rows = 1
190 | csv_column_names=["", "", "status", "dest", "hop", "ip", "loss", "snt", "", "", "avg", "best", "worst", "stdev"]
191 | name_override = "mtr"
192 | csv_tag_columns = ["dest", "hop", "ip"]
193 |
194 | [[outputs.file]]
195 | files = ["stdout"]
196 | ```
197 |
198 | Run your derivative image:
199 |
200 | ```console
201 | $ docker run --name telegraf --rm -v $PWD/telegraf.conf:/etc/telegraf/telegraf.conf telegraf-mtr:1.12.3
202 | ```
203 |
204 | # Image Variants
205 |
206 | The `telegraf` images come in many flavors, each designed for a specific use case.
207 |
208 | ## `telegraf:<version>`
209 |
210 | 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.
211 |
212 | ## `telegraf:<version>-alpine`
213 |
214 | 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.
215 |
216 | 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.
217 |
218 | 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).
219 |
220 | # License
221 |
222 | View [license information](https://github.com/influxdata/telegraf/blob/master/LICENSE) for the software contained in this image.
223 |
224 | 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).
225 |
226 | Some additional license information which was able to be auto-detected might be found in [the `repo-info` repository's `telegraf/` directory](https://github.com/docker-library/repo-info/tree/master/repos/telegraf).
227 |
228 | 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.
229 |
```
--------------------------------------------------------------------------------
/mediawiki/README.md:
--------------------------------------------------------------------------------
```markdown
1 | <!--
2 |
3 | ********************************************************************************
4 |
5 | WARNING:
6 |
7 | DO NOT EDIT "mediawiki/README.md"
8 |
9 | IT IS AUTO-GENERATED
10 |
11 | (from the other files in "mediawiki/" combined with a set of templates)
12 |
13 | ********************************************************************************
14 |
15 | -->
16 |
17 | # Quick reference
18 |
19 | - **Maintained by**:
20 | [MediaWiki community & Docker Community](https://github.com/wikimedia/mediawiki-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.43.1`, `1.43`, `latest`, `stable`, `lts`](https://github.com/wikimedia/mediawiki-docker/blob/76236dfa180c94c95410242a17d6dc8603ba3990/1.43/apache/Dockerfile)
28 |
29 | - [`1.43.1-fpm`, `1.43-fpm`, `stable-fpm`, `lts-fpm`](https://github.com/wikimedia/mediawiki-docker/blob/76236dfa180c94c95410242a17d6dc8603ba3990/1.43/fpm/Dockerfile)
30 |
31 | - [`1.43.1-fpm-alpine`, `1.43-fpm-alpine`, `stable-fpm-alpine`, `lts-fpm-alpine`](https://github.com/wikimedia/mediawiki-docker/blob/76236dfa180c94c95410242a17d6dc8603ba3990/1.43/fpm-alpine/Dockerfile)
32 |
33 | - [`1.42.6`, `1.42`, `legacy`](https://github.com/wikimedia/mediawiki-docker/blob/76236dfa180c94c95410242a17d6dc8603ba3990/1.42/apache/Dockerfile)
34 |
35 | - [`1.42.6-fpm`, `1.42-fpm`, `legacy-fpm`](https://github.com/wikimedia/mediawiki-docker/blob/76236dfa180c94c95410242a17d6dc8603ba3990/1.42/fpm/Dockerfile)
36 |
37 | - [`1.42.6-fpm-alpine`, `1.42-fpm-alpine`, `legacy-fpm-alpine`](https://github.com/wikimedia/mediawiki-docker/blob/76236dfa180c94c95410242a17d6dc8603ba3990/1.42/fpm-alpine/Dockerfile)
38 |
39 | - [`1.39.12`, `1.39`](https://github.com/wikimedia/mediawiki-docker/blob/76236dfa180c94c95410242a17d6dc8603ba3990/1.39/apache/Dockerfile)
40 |
41 | - [`1.39.12-fpm`, `1.39-fpm`](https://github.com/wikimedia/mediawiki-docker/blob/76236dfa180c94c95410242a17d6dc8603ba3990/1.39/fpm/Dockerfile)
42 |
43 | - [`1.39.12-fpm-alpine`, `1.39-fpm-alpine`](https://github.com/wikimedia/mediawiki-docker/blob/76236dfa180c94c95410242a17d6dc8603ba3990/1.39/fpm-alpine/Dockerfile)
44 |
45 | # Quick reference (cont.)
46 |
47 | - **Where to file issues**:
48 | [https://phabricator.wikimedia.org/project/view/3094/](https://phabricator.wikimedia.org/project/view/3094/)
49 |
50 | - **Supported architectures**: ([more info](https://github.com/docker-library/official-images#architectures-other-than-amd64))
51 | [`amd64`](https://hub.docker.com/r/amd64/mediawiki/), [`arm32v5`](https://hub.docker.com/r/arm32v5/mediawiki/), [`arm32v6`](https://hub.docker.com/r/arm32v6/mediawiki/), [`arm32v7`](https://hub.docker.com/r/arm32v7/mediawiki/), [`arm64v8`](https://hub.docker.com/r/arm64v8/mediawiki/), [`i386`](https://hub.docker.com/r/i386/mediawiki/), [`ppc64le`](https://hub.docker.com/r/ppc64le/mediawiki/)
52 |
53 | - **Published image artifact details**:
54 | [repo-info repo's `repos/mediawiki/` directory](https://github.com/docker-library/repo-info/blob/master/repos/mediawiki) ([history](https://github.com/docker-library/repo-info/commits/master/repos/mediawiki))
55 | (image metadata, transfer size, etc)
56 |
57 | - **Image updates**:
58 | [official-images repo's `library/mediawiki` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fmediawiki)
59 | [official-images repo's `library/mediawiki` file](https://github.com/docker-library/official-images/blob/master/library/mediawiki) ([history](https://github.com/docker-library/official-images/commits/master/library/mediawiki))
60 |
61 | - **Source of this description**:
62 | [docs repo's `mediawiki/` directory](https://github.com/docker-library/docs/tree/master/mediawiki) ([history](https://github.com/docker-library/docs/commits/master/mediawiki))
63 |
64 | # What is MediaWiki?
65 |
66 | MediaWiki is free and open-source wiki software. Originally developed by Magnus Manske and improved by Lee Daniel Crocker, it runs on many websites, including Wikipedia, Wiktionary and Wikimedia Commons. It is written in the PHP programming language and stores the contents into a database. Like WordPress, which is based on a similar licensing and architecture, it has become the dominant software in its category.
67 |
68 | > [wikipedia.org/wiki/MediaWiki](https://en.wikipedia.org/wiki/MediaWiki)
69 |
70 | 
71 |
72 | # How to use this image
73 |
74 | The basic pattern for starting a `mediawiki` instance is:
75 |
76 | ```console
77 | $ docker run --name some-mediawiki -d mediawiki
78 | ```
79 |
80 | 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:
81 |
82 | ```console
83 | $ docker run --name some-mediawiki -p 8080:80 -d mediawiki
84 | ```
85 |
86 | Then, access it via `http://localhost:8080` or `http://host-ip:8080` in a browser.
87 |
88 | There are multiple database types supported by this image, most easily used via standard container linking. In the default configuration, SQLite can be used to avoid a second container and write to flat-files. More detailed instructions for different (more production-ready) database types follow.
89 |
90 | When first accessing the webserver provided by this image, it will go through a brief setup process. The details provided below are specifically for the "Set up database" step of that configuration process.
91 |
92 | ## MySQL
93 |
94 | ```console
95 | $ docker run --name some-mediawiki --link some-mysql:mysql -d mediawiki
96 | ```
97 |
98 | - Database type: `MySQL, MariaDB, or equivalent`
99 | - Database name/username/password: `<details for accessing your MySQL instance>` (`MYSQL_USER`, `MYSQL_PASSWORD`, `MYSQL_DATABASE`; see environment variables in the description for [`mariadb`](https://hub.docker.com/_/mariadb/))
100 | - ADVANCED OPTIONS; Database host: `some-mysql` (for using the `/etc/hosts` entry added by `--link` to access the linked container's MySQL instance)
101 |
102 | ## Volumes
103 |
104 | By default, this image does not include any volumes.
105 |
106 | The paths `/var/www/html/images` and `/var/www/html/LocalSettings.php` are things that generally ought to be volumes, but do not explicitly have a `VOLUME` declaration in this image because volumes cannot be removed.
107 |
108 | ```console
109 | $ docker run --rm mediawiki tar -cC /var/www/html/sites . | tar -xC /path/on/host/sites
110 | ```
111 |
112 | ## ... via [`docker compose`](https://github.com/docker/compose)
113 |
114 | Example `compose.yaml` for `mediawiki`:
115 |
116 | ```yaml
117 | # MediaWiki with MariaDB
118 | #
119 | # Access via "http://localhost:8080"
120 | services:
121 | mediawiki:
122 | image: mediawiki
123 | restart: always
124 | ports:
125 | - 8080:80
126 | links:
127 | - database
128 | volumes:
129 | - images:/var/www/html/images
130 | # After initial setup, download LocalSettings.php to the same directory as
131 | # this yaml and uncomment the following line and use compose to restart
132 | # the mediawiki service
133 | # - ./LocalSettings.php:/var/www/html/LocalSettings.php
134 | database: # <- This key defines the name of the database during setup
135 | image: mariadb
136 | restart: always
137 | environment:
138 | # @see https://phabricator.wikimedia.org/source/mediawiki/browse/master/includes/DefaultSettings.php
139 | MYSQL_DATABASE: my_wiki
140 | MYSQL_USER: wikiuser
141 | MYSQL_PASSWORD: example
142 | MYSQL_RANDOM_ROOT_PASSWORD: 'yes'
143 | volumes:
144 | - db:/var/lib/mysql
145 |
146 | volumes:
147 | images:
148 | db:
149 | ```
150 |
151 | Run `docker compose up`, wait for it to initialize completely, and visit `http://localhost:8080` or `http://host-ip:8080` (as appropriate).
152 |
153 | ## Adding additional libraries / extensions
154 |
155 | 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.
156 |
157 | 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/31280550a3c7104fef824450753844d2f3d917be/php/README.md#how-to-install-more-php-extensions) explains how to compile additional extensions.
158 |
159 | The following Docker Hub features can help with the task of keeping your dependent images up-to-date:
160 |
161 | - [Automated Builds](https://docs.docker.com/docker-hub/builds/) let Docker Hub automatically build your Dockerfile each time you push changes to it.
162 |
163 | # Image Variants
164 |
165 | The `mediawiki` images come in many flavors, each designed for a specific use case.
166 |
167 | ## `mediawiki:<version>`
168 |
169 | 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.
170 |
171 | ## `mediawiki:<version>-alpine`
172 |
173 | 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.
174 |
175 | 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.
176 |
177 | 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).
178 |
179 | # License
180 |
181 | View [license information](https://phabricator.wikimedia.org/source/mediawiki/browse/master/COPYING) for the software contained in this image.
182 |
183 | 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).
184 |
185 | Some additional license information which was able to be auto-detected might be found in [the `repo-info` repository's `mediawiki/` directory](https://github.com/docker-library/repo-info/tree/master/repos/mediawiki).
186 |
187 | 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.
188 |
```
--------------------------------------------------------------------------------
/eggdrop/README.md:
--------------------------------------------------------------------------------
```markdown
1 | <!--
2 |
3 | ********************************************************************************
4 |
5 | WARNING:
6 |
7 | DO NOT EDIT "eggdrop/README.md"
8 |
9 | IT IS AUTO-GENERATED
10 |
11 | (from the other files in "eggdrop/" combined with a set of templates)
12 |
13 | ********************************************************************************
14 |
15 | -->
16 |
17 | # Quick reference
18 |
19 | - **Maintained by**:
20 | [Eggheads (the Eggdrop community)](https://github.com/eggheads/eggdrop-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 | - [`develop`](https://github.com/eggheads/eggdrop-docker/blob/037d27fee1499a17a1062efcba0213801d82c405/develop/Dockerfile)
28 |
29 | - [`1.9`, `1.9.5`](https://github.com/eggheads/eggdrop-docker/blob/57fb1652a1880665b12e9f51775f173ecde24285/1.9/Dockerfile)
30 |
31 | - [`1.10`, `1.10.0`, `stable`, `latest`](https://github.com/eggheads/eggdrop-docker/blob/2861815d67478e41667b8ed2cf9d3f13a5e755c1/1.10/Dockerfile)
32 |
33 | # Quick reference (cont.)
34 |
35 | - **Where to file issues**:
36 | [https://github.com/eggheads/eggdrop-docker/issues](https://github.com/eggheads/eggdrop-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/eggdrop/), [`arm32v6`](https://hub.docker.com/r/arm32v6/eggdrop/), [`arm64v8`](https://hub.docker.com/r/arm64v8/eggdrop/)
40 |
41 | - **Published image artifact details**:
42 | [repo-info repo's `repos/eggdrop/` directory](https://github.com/docker-library/repo-info/blob/master/repos/eggdrop) ([history](https://github.com/docker-library/repo-info/commits/master/repos/eggdrop))
43 | (image metadata, transfer size, etc)
44 |
45 | - **Image updates**:
46 | [official-images repo's `library/eggdrop` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Feggdrop)
47 | [official-images repo's `library/eggdrop` file](https://github.com/docker-library/official-images/blob/master/library/eggdrop) ([history](https://github.com/docker-library/official-images/commits/master/library/eggdrop))
48 |
49 | - **Source of this description**:
50 | [docs repo's `eggdrop/` directory](https://github.com/docker-library/docs/tree/master/eggdrop) ([history](https://github.com/docker-library/docs/commits/master/eggdrop))
51 |
52 | # What is Eggdrop?
53 |
54 | Eggdrop is the world's most popular Open Source IRC bot, designed for flexibility and ease of use, and is freely distributable under the GNU General Public License (GPL). It is designed to Linux, BSD, SunOs, Windows, and Mac OS X, among others. The core codebase is extendable via TCL scripts or C modules and bots can be linked to form botnets, enabling the sharing of userfiles and partylines across multiple bots.
55 |
56 | 
57 |
58 | # How to use this image
59 |
60 | ## First Run
61 |
62 | To run this container the first time, you'll need to pass in, at minimum, a nickname and server via Environmental Variables. At minimum, a docker run command similar to
63 |
64 | ```console
65 | $ docker run -ti -e NICK=FooBot -e SERVER=irc.libera.chat -v /path/for/host/data:/home/eggdrop/eggdrop/data eggdrop
66 | ```
67 |
68 | should be used. This will modify the appropriate values within the config file, then start your bot with the nickname FooBot and connect it to irc.libera.chat. These variables are only needed for your first run- after the first use, you can edit the config file directly. Additional configuration options are listed in the following sections.
69 |
70 | Please note that, even in daemon mode, the `-i` flag for `docker run` is required.
71 |
72 | ## Environmental Variables
73 |
74 | ### `SERVER`
75 |
76 | This variable sets the IRC server Eggdrop will connect to. Examples are:
77 |
78 | ```console
79 | -e SERVER=just.a.normal.server
80 | -e SERVER="you.need.to.change.this 6667"
81 | -e SERVER="another.example.com 7000 password"
82 | -e SERVER="[2001:db8:618:5c0:263::] 6669 password"
83 | -e SERVER="ssl.example.net +6697"
84 | ```
85 |
86 | Note that specifiying a port or password will require enclosing the entire argument within quotes. Only one server can be specified via an environmental variable. The + denotes an SSL-enabled port. After the first run, it is advised to edit the eggdrop config directly to add additional servers (see Long-term Persistence below).
87 |
88 | ### `NICK`
89 |
90 | This variable sets the nickname used by eggdrop. After the first use, you should change it by editing the eggdrop config directly (see Long-term Persistence below).
91 |
92 | ### `LISTEN`
93 |
94 | This variable will set the TCP port that Eggdrop will listen for incoming connections on (the equivilent of `listen XXXX all` in the config). If you set this, you will likely need to adjust the `-p` flag to match in your `docker run` command.
95 |
96 | ### `EGGOWNER` (available for testing in develop tag only)
97 |
98 | This variable creates the first account handle for Eggdrop. This is the handle you will log in with, and will have full owner permissions. If you use this environment variable, you must also set the EGGOWNER_PASS environment variable or the container will not start. It can only be used the first time Eggdrop is run. If you are providing your own config file (not using one the one generated by docker on first run), you must add "source scripts/docker.tcl" to the end of your config file to enable this functionality. This variable may be removed after the first run of a container.
99 |
100 | ### `EGGOWNER_PASS` (available for testing in develop tag only)
101 |
102 | This variable sets the password for the EGGOWNER handle. Setting it without setting the EGGOWNER environment variable will not do anything. This variable may be removed after the first run of a container.
103 |
104 | ### `CHANNELS` (available for testing in develop tag only)
105 |
106 | This variable contains a list of channels Eggdrop will attempt to create when the container runs (if they do not already exist). The format for this variable is a comma-separated list (CHANNELS=#chan1,chan2,#chan3"). This variable can be removed once a channel has been added.
107 |
108 | ## Long-term Persistence
109 |
110 | After running the eggdrop container for the first time, the configuration file, user file and channel file will all be available inside the container at `/home/eggdrop/eggdrop/data/` . HOWEVER! These files are only as persistent as the container they exist in. If you expect to use a different container over the course of using the Eggdrop docker image (intentionally or not) you will want to create a persistent data store.
111 |
112 | The easiest way to do this is to mount a directory on your host machine to /home/eggdrop/eggdrop/data. If you do this prior to your first run, you can easily edit the eggdrop configuration file that this docker image generated in the directory on the host. Otherwise, you can also drop in existing config, user, or channel files into the mounted data directory for use in the eggdrop container.
113 |
114 | If you use a config file from a previous eggdrop install (ie, you don't use the config file that this image generates, PLEASE do not forget to modify the userfile and channelfile paths to utilize the data dir- this means edit the config file to use `set userfile data/<userfile>` and `set channelfile data/<channelfile>`. If you do not do this, your data IS NOT PERSISTENT. You'll also likely want to daemonize eggdrop (ie, run it in the background).
115 |
116 | To do this, start your container with something similar to
117 |
118 | ```console
119 | $ docker run -i -e NICK=FooBot -e SERVER=irc.libera.chat -v /path/to/eggdrop/files:/home/eggdrop/eggdrop/data -d eggdrop
120 | ```
121 |
122 | If you provide your own config file, place it in the data dir and specify it as the argument to the docker container:
123 |
124 | ```console
125 | $ docker run -i -v /path/to/eggdrop/files:/home/eggdrop/eggdrop/data -d eggdrop mybot.conf
126 | ```
127 |
128 | Any config file used with docker MUST end in .conf, such as eggdrop.conf or mybot.conf
129 |
130 | ## Adding scripts
131 |
132 | An easy way to add scripts would be to create a scripts directory on the host and mount it to `/home/eggdrop/eggdrop/scripts` (or the path of your choosing). This would be accomplished by adding an option similar to
133 |
134 | ```console
135 | -v /path/to/host/scripts:/home/eggdrop/eggdrop/scripts
136 | ```
137 |
138 | to your docker run command line (and then edit your config file to load the scripts from the path that matches where you mounted the scripts dir). It is not recommended to mount your scripts directory on top of the normal eggdrop/scripts path, as this will prevent the scripts included with the image from being accessible to Eggdrop, and likely give you an error when you start Eggdrop. As an alternative, you could instead mount to /home/eggdrop/eggdrop/scripts2 (or something similar) and make sure you update the source command with the new path.
139 |
140 | ## Adding packages required for scripts
141 |
142 | Many scripts require extra OS packages to be installed in order to function, such as tcl-tls, tcl-lib and libsqlite3-tcl. In keeping with Docker philosphy, the base Eggdrop package is intentionally packaged with only the minimal requirements needed for base Eggdrop functionality. However, users may easily add add packages when starting a container like this:
143 |
144 | ```console
145 | docker run -i eggdrop sh -c 'apk add tcl-lib tcl-tls && exec /home/eggdrop/eggdrop/entrypoint.sh eggdrop.conf'
146 | ```
147 |
148 | ## Exposing network ports
149 |
150 | If you want to expose network connections for your bot, you'll also want to use the -p flag to expose whichever port you specified in the config as the listen port (default is 3333). For example, to expose port 3333, add
151 |
152 | -p 3333:3333
153 |
154 | to your docker run command line.
155 |
156 | ## Common Errors
157 |
158 | # compose.yaml
159 |
160 | A `docker-compose.yml` example is hosted at https://github.com/eggheads/eggdrop-docker/blob/master/docker-compose.yml. A common error creating your own Docker Compose file from scratch is not adding:
161 |
162 | stdin_open: true
163 |
164 | Without it, Eggdrop will give you an "END OF FILE ON TERMINAL" error and not start.
165 |
166 | ## Troubleshooting / Support
167 |
168 | For additional help, you can join the #eggdrop channel on Libera
169 |
170 | The git repository for the Dockerfile is maintained at https://github.com/eggheads/eggdrop-docker
171 |
172 | # License
173 |
174 | View [license information](https://www.gnu.org/licenses/gpl-3.0.en.html) for the software contained in this image.
175 |
176 | 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).
177 |
178 | Some additional license information which was able to be auto-detected might be found in [the `repo-info` repository's `eggdrop/` directory](https://github.com/docker-library/repo-info/tree/master/repos/eggdrop).
179 |
180 | 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.
181 |
```
--------------------------------------------------------------------------------
/odoo/README.md:
--------------------------------------------------------------------------------
```markdown
1 | <!--
2 |
3 | ********************************************************************************
4 |
5 | WARNING:
6 |
7 | DO NOT EDIT "odoo/README.md"
8 |
9 | IT IS AUTO-GENERATED
10 |
11 | (from the other files in "odoo/" combined with a set of templates)
12 |
13 | ********************************************************************************
14 |
15 | -->
16 |
17 | # Quick reference
18 |
19 | - **Maintained by**:
20 | [Odoo](https://github.com/odoo/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 | - [`18.0-20250428`, `18.0`, `18`, `latest`](https://github.com/odoo/docker/blob/4cb56b39df0cc06093b6185a609609e1cf264371/18.0/Dockerfile)
28 |
29 | - [`17.0-20250428`, `17.0`, `17`](https://github.com/odoo/docker/blob/4cb56b39df0cc06093b6185a609609e1cf264371/17.0/Dockerfile)
30 |
31 | - [`16.0-20250428`, `16.0`, `16`](https://github.com/odoo/docker/blob/4cb56b39df0cc06093b6185a609609e1cf264371/16.0/Dockerfile)
32 |
33 | # Quick reference (cont.)
34 |
35 | - **Where to file issues**:
36 | [https://github.com/odoo/docker/issues](https://github.com/odoo/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/odoo/), [`arm64v8`](https://hub.docker.com/r/arm64v8/odoo/), [`ppc64le`](https://hub.docker.com/r/ppc64le/odoo/)
40 |
41 | - **Published image artifact details**:
42 | [repo-info repo's `repos/odoo/` directory](https://github.com/docker-library/repo-info/blob/master/repos/odoo) ([history](https://github.com/docker-library/repo-info/commits/master/repos/odoo))
43 | (image metadata, transfer size, etc)
44 |
45 | - **Image updates**:
46 | [official-images repo's `library/odoo` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fodoo)
47 | [official-images repo's `library/odoo` file](https://github.com/docker-library/official-images/blob/master/library/odoo) ([history](https://github.com/docker-library/official-images/commits/master/library/odoo))
48 |
49 | - **Source of this description**:
50 | [docs repo's `odoo/` directory](https://github.com/docker-library/docs/tree/master/odoo) ([history](https://github.com/docker-library/docs/commits/master/odoo))
51 |
52 | # What is Odoo?
53 |
54 | Odoo, formerly known as OpenERP, is a suite of open-source business apps written in Python and released under the LGPL license. This suite of applications covers all business needs, from Website/Ecommerce down to manufacturing, inventory and accounting, all seamlessly integrated. It is the first time ever a software editor managed to reach such a functional coverage. Odoo is the most installed business software in the world. Odoo is used by 2.000.000 users worldwide ranging from very small companies (1 user) to very large ones (300 000 users).
55 |
56 | > [www.odoo.com](https://www.odoo.com)
57 |
58 | 
59 |
60 | # How to use this image
61 |
62 | This image requires a running PostgreSQL server.
63 |
64 | ## Start a PostgreSQL server
65 |
66 | ```console
67 | $ docker run -d -e POSTGRES_USER=odoo -e POSTGRES_PASSWORD=odoo -e POSTGRES_DB=postgres --name db postgres:15
68 | ```
69 |
70 | ## Start an Odoo instance
71 |
72 | ```console
73 | $ docker run -p 8069:8069 --name odoo --link db:db -t odoo
74 | ```
75 |
76 | The alias of the container running Postgres must be db for Odoo to be able to connect to the Postgres server.
77 |
78 | ## Stop and restart an Odoo instance
79 |
80 | ```console
81 | $ docker stop odoo
82 | $ docker start -a odoo
83 | ```
84 |
85 | ## Use named volumes to preserve data
86 |
87 | When the Odoo container is created like described above, the odoo filestore is created inside the container. If the container is removed, the filestore is lost. The preferred way to prevent that is by using a Docker named [volume](https://docs.docker.com/storage/volumes/).
88 |
89 | ```console
90 | $ docker run -v odoo-data:/var/lib/odoo -d -p 8069:8069 --name odoo --link db:db -t odoo
91 | ```
92 |
93 | With the above command, the volume named `odoo-data` will persist even if the container is removed and can be re-used by issuing the same command.
94 |
95 | The path `/var/lib/odoo` used as the mount point of the volume must match the odoo `data_dir` in the config file or as CLI parameters.
96 |
97 | Note that the same principle applies to the Postgresql container and a named volume can be used to preserve the database when the container is removed. So the database container could be started like this (before the odoo container):
98 |
99 | ```console
100 | $ docker run -d -v odoo-db:/var/lib/postgresql/data -e POSTGRES_USER=odoo -e POSTGRES_PASSWORD=odoo -e POSTGRES_DB=postgres --name db postgres:15
101 | ```
102 |
103 | ## Stop and restart a PostgreSQL server
104 |
105 | When a PostgreSQL server is restarted, the Odoo instances linked to that server must be restarted as well because the server address has changed and the link is thus broken.
106 |
107 | Restarting a PostgreSQL server does not affect the created databases.
108 |
109 | ## Run Odoo with a custom configuration
110 |
111 | The default configuration file for the server (located at `/etc/odoo/odoo.conf`) can be overriden at startup using volumes. Suppose you have a custom configuration at `/path/to/config/odoo.conf`, then
112 |
113 | ```console
114 | $ docker run -v /path/to/config:/etc/odoo -p 8069:8069 --name odoo --link db:db -t odoo
115 | ```
116 |
117 | Please use [this configuration template](https://github.com/odoo/docker/blob/master/17.0/odoo.conf) to write your custom configuration as we already set some arguments for running Odoo inside a Docker container.
118 |
119 | You can also directly specify Odoo arguments inline. Those arguments must be given after the keyword `--` in the command-line, as follows
120 |
121 | ```console
122 | $ docker run -p 8069:8069 --name odoo --link db:db -t odoo -- --db-filter=odoo_db_.*
123 | ```
124 |
125 | ## Mount custom addons
126 |
127 | You can mount your own Odoo addons within the Odoo container, at `/mnt/extra-addons`
128 |
129 | ```console
130 | $ docker run -v /path/to/addons:/mnt/extra-addons -p 8069:8069 --name odoo --link db:db -t odoo
131 | ```
132 |
133 | **Note:** Altough there is no official Odoo Enterprise Docker image, the Enterprise modules can be mounted by using the above mentionned method.
134 |
135 | ## Run multiple Odoo instances
136 |
137 | ```console
138 | $ docker run -p 8070:8069 --name odoo2 --link db:db -t odoo
139 | $ docker run -p 8071:8069 --name odoo3 --link db:db -t odoo
140 | ```
141 |
142 | **Note:** For plain use of mails and reports functionalities, when the host and container ports differ (e.g. 8070 and 8069), one has to set, in Odoo, `Settings->Parameters->System Parameters` (requires technical features), web.base.url to the container port (e.g. 127.0.0.1:8069).
143 |
144 | ## Environment Variables
145 |
146 | Tweak these environment variables to easily connect to a postgres server:
147 |
148 | - `HOST`: The address of the postgres server. If you used a postgres container, set to the name of the container. Defaults to `db`.
149 | - `PORT`: The port the postgres server is listening to. Defaults to `5432`.
150 | - `USER`: The postgres role with which Odoo will connect. If you used a postgres container, set to the same value as `POSTGRES_USER`. Defaults to `odoo`.
151 | - `PASSWORD`: The password of the postgres role with which Odoo will connect. If you used a postgres container, set to the same value as `POSTGRES_PASSWORD`. Defaults to `odoo`.
152 |
153 | ## Docker Compose examples
154 |
155 | The simplest `compose.yaml` file would be:
156 |
157 | ```yml
158 | services:
159 | web:
160 | image: odoo:17.0
161 | depends_on:
162 | - db
163 | ports:
164 | - "8069:8069"
165 | db:
166 | image: postgres:15
167 | environment:
168 | - POSTGRES_DB=postgres
169 | - POSTGRES_PASSWORD=odoo
170 | - POSTGRES_USER=odoo
171 | ```
172 |
173 | If the default postgres credentials does not suit you, tweak the environment variables:
174 |
175 | ```yml
176 | services:
177 | web:
178 | image: odoo:17.0
179 | depends_on:
180 | - mydb
181 | ports:
182 | - "8069:8069"
183 | environment:
184 | - HOST=mydb
185 | - USER=odoo
186 | - PASSWORD=myodoo
187 | mydb:
188 | image: postgres:15
189 | environment:
190 | - POSTGRES_DB=postgres
191 | - POSTGRES_PASSWORD=myodoo
192 | - POSTGRES_USER=odoo
193 | ```
194 |
195 | Here's a last example showing you how to
196 |
197 | - mount custom addons located in `./addons`
198 | - use a custom configuration file located in `.config/odoo.conf`
199 | - use named volumes for the Odoo and postgres data dir
200 | - use a `secrets` file named `odoo_pg_pass` that contains the postgreql password shared by both services
201 |
202 | ```yml
203 | services:
204 | web:
205 | image: odoo:17.0
206 | depends_on:
207 | - db
208 | ports:
209 | - "8069:8069"
210 | volumes:
211 | - odoo-web-data:/var/lib/odoo
212 | - ./config:/etc/odoo
213 | - ./addons:/mnt/extra-addons
214 | environment:
215 | - PASSWORD_FILE=/run/secrets/postgresql_password
216 | secrets:
217 | - postgresql_password
218 | db:
219 | image: postgres:15
220 | environment:
221 | - POSTGRES_DB=postgres
222 | - POSTGRES_PASSWORD_FILE=/run/secrets/postgresql_password
223 | - POSTGRES_USER=odoo
224 | - PGDATA=/var/lib/postgresql/data/pgdata
225 | volumes:
226 | - odoo-db-data:/var/lib/postgresql/data/pgdata
227 | secrets:
228 | - postgresql_password
229 | volumes:
230 | odoo-web-data:
231 | odoo-db-data:
232 |
233 | secrets:
234 | postgresql_password:
235 | file: odoo_pg_pass
236 | ```
237 |
238 | To start your Odoo instance, go in the directory of the `compose.yaml` file you created from the previous examples and type:
239 |
240 | ```console
241 | docker compose up -d
242 | ```
243 |
244 | # How to upgrade this image
245 |
246 | Odoo images are updated on a regular basis to make them use recent releases (a new release of each version of Odoo is built [every night](http://nightly.odoo.com/)). Please be aware that what follows is about upgrading from an old release to the latest one provided of the same major version, as upgrading from a major version to another is a much more complex process requiring elaborated migration scripts (see [Odoo Upgrade page](https://upgrade.odoo.com) or this [community project](https://github.com/OCA/OpenUpgrade) which aims to write those scripts).
247 |
248 | Suppose you created a database from an Odoo instance named old-odoo, and you want to access this database from a new Odoo instance named new-odoo, e.g. because you've just downloaded a newer Odoo image.
249 |
250 | By default, Odoo 16.0+ uses a filestore (located at `/var/lib/odoo/filestore/`) for attachments. You should restore this filestore in your new Odoo instance by running
251 |
252 | ```console
253 | $ docker run --volumes-from old-odoo -p 8070:8069 --name new-odoo --link db:db -t odoo
254 | ```
255 |
256 | # License
257 |
258 | View [license information](https://github.com/odoo/odoo/blob/master/LICENSE) for the software contained in this image.
259 |
260 | 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).
261 |
262 | Some additional license information which was able to be auto-detected might be found in [the `repo-info` repository's `odoo/` directory](https://github.com/docker-library/repo-info/tree/master/repos/odoo).
263 |
264 | 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.
265 |
```
--------------------------------------------------------------------------------
/haproxy/README.md:
--------------------------------------------------------------------------------
```markdown
1 | <!--
2 |
3 | ********************************************************************************
4 |
5 | WARNING:
6 |
7 | DO NOT EDIT "haproxy/README.md"
8 |
9 | IT IS AUTO-GENERATED
10 |
11 | (from the other files in "haproxy/" 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/haproxy)
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 | - [`3.2-dev15`, `3.2-dev`, `3.2-dev15-bookworm`, `3.2-dev-bookworm`](https://github.com/docker-library/haproxy/blob/40ab67138f90c67f0c898b1c7bb13719190d337b/3.2/Dockerfile)
28 |
29 | - [`3.2-dev15-alpine`, `3.2-dev-alpine`, `3.2-dev15-alpine3.21`, `3.2-dev-alpine3.21`](https://github.com/docker-library/haproxy/blob/40ab67138f90c67f0c898b1c7bb13719190d337b/3.2/alpine/Dockerfile)
30 |
31 | - [`3.1.7`, `3.1`, `latest`, `3.1.7-bookworm`, `3.1-bookworm`, `bookworm`](https://github.com/docker-library/haproxy/blob/923a92620c9c0277c5d52f3c8734fefe612cadfd/3.1/Dockerfile)
32 |
33 | - [`3.1.7-alpine`, `3.1-alpine`, `alpine`, `3.1.7-alpine3.21`, `3.1-alpine3.21`, `alpine3.21`](https://github.com/docker-library/haproxy/blob/923a92620c9c0277c5d52f3c8734fefe612cadfd/3.1/alpine/Dockerfile)
34 |
35 | - [`3.0.10`, `3.0`, `lts`, `3.0.10-bookworm`, `3.0-bookworm`, `lts-bookworm`](https://github.com/docker-library/haproxy/blob/dccf0f4e3aa2c74e30a89954cba69305e52edf7f/3.0/Dockerfile)
36 |
37 | - [`3.0.10-alpine`, `3.0-alpine`, `lts-alpine`, `3.0.10-alpine3.21`, `3.0-alpine3.21`, `lts-alpine3.21`](https://github.com/docker-library/haproxy/blob/dccf0f4e3aa2c74e30a89954cba69305e52edf7f/3.0/alpine/Dockerfile)
38 |
39 | - [`2.8.15`, `2.8`, `2.8.15-bookworm`, `2.8-bookworm`](https://github.com/docker-library/haproxy/blob/82d8d0e917b2dbba726f6cf853688d1bb6eed5fc/2.8/Dockerfile)
40 |
41 | - [`2.8.15-alpine`, `2.8-alpine`, `2.8.15-alpine3.21`, `2.8-alpine3.21`](https://github.com/docker-library/haproxy/blob/82d8d0e917b2dbba726f6cf853688d1bb6eed5fc/2.8/alpine/Dockerfile)
42 |
43 | - [`2.6.22`, `2.6`, `2.6.22-bookworm`, `2.6-bookworm`](https://github.com/docker-library/haproxy/blob/b2272eca1be0415af128438e91ffb721d758eef7/2.6/Dockerfile)
44 |
45 | - [`2.6.22-alpine`, `2.6-alpine`, `2.6.22-alpine3.21`, `2.6-alpine3.21`](https://github.com/docker-library/haproxy/blob/b2272eca1be0415af128438e91ffb721d758eef7/2.6/alpine/Dockerfile)
46 |
47 | - [`2.4.29`, `2.4`, `2.4.29-bookworm`, `2.4-bookworm`](https://github.com/docker-library/haproxy/blob/d5e3fa1fab9349226162c5a160ed667d0f62e688/2.4/Dockerfile)
48 |
49 | - [`2.4.29-alpine`, `2.4-alpine`, `2.4.29-alpine3.21`, `2.4-alpine3.21`](https://github.com/docker-library/haproxy/blob/d5e3fa1fab9349226162c5a160ed667d0f62e688/2.4/alpine/Dockerfile)
50 |
51 | - [`2.2.34`, `2.2`, `2.2.34-bullseye`, `2.2-bullseye`](https://github.com/docker-library/haproxy/blob/fcee7759df612f1047d4b41b42c9f628dac925bf/2.2/Dockerfile)
52 |
53 | # Quick reference (cont.)
54 |
55 | - **Where to file issues**:
56 | [https://github.com/docker-library/haproxy/issues](https://github.com/docker-library/haproxy/issues?q=)
57 |
58 | - **Supported architectures**: ([more info](https://github.com/docker-library/official-images#architectures-other-than-amd64))
59 | [`amd64`](https://hub.docker.com/r/amd64/haproxy/), [`arm32v5`](https://hub.docker.com/r/arm32v5/haproxy/), [`arm32v6`](https://hub.docker.com/r/arm32v6/haproxy/), [`arm32v7`](https://hub.docker.com/r/arm32v7/haproxy/), [`arm64v8`](https://hub.docker.com/r/arm64v8/haproxy/), [`i386`](https://hub.docker.com/r/i386/haproxy/), [`mips64le`](https://hub.docker.com/r/mips64le/haproxy/), [`ppc64le`](https://hub.docker.com/r/ppc64le/haproxy/), [`riscv64`](https://hub.docker.com/r/riscv64/haproxy/), [`s390x`](https://hub.docker.com/r/s390x/haproxy/)
60 |
61 | - **Published image artifact details**:
62 | [repo-info repo's `repos/haproxy/` directory](https://github.com/docker-library/repo-info/blob/master/repos/haproxy) ([history](https://github.com/docker-library/repo-info/commits/master/repos/haproxy))
63 | (image metadata, transfer size, etc)
64 |
65 | - **Image updates**:
66 | [official-images repo's `library/haproxy` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fhaproxy)
67 | [official-images repo's `library/haproxy` file](https://github.com/docker-library/official-images/blob/master/library/haproxy) ([history](https://github.com/docker-library/official-images/commits/master/library/haproxy))
68 |
69 | - **Source of this description**:
70 | [docs repo's `haproxy/` directory](https://github.com/docker-library/docs/tree/master/haproxy) ([history](https://github.com/docker-library/docs/commits/master/haproxy))
71 |
72 | # What is HAProxy?
73 |
74 | HAProxy is a free, open source high availability solution, providing load balancing and proxying for TCP and HTTP-based applications by spreading requests across multiple servers. It is written in C and has a reputation for being fast and efficient (in terms of processor and memory usage).
75 |
76 | > [wikipedia.org/wiki/HAProxy](https://en.wikipedia.org/wiki/HAProxy)
77 |
78 | 
79 |
80 | # How to use this image
81 |
82 | Since no two users of HAProxy are likely to configure it exactly alike, this image does not come with any default configuration.
83 |
84 | Please refer to [upstream's excellent (and comprehensive) documentation](https://docs.haproxy.org/) on the subject of configuring HAProxy for your needs.
85 |
86 | It is also worth checking out the [`examples/` directory from upstream](http://git.haproxy.org/?p=haproxy-2.3.git;a=tree;f=examples).
87 |
88 | ## Create a `Dockerfile`
89 |
90 | ```dockerfile
91 | FROM haproxy:2.3
92 | COPY haproxy.cfg /usr/local/etc/haproxy/haproxy.cfg
93 | ```
94 |
95 | ## Build the container
96 |
97 | ```console
98 | $ docker build -t my-haproxy .
99 | ```
100 |
101 | ## Test the configuration file
102 |
103 | ```console
104 | $ docker run -it --rm --name haproxy-syntax-check my-haproxy haproxy -c -f /usr/local/etc/haproxy/haproxy.cfg
105 | ```
106 |
107 | ## Run the container
108 |
109 | ```console
110 | $ docker run -d --name my-running-haproxy --sysctl net.ipv4.ip_unprivileged_port_start=0 my-haproxy
111 | ```
112 |
113 | You will need a kernel at [version 4.11 or newer](https://github.com/moby/moby/issues/8460#issuecomment-312459310) to use `--sysctl net.ipv4.ip_unprivileged_port_start=0` , you may need to publish the ports your HAProxy is listening on to the host by specifying the -p option, for example -p 8080:80 to publish port 8080 from the container host to port 80 in the container. Make sure the port you're using is free.
114 |
115 | **Note:** the 2.4+ versions of the container will run as `USER haproxy` by default (hence the `--sysctl net.ipv4.ip_unprivileged_port_start=0` above), but older versions still default to `root` for compatibility reasons; use `--user haproxy` (or any other UID) if you want to run as non-root in older versions.
116 |
117 | ## Directly via bind mount
118 |
119 | ```console
120 | $ docker run -d --name my-running-haproxy -v /path/to/etc/haproxy:/usr/local/etc/haproxy:ro --sysctl net.ipv4.ip_unprivileged_port_start=0 haproxy:2.3
121 | ```
122 |
123 | Note that your host's `/path/to/etc/haproxy` folder should be populated with a file named `haproxy.cfg`. If this configuration file refers to any other files within that folder then you should ensure that they also exist (e.g. template files such as `400.http`, `404.http`, and so forth). However, many minimal configurations do not require any supporting files.
124 |
125 | ### Reloading config
126 |
127 | If you used a bind mount for the config and have edited your `haproxy.cfg` file, you can use HAProxy's graceful reload feature by sending a `SIGHUP` to the container:
128 |
129 | ```console
130 | $ docker kill -s HUP my-running-haproxy
131 | ```
132 |
133 | The entrypoint script in the image checks for running the command `haproxy` and replaces it with `haproxy-systemd-wrapper` from HAProxy upstream which takes care of signal handling to do the graceful reload. Under the hood this uses the `-sf` option of `haproxy` so "there are two small windows of a few milliseconds each where it is possible that a few connection failures will be noticed during high loads" (see [Stopping and restarting HAProxy](http://www.haproxy.org/download/2.3/doc/management.txt)).
134 |
135 | # Image Variants
136 |
137 | The `haproxy` images come in many flavors, each designed for a specific use case.
138 |
139 | ## `haproxy:<version>`
140 |
141 | 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.
142 |
143 | 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.
144 |
145 | ## `haproxy:<version>-alpine`
146 |
147 | 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.
148 |
149 | 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.
150 |
151 | 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).
152 |
153 | # License
154 |
155 | View [license information](http://www.haproxy.org/download/1.5/doc/LICENSE) for the software contained in this image.
156 |
157 | 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).
158 |
159 | Some additional license information which was able to be auto-detected might be found in [the `repo-info` repository's `haproxy/` directory](https://github.com/docker-library/repo-info/tree/master/repos/haproxy).
160 |
161 | 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.
162 |
```
--------------------------------------------------------------------------------
/ibm-semeru-runtimes/README.md:
--------------------------------------------------------------------------------
```markdown
1 | <!--
2 |
3 | ********************************************************************************
4 |
5 | WARNING:
6 |
7 | DO NOT EDIT "ibm-semeru-runtimes/README.md"
8 |
9 | IT IS AUTO-GENERATED
10 |
11 | (from the other files in "ibm-semeru-runtimes/" combined with a set of templates)
12 |
13 | ********************************************************************************
14 |
15 | -->
16 |
17 | # Quick reference
18 |
19 | - **Maintained by**:
20 | [IBM Semeru Runtimes](https://github.com/ibmruntimes/semeru-containers)
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 | (See ["What's the difference between 'Shared' and 'Simple' tags?" in the FAQ](https://github.com/docker-library/faq#whats-the-difference-between-shared-and-simple-tags).)
28 |
29 | ## Simple Tags
30 |
31 | - [`open-8u452-b09-jdk-focal`, `open-8-jdk-focal`](https://github.com/ibmruntimes/semeru-containers/blob/a1003659cad2232a0bb4e0ed49ae1c428e4d8b63/8/jdk/ubuntu/focal/Dockerfile.open.releases.full)
32 |
33 | - [`open-8u452-b09-jdk-jammy`, `open-8-jdk-jammy`](https://github.com/ibmruntimes/semeru-containers/blob/a1003659cad2232a0bb4e0ed49ae1c428e4d8b63/8/jdk/ubuntu/jammy/Dockerfile.open.releases.full)
34 |
35 | - [`open-8u452-b09-jdk-noble`, `open-8-jdk-noble`](https://github.com/ibmruntimes/semeru-containers/blob/a1003659cad2232a0bb4e0ed49ae1c428e4d8b63/8/jdk/ubuntu/noble/Dockerfile.open.releases.full)
36 |
37 | - [`open-8u452-b09-jre-focal`, `open-8-jre-focal`](https://github.com/ibmruntimes/semeru-containers/blob/a1003659cad2232a0bb4e0ed49ae1c428e4d8b63/8/jre/ubuntu/focal/Dockerfile.open.releases.full)
38 |
39 | - [`open-8u452-b09-jre-jammy`, `open-8-jre-jammy`](https://github.com/ibmruntimes/semeru-containers/blob/a1003659cad2232a0bb4e0ed49ae1c428e4d8b63/8/jre/ubuntu/jammy/Dockerfile.open.releases.full)
40 |
41 | - [`open-8u452-b09-jre-noble`, `open-8-jre-noble`](https://github.com/ibmruntimes/semeru-containers/blob/a1003659cad2232a0bb4e0ed49ae1c428e4d8b63/8/jre/ubuntu/noble/Dockerfile.open.releases.full)
42 |
43 | - [`open-11.0.27_6-jdk-focal`, `open-11-jdk-focal`](https://github.com/ibmruntimes/semeru-containers/blob/a1003659cad2232a0bb4e0ed49ae1c428e4d8b63/11/jdk/ubuntu/focal/Dockerfile.open.releases.full)
44 |
45 | - [`open-11.0.27_6-jdk-jammy`, `open-11-jdk-jammy`](https://github.com/ibmruntimes/semeru-containers/blob/a1003659cad2232a0bb4e0ed49ae1c428e4d8b63/11/jdk/ubuntu/jammy/Dockerfile.open.releases.full)
46 |
47 | - [`open-11.0.27_6-jdk-noble`, `open-11-jdk-noble`](https://github.com/ibmruntimes/semeru-containers/blob/a1003659cad2232a0bb4e0ed49ae1c428e4d8b63/11/jdk/ubuntu/noble/Dockerfile.open.releases.full)
48 |
49 | - [`open-11.0.27_6-jre-focal`, `open-11-jre-focal`](https://github.com/ibmruntimes/semeru-containers/blob/a1003659cad2232a0bb4e0ed49ae1c428e4d8b63/11/jre/ubuntu/focal/Dockerfile.open.releases.full)
50 |
51 | - [`open-11.0.27_6-jre-jammy`, `open-11-jre-jammy`](https://github.com/ibmruntimes/semeru-containers/blob/a1003659cad2232a0bb4e0ed49ae1c428e4d8b63/11/jre/ubuntu/jammy/Dockerfile.open.releases.full)
52 |
53 | - [`open-11.0.27_6-jre-noble`, `open-11-jre-noble`](https://github.com/ibmruntimes/semeru-containers/blob/a1003659cad2232a0bb4e0ed49ae1c428e4d8b63/11/jre/ubuntu/noble/Dockerfile.open.releases.full)
54 |
55 | - [`open-17.0.15_6-jdk-focal`, `open-17-jdk-focal`](https://github.com/ibmruntimes/semeru-containers/blob/a1003659cad2232a0bb4e0ed49ae1c428e4d8b63/17/jdk/ubuntu/focal/Dockerfile.open.releases.full)
56 |
57 | - [`open-17.0.15_6-jdk-jammy`, `open-17-jdk-jammy`](https://github.com/ibmruntimes/semeru-containers/blob/a1003659cad2232a0bb4e0ed49ae1c428e4d8b63/17/jdk/ubuntu/jammy/Dockerfile.open.releases.full)
58 |
59 | - [`open-17.0.15_6-jdk-noble`, `open-17-jdk-noble`](https://github.com/ibmruntimes/semeru-containers/blob/a1003659cad2232a0bb4e0ed49ae1c428e4d8b63/17/jdk/ubuntu/noble/Dockerfile.open.releases.full)
60 |
61 | - [`open-17.0.15_6-jre-focal`, `open-17-jre-focal`](https://github.com/ibmruntimes/semeru-containers/blob/a1003659cad2232a0bb4e0ed49ae1c428e4d8b63/17/jre/ubuntu/focal/Dockerfile.open.releases.full)
62 |
63 | - [`open-17.0.15_6-jre-jammy`, `open-17-jre-jammy`](https://github.com/ibmruntimes/semeru-containers/blob/a1003659cad2232a0bb4e0ed49ae1c428e4d8b63/17/jre/ubuntu/jammy/Dockerfile.open.releases.full)
64 |
65 | - [`open-17.0.15_6-jre-noble`, `open-17-jre-noble`](https://github.com/ibmruntimes/semeru-containers/blob/a1003659cad2232a0bb4e0ed49ae1c428e4d8b63/17/jre/ubuntu/noble/Dockerfile.open.releases.full)
66 |
67 | - [`open-21.0.7_6-jdk-focal`, `open-21-jdk-focal`](https://github.com/ibmruntimes/semeru-containers/blob/a1003659cad2232a0bb4e0ed49ae1c428e4d8b63/21/jdk/ubuntu/focal/Dockerfile.open.releases.full)
68 |
69 | - [`open-21.0.7_6-jdk-jammy`, `open-21-jdk-jammy`](https://github.com/ibmruntimes/semeru-containers/blob/a1003659cad2232a0bb4e0ed49ae1c428e4d8b63/21/jdk/ubuntu/jammy/Dockerfile.open.releases.full)
70 |
71 | - [`open-21.0.7_6-jdk-noble`, `open-21-jdk-noble`](https://github.com/ibmruntimes/semeru-containers/blob/a1003659cad2232a0bb4e0ed49ae1c428e4d8b63/21/jdk/ubuntu/noble/Dockerfile.open.releases.full)
72 |
73 | - [`open-21.0.7_6-jre-focal`, `open-21-jre-focal`](https://github.com/ibmruntimes/semeru-containers/blob/a1003659cad2232a0bb4e0ed49ae1c428e4d8b63/21/jre/ubuntu/focal/Dockerfile.open.releases.full)
74 |
75 | - [`open-21.0.7_6-jre-jammy`, `open-21-jre-jammy`](https://github.com/ibmruntimes/semeru-containers/blob/a1003659cad2232a0bb4e0ed49ae1c428e4d8b63/21/jre/ubuntu/jammy/Dockerfile.open.releases.full)
76 |
77 | - [`open-21.0.7_6-jre-noble`, `open-21-jre-noble`](https://github.com/ibmruntimes/semeru-containers/blob/a1003659cad2232a0bb4e0ed49ae1c428e4d8b63/21/jre/ubuntu/noble/Dockerfile.open.releases.full)
78 |
79 | ## Shared Tags
80 |
81 | - `open-8u452-b09-jdk`, `open-8-jdk`:
82 |
83 | - [`open-8u452-b09-jdk-noble`](https://github.com/ibmruntimes/semeru-containers/blob/a1003659cad2232a0bb4e0ed49ae1c428e4d8b63/8/jdk/ubuntu/noble/Dockerfile.open.releases.full)
84 |
85 | - `open-8u452-b09-jre`, `open-8-jre`:
86 |
87 | - [`open-8u452-b09-jre-noble`](https://github.com/ibmruntimes/semeru-containers/blob/a1003659cad2232a0bb4e0ed49ae1c428e4d8b63/8/jre/ubuntu/noble/Dockerfile.open.releases.full)
88 |
89 | - `open-11.0.27_6-jdk`, `open-11-jdk`:
90 |
91 | - [`open-11.0.27_6-jdk-noble`](https://github.com/ibmruntimes/semeru-containers/blob/a1003659cad2232a0bb4e0ed49ae1c428e4d8b63/11/jdk/ubuntu/noble/Dockerfile.open.releases.full)
92 |
93 | - `open-11.0.27_6-jre`, `open-11-jre`:
94 |
95 | - [`open-11.0.27_6-jre-noble`](https://github.com/ibmruntimes/semeru-containers/blob/a1003659cad2232a0bb4e0ed49ae1c428e4d8b63/11/jre/ubuntu/noble/Dockerfile.open.releases.full)
96 |
97 | - `open-17.0.15_6-jdk`, `open-17-jdk`:
98 |
99 | - [`open-17.0.15_6-jdk-noble`](https://github.com/ibmruntimes/semeru-containers/blob/a1003659cad2232a0bb4e0ed49ae1c428e4d8b63/17/jdk/ubuntu/noble/Dockerfile.open.releases.full)
100 |
101 | - `open-17.0.15_6-jre`, `open-17-jre`:
102 |
103 | - [`open-17.0.15_6-jre-noble`](https://github.com/ibmruntimes/semeru-containers/blob/a1003659cad2232a0bb4e0ed49ae1c428e4d8b63/17/jre/ubuntu/noble/Dockerfile.open.releases.full)
104 |
105 | - `open-21.0.7_6-jdk`, `open-21-jdk`:
106 |
107 | - [`open-21.0.7_6-jdk-noble`](https://github.com/ibmruntimes/semeru-containers/blob/a1003659cad2232a0bb4e0ed49ae1c428e4d8b63/21/jdk/ubuntu/noble/Dockerfile.open.releases.full)
108 |
109 | - `open-21.0.7_6-jre`, `open-21-jre`:
110 |
111 | - [`open-21.0.7_6-jre-noble`](https://github.com/ibmruntimes/semeru-containers/blob/a1003659cad2232a0bb4e0ed49ae1c428e4d8b63/21/jre/ubuntu/noble/Dockerfile.open.releases.full)
112 |
113 | # Quick reference (cont.)
114 |
115 | - **Where to file issues**:
116 | [GitHub](https://github.com/ibmruntimes/Semeru-Runtimes/issues); The [IBM Semeru Runtimes support](https://ibm.com/semeru-runtimes) page has more information on quality, roadmap and other details for IBM Semeru Runtime Open Edition builds;
117 |
118 | - **Supported architectures**: ([more info](https://github.com/docker-library/official-images#architectures-other-than-amd64))
119 | [`amd64`](https://hub.docker.com/r/amd64/ibm-semeru-runtimes/), [`arm64v8`](https://hub.docker.com/r/arm64v8/ibm-semeru-runtimes/), [`ppc64le`](https://hub.docker.com/r/ppc64le/ibm-semeru-runtimes/), [`s390x`](https://hub.docker.com/r/s390x/ibm-semeru-runtimes/)
120 |
121 | - **Published image artifact details**:
122 | [repo-info repo's `repos/ibm-semeru-runtimes/` directory](https://github.com/docker-library/repo-info/blob/master/repos/ibm-semeru-runtimes) ([history](https://github.com/docker-library/repo-info/commits/master/repos/ibm-semeru-runtimes))
123 | (image metadata, transfer size, etc)
124 |
125 | - **Image updates**:
126 | [official-images repo's `library/ibm-semeru-runtimes` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fibm-semeru-runtimes)
127 | [official-images repo's `library/ibm-semeru-runtimes` file](https://github.com/docker-library/official-images/blob/master/library/ibm-semeru-runtimes) ([history](https://github.com/docker-library/official-images/commits/master/library/ibm-semeru-runtimes))
128 |
129 | - **Source of this description**:
130 | [docs repo's `ibm-semeru-runtimes/` directory](https://github.com/docker-library/docs/tree/master/ibm-semeru-runtimes) ([history](https://github.com/docker-library/docs/commits/master/ibm-semeru-runtimes))
131 |
132 | ## Overview
133 |
134 | The images in this repository contain OpenJDK binaries that are built by IBM Semeru Runtimes.
135 |
136 | # What is IBM Semeru Runtimes ?
137 |
138 | The IBM Semeru Runtimes are free production-ready open source binaries built with the OpenJDK class libraries and the Eclipse OpenJ9 JVM, which delivers the power and performance to run your Java applications, when you need it most.
139 |
140 | # How to use this Image
141 |
142 | To run a pre-built japp.jar file with the latest OpenJDK 11, use the following Dockerfile:
143 |
144 | ```dockerfile
145 | FROM ibm-semeru-runtimes:open-11-jdk
146 | RUN mkdir /opt/app
147 | COPY japp.jar /opt/app
148 | CMD ["java", "-jar", "/opt/app/japp.jar"]
149 | ```
150 |
151 | You can build and run the Docker Image as shown in the following example:
152 |
153 | ```console
154 | docker build -t japp .
155 | docker run -it --rm japp
156 | ```
157 |
158 | ### Using a different base Image
159 |
160 | If you are using a distribution that we don't provide an image for you can copy the JDK using a similar Dockerfile to the one below:
161 |
162 | ```dockerfile
163 | # Example
164 | FROM <base image>
165 | ENV JAVA_HOME=/opt/java/openjdk
166 | COPY --from=ibm-semeru-runtimes:open-11-jdk $JAVA_HOME $JAVA_HOME
167 | ENV PATH="${JAVA_HOME}/bin:${PATH}"
168 | ```
169 |
170 | # License
171 |
172 | The Dockerfiles and associated scripts are licensed under the [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.html).
173 |
174 | Licenses for the products installed within the images:
175 |
176 | - IBM Semeru Runtime Open Edition: The project license is GNU GPL v2 with Classpath Exception.
177 |
178 | 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).
179 |
180 | Some additional license information which was able to be auto-detected might be found in [the `repo-info` repository's `ibm-semeru-runtimes/` directory](https://github.com/docker-library/repo-info/tree/master/repos/ibm-semeru-runtimes).
181 |
182 | 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.
183 |
```
--------------------------------------------------------------------------------
/teamspeak/README.md:
--------------------------------------------------------------------------------
```markdown
1 | <!--
2 |
3 | ********************************************************************************
4 |
5 | WARNING:
6 |
7 | DO NOT EDIT "teamspeak/README.md"
8 |
9 | IT IS AUTO-GENERATED
10 |
11 | (from the other files in "teamspeak/" combined with a set of templates)
12 |
13 | ********************************************************************************
14 |
15 | -->
16 |
17 | # Quick reference
18 |
19 | - **Maintained by**:
20 | TeamSpeak Developers [nwerensteijn](https://github.com/nwerensteijn) and [muenchow](https://github.com/muenchow)
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 | - [`3.13`, `3.13.7`, `latest`](https://github.com/TeamSpeak-Systems/teamspeak-linux-docker-images/blob/f5f1e7f6142e8eeebb8d46d7b493b5d3ec01d599/alpine/Dockerfile)
28 |
29 | # Quick reference (cont.)
30 |
31 | - **Where to file issues**:
32 | [https://github.com/TeamSpeak-Systems/teamspeak-linux-docker-images/issues](https://github.com/TeamSpeak-Systems/teamspeak-linux-docker-images/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/teamspeak/)
36 |
37 | - **Published image artifact details**:
38 | [repo-info repo's `repos/teamspeak/` directory](https://github.com/docker-library/repo-info/blob/master/repos/teamspeak) ([history](https://github.com/docker-library/repo-info/commits/master/repos/teamspeak))
39 | (image metadata, transfer size, etc)
40 |
41 | - **Image updates**:
42 | [official-images repo's `library/teamspeak` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fteamspeak)
43 | [official-images repo's `library/teamspeak` file](https://github.com/docker-library/official-images/blob/master/library/teamspeak) ([history](https://github.com/docker-library/official-images/commits/master/library/teamspeak))
44 |
45 | - **Source of this description**:
46 | [docs repo's `teamspeak/` directory](https://github.com/docker-library/docs/tree/master/teamspeak) ([history](https://github.com/docker-library/docs/commits/master/teamspeak))
47 |
48 | # What is TeamSpeak?
49 |
50 | TeamSpeak offers the ideal voice communication for online gaming, education and training, internal business communication, and staying in touch with friends and family. Our primary focus is delivering a solution that is easy to use, with high security standards, excellent voice quality, and low system and bandwidth usage.
51 |
52 | > [teamspeak.com](https://teamspeak.com/)
53 |
54 | 
55 |
56 | # How to use this image
57 |
58 | To view the license agreement:
59 |
60 | ```console
61 | $ docker run -e TS3SERVER_LICENSE=view teamspeak
62 | ```
63 |
64 | To start a TeamSpeak server, accept the license agreement, and map the ports to the host:
65 |
66 | ```console
67 | $ docker run -p 9987:9987/udp -p 10011:10011 -p 30033:30033 -e TS3SERVER_LICENSE=accept teamspeak
68 | ```
69 |
70 | Then you can connect to `localhost` in your TeamSpeak client. Please write down the server query password, and server admin privilege key that were generated. These are needed to administrate the TeamSpeak server.
71 |
72 | ## Container shell access
73 |
74 | The `docker exec` command allows you to run commands inside a Docker container. The following command line will give you a shell inside your `teamspeak` container:
75 |
76 | ```console
77 | $ docker exec -it some-teamspeak sh
78 | ```
79 |
80 | The TeamSpeak server log is available through Docker's container log:
81 |
82 | ```console
83 | $ docker logs some-teamspeak
84 | ```
85 |
86 | ## ... via [`docker compose`](https://github.com/docker/compose)
87 |
88 | Example `compose.yaml` for `teamspeak`:
89 |
90 | ```yaml
91 | services:
92 | teamspeak:
93 | image: teamspeak
94 | restart: always
95 | ports:
96 | - 9987:9987/udp
97 | - 10011:10011
98 | - 30033:30033
99 | environment:
100 | TS3SERVER_DB_PLUGIN: ts3db_mariadb
101 | TS3SERVER_DB_SQLCREATEPATH: create_mariadb
102 | TS3SERVER_DB_HOST: db
103 | TS3SERVER_DB_USER: root
104 | TS3SERVER_DB_PASSWORD: example
105 | TS3SERVER_DB_NAME: teamspeak
106 | TS3SERVER_DB_WAITUNTILREADY: 30
107 | TS3SERVER_LICENSE: accept
108 | db:
109 | image: mariadb
110 | restart: always
111 | environment:
112 | MYSQL_ROOT_PASSWORD: example
113 | MYSQL_DATABASE: teamspeak
114 | ```
115 |
116 | Run `docker compose up`, wait for it to initialize completely, and visit `localhost:9987` or `host-ip:9987` (as appropriate) with a TeamSpeak client.
117 |
118 | ## Environment Variables
119 |
120 | When you start the `teamspeak` image, you can adjust the configuration of the TeamSpeak server instance by passing one or more environment variables on the `docker run` command line.
121 |
122 | ### `TS3SERVER_LICENSEPATH`
123 |
124 | Sets the path where the TeamSpeak server is looking for the `licensekey.dat`. This variable is the path to the directory where the `licensekey.dat` is supposed to be located. Defaults to /var/ts3server/.
125 |
126 | ### `TS3SERVER_DB_PLUGIN`
127 |
128 | This variable controls what kind of database the TeamSpeak server is using.
129 |
130 | ### `TS3SERVER_DB_PLUGINPARAMETER`
131 |
132 | The content of the this variable is send as `parameter` to the db plugin.
133 |
134 | ### `TS3SERVER_DB_SQLPATH`
135 |
136 | This variable controls where the TeamSpeak server looks for sql files. Defaults to /opt/ts3server/sql/.
137 |
138 | ### `TS3SERVER_DB_SQLCREATEPATH`
139 |
140 | This variable is the path to the sql scripts used to initialize the database. The path is relative to `TS3SERVER_DB_SQLPATH`
141 |
142 | ### `TS3SERVER_DB_CONNECTIONS`
143 |
144 | This variable controls how many concurrent connections to the database are being used. Must be at least 2 and at most 100. Defaults to 10.
145 |
146 | ### `TS3SERVER_DB_CLIENTKEEPDAYS`
147 |
148 | This variable is the amount of days that the TeamSpeak server will keep unused user identities. Users that have been added to a group will not be pruned, but guests will be.
149 |
150 | ### `TS3SERVER_IP_WHITELIST`
151 |
152 | This variable controls where the whitelist is found. The file contains a list of IP addresses which are exempt from the flood protection system. Warning: Do not add any IP addresses that you don't trust, as it will allow them to flood the server.
153 |
154 | ### `TS3SERVER_IP_BLACKLIST`
155 |
156 | This variable controls where the blacklist is found. The file contains a list of IP addresses that, no matter what, can't connect to the server query interface, even after a server restart.
157 |
158 | ### `TS3SERVER_LOG_PATH`
159 |
160 | This variable controls the folder where the server stores its log files. Defaults to /var/ts3server/logs/.
161 |
162 | ### `TS3SERVER_LOG_QUERY_COMMANDS`
163 |
164 | If this variable is set to 1, every query command that is sent to the server will be logged.<br><br>**Warning:** While this can help if you are running into issues with your server, it should be noted that this can cause your log files to become extremely large. Unless you absolutely want all commands to be logged, we recommend this variable to be set to 0 most of the time.
165 |
166 | ### `TS3SERVER_LOG_APPEND`
167 |
168 | If this variable is set to 1, all new log entries are written into a single file per virtual server. We suggest setting this variable to 0 as it will make life easier when looking at the logs.
169 |
170 | ### `TS3SERVER_QUERY_PROTOCOLS`
171 |
172 | Comma separated list of protocols that can be used to connect to the ServerQuery. Possible values are `raw` and `ssh`. If `raw` is specified a raw or "classic" ServerQuery is opened on `10011/tcp`. If `ssh` is specified an encrypted ServerQuery using SSH is opened at `10022/tcp`. Any combination of the aforementioned values can be specified in this parameter, including leaving it empty, which would disable ServerQuery altogether.
173 |
174 | ### `TS3SERVER_QUERY_TIMEOUT`
175 |
176 | Number of seconds before a query connection is disconnected because of inactivity. If value is set to be zero or negative, the timeout will be disabled. The default is a timeout of 300 seconds.
177 |
178 | ### `TS3SERVER_QUERY_SSH_RSA_HOST_KEY`
179 |
180 | Path to the `ssh_host_rsa_key` to be used by query. If it does not exist, it will be created when the server is starting up.
181 |
182 | # Caveats
183 |
184 | ## Inserting license file
185 |
186 | A TeamSpeak server requires a license file when using more then 1 virtual server with 32 slots. For that the licensekey.dat has to be made available to the server. One way is mounting the licensekey.dat into /var/ts3server.
187 |
188 | ```console
189 | $ docker run --name some-teamspeak -v /location/to/licensekey.dat:/var/ts3server/licensekey.dat teamspeak:tag
190 | ```
191 |
192 | When the whole data directory (`/var/ts3server/`) has been mounted somewhere, the `licensekey.dat` can be copied inside that directory and will be loaded after the next restart of the TeamSpeak server.
193 |
194 | ## Where to Store Data
195 |
196 | Important note: There are several ways to store data used by applications that run in Docker containers. We encourage users of the `teamspeak` images to familiarize themselves with the options available, including:
197 |
198 | - Let Docker manage the storage of your database data [by writing the database files to disk on the host system using its own internal volume management](https://docs.docker.com/storage/volumes/). This is the default and is easy and fairly transparent to the user. The downside is that the files may be hard to locate for tools and applications that run directly on the host system, i.e. outside containers.
199 | - Create a data directory on the host system (outside the container) and [mount this to a directory visible from inside the container](https://docs.docker.com/storage/bind-mounts/). This places the database files in a known location on the host system, and makes it easy for tools and applications on the host system to access the files. The downside is that the user needs to make sure that the directory exists, and that e.g. directory permissions and other security mechanisms on the host system are set up correctly.
200 |
201 | The Docker documentation is a good starting point for understanding the different storage options and variations, and there are multiple blogs and forum postings that discuss and give advice in this area. We will simply show the basic procedure here for the latter option above:
202 |
203 | 1. Create a data directory on a suitable volume on your host system, e.g. `/my/own/datadir`.
204 | 2. Start your `teamspeak` container like this:
205 |
206 | ```console
207 | $ docker run --name some-teamspeak -v /my/own/datadir:/var/ts3server/ -d teamspeak:tag
208 | ```
209 |
210 | The `-v /my/own/datadir:/var/ts3server/` part of the command mounts the `/my/own/datadir` directory from the underlying host system as `/var/ts3server` inside the container, where TeamSpeak by default will write its data files.
211 |
212 | # License
213 |
214 | View [license information](https://github.com/TeamSpeak-Systems/teamspeak-linux-docker-images/blob/master/LICENSE) for the software contained in this image.
215 |
216 | 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).
217 |
218 | Some additional license information which was able to be auto-detected might be found in [the `repo-info` repository's `teamspeak/` directory](https://github.com/docker-library/repo-info/tree/master/repos/teamspeak).
219 |
220 | 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.
221 |
```
--------------------------------------------------------------------------------
/lightstreamer/README.md:
--------------------------------------------------------------------------------
```markdown
1 | <!--
2 |
3 | ********************************************************************************
4 |
5 | WARNING:
6 |
7 | DO NOT EDIT "lightstreamer/README.md"
8 |
9 | IT IS AUTO-GENERATED
10 |
11 | (from the other files in "lightstreamer/" combined with a set of templates)
12 |
13 | ********************************************************************************
14 |
15 | -->
16 |
17 | # Quick reference
18 |
19 | - **Maintained by**:
20 | [the Lightstreamer Server Development Team](https://github.com/Lightstreamer/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 | - [`6.0.3`, `6.0`](https://github.com/Lightstreamer/Docker/blob/b6c4a87af3e78b53887f311bdf2404f4f9956796/6.0/Dockerfile)
28 |
29 | - [`6.1.0`, `6.1`, `6`](https://github.com/Lightstreamer/Docker/blob/b6c4a87af3e78b53887f311bdf2404f4f9956796/6.1/Dockerfile)
30 |
31 | - [`7.0.3-jdk8-temurin`, `7.0-jdk8-temurin`, `7.0.3-jdk8`, `7.0-jdk8`](https://github.com/Lightstreamer/Docker/blob/b6c4a87af3e78b53887f311bdf2404f4f9956796/7.0/jdk8/Dockerfile)
32 |
33 | - [`7.0.3-jdk11-temurin`, `7.0-jdk11-temurin`, `7.0.3-jdk11`, `7.0-jdk11`, `7.0.3`, `7.0`](https://github.com/Lightstreamer/Docker/blob/b6c4a87af3e78b53887f311bdf2404f4f9956796/7.0/jdk11/Dockerfile)
34 |
35 | - [`7.1.3-jdk8-temurin`, `7.1-jdk8-temurin`, `7.1.3-jdk8`, `7.1-jdk8`](https://github.com/Lightstreamer/Docker/blob/b6c4a87af3e78b53887f311bdf2404f4f9956796/7.1/jdk8/Dockerfile)
36 |
37 | - [`7.1.3-jdk11-temurin`, `7.1-jdk11-temurin`, `7.1.3-jdk11`, `7.1-jdk11`, `7.1.3`, `7.1`](https://github.com/Lightstreamer/Docker/blob/b6c4a87af3e78b53887f311bdf2404f4f9956796/7.1/jdk11/Dockerfile)
38 |
39 | - [`7.2.2-jdk8-temurin`, `7.2-jdk8-temurin`, `7.2.2-jdk8`, `7.2-jdk8`](https://github.com/Lightstreamer/Docker/blob/b6c4a87af3e78b53887f311bdf2404f4f9956796/7.2/jdk8/Dockerfile)
40 |
41 | - [`7.2.2-jdk11-temurin`, `7.2-jdk11-temurin`, `7.2.2-jdk11`, `7.2-jdk11`, `7.2.2`, `7.2`](https://github.com/Lightstreamer/Docker/blob/b6c4a87af3e78b53887f311bdf2404f4f9956796/7.2/jdk11/Dockerfile)
42 |
43 | - [`7.3.3-jdk8-temurin`, `7.3-jdk8-temurin`, `7.3.3-jdk8`, `7.3-jdk8`](https://github.com/Lightstreamer/Docker/blob/b6c4a87af3e78b53887f311bdf2404f4f9956796/7.3/jdk8/Dockerfile)
44 |
45 | - [`7.3.3-jdk11-temurin`, `7.3-jdk11-temurin`, `7.3.3-jdk11`, `7.3-jdk11`](https://github.com/Lightstreamer/Docker/blob/b6c4a87af3e78b53887f311bdf2404f4f9956796/7.3/jdk11/Dockerfile)
46 |
47 | - [`7.3.3-jdk17-temurin`, `7.3-jdk17-temurin`, `7.3.3-jdk17`, `7.3-jdk17`, `7.3.3`, `7.3`](https://github.com/Lightstreamer/Docker/blob/b6c4a87af3e78b53887f311bdf2404f4f9956796/7.3/jdk17/Dockerfile)
48 |
49 | - [`7.4.6-jdk8-temurin`, `7.4-jdk8-temurin`, `7-jdk8-temurin`, `7.4.6-jdk8`, `7.4-jdk8`, `7-jdk8`](https://github.com/Lightstreamer/Docker/blob/f46cf1edebc1d6c755d5181cd46b5f73bb6fc97d/7.4/jdk8/Dockerfile)
50 |
51 | - [`7.4.6-jdk11-temurin`, `7.4-jdk11-temurin`, `7-jdk11-temurin`, `7.4.6-jdk11`, `7.4-jdk11`, `7-jdk11`](https://github.com/Lightstreamer/Docker/blob/f46cf1edebc1d6c755d5181cd46b5f73bb6fc97d/7.4/jdk11/Dockerfile)
52 |
53 | - [`7.4.6-jdk17-temurin`, `7.4-jdk17-temurin`, `7-jdk17-temurin`, `7.4.6-jdk17`, `7.4-jdk17`, `7-jdk17`](https://github.com/Lightstreamer/Docker/blob/f46cf1edebc1d6c755d5181cd46b5f73bb6fc97d/7.4/jdk17/Dockerfile)
54 |
55 | - [`7.4.6-jdk21-temurin`, `7.4-jdk21-temurin`, `7-jdk21-temurin`, `7.4.6-jdk21`, `7.4-jdk21`, `7-jdk21`, `7.4.6`, `7.4`, `7`, `latest`](https://github.com/Lightstreamer/Docker/blob/f46cf1edebc1d6c755d5181cd46b5f73bb6fc97d/7.4/jdk21/Dockerfile)
56 |
57 | # Quick reference (cont.)
58 |
59 | - **Where to file issues**:
60 | [https://github.com/Lightstreamer/Docker/issues](https://github.com/Lightstreamer/Docker/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/lightstreamer/), [`arm64v8`](https://hub.docker.com/r/arm64v8/lightstreamer/)
64 |
65 | - **Published image artifact details**:
66 | [repo-info repo's `repos/lightstreamer/` directory](https://github.com/docker-library/repo-info/blob/master/repos/lightstreamer) ([history](https://github.com/docker-library/repo-info/commits/master/repos/lightstreamer))
67 | (image metadata, transfer size, etc)
68 |
69 | - **Image updates**:
70 | [official-images repo's `library/lightstreamer` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Flightstreamer)
71 | [official-images repo's `library/lightstreamer` file](https://github.com/docker-library/official-images/blob/master/library/lightstreamer) ([history](https://github.com/docker-library/official-images/commits/master/library/lightstreamer))
72 |
73 | - **Source of this description**:
74 | [docs repo's `lightstreamer/` directory](https://github.com/docker-library/docs/tree/master/lightstreamer) ([history](https://github.com/docker-library/docs/commits/master/lightstreamer))
75 |
76 | # What is Lightstreamer Server?
77 |
78 | Lightstreamer is a real-time messaging server optimized for the Internet. Blending WebSockets, HTTP, and push notifications, it streams data to/from mobile, tablet, browser-based, desktop, and IoT applications.
79 |
80 | For more information and related downloads for Lightstreamer Server and other Lightstreamer products, please visit [www.lightstreamer.com](https://www.lightstreamer.com).
81 |
82 | 
83 |
84 | # How to use this image
85 |
86 | ## Up and Running
87 |
88 | Launch the container with the default configuration:
89 |
90 | ```console
91 | $ docker run --name ls-server -d -p 80:8080 lightstreamer
92 | ```
93 |
94 | This will map port 8080 inside the container to port 80 on local host. Then point your browser to `http://localhost` and watch the Welcome page showing real-time data flowing in from the locally deployed demo application, which is a first overview of the unique features offered by the Lightstreamer technology. More examples are available online at the [demo site](https://demos.lightstreamer.com).
95 |
96 | ## Custom settings
97 |
98 | It is possible to customize each aspect of the Lightstreamer instance running into the container. For example, a specific configuration file may be supplied as follows:
99 |
100 | ```console
101 | $ docker run --name ls-server -v /path/to/my-lightstreamer_conf.xml:/lightstreamer/conf/lightstreamer_conf.xml -d -p 80:8080 lightstreamer
102 | ```
103 |
104 | In the same way, you could provide a custom logging configuration, maybe in this case also specifying a dedicated volume to ensure both the persistence of log files and better performance of the container:
105 |
106 | ```console
107 | $ docker run --name ls-server -v /path/to/my-lightstreamer_log_conf.xml:/lightstreamer/conf/lightstreamer_log_conf.xml -v /path/to/logs:/lightstreamer/logs -d -p 80:8080 lightstreamer
108 | ```
109 |
110 | If you also change in your `my-lightstreamer_log_conf.xml` file the default logging path from `../logs` to `/path/to/dest/logs`:
111 |
112 | ```console
113 | $ docker run --name ls-server -v /path/to/my-lightstreamer_log_conf.xml:/lightstreamer/conf/lightstreamer_log_conf.xml -v /path/to/hosted/logs:/path/to/dest/logs -d -p 80:8080 lightstreamer
114 | ```
115 |
116 | Alternatively, the above tasks can be executed by deriving a new image through a `Dockerfile` as the following:
117 |
118 | ```dockerfile
119 | FROM lightstreamer
120 |
121 | # Please specify a COPY command only for the required custom configuration file
122 | COPY my-lightstreamer_conf.xml /lightstreamer/conf/lightstreamer_conf.xml
123 | COPY my-lightstreamer_log_conf.xml /lightstreamer/conf/lightstreamer_log_conf.xml
124 | ```
125 |
126 | where `my-lightstreamer_conf.xml` and `my-lightstreamer_log_conf.xml` are your custom configuration files, placed in the same directory as the Dockerfile. By simply running the command:
127 |
128 | ```console
129 | $ docker build -t my-lightstreamer .
130 | ```
131 |
132 | the new image will be built along with the provided files. After that, launch the container:
133 |
134 | ```console
135 | $ docker run --name ls-server -d -p 80:8080 my-lightstreamer
136 | ```
137 |
138 | To get more detailed information on how to configure the Lightstreamer server, please see the inline documentation in the `lightstreamer_conf.xml` and `lightstreamer_log_conf.xml` files you can find under the `conf` folder of the installation directory.
139 |
140 | ## Deployment of Adapter Sets
141 |
142 | You might want to use this image even with any Adapter Set, either developed by yourself or provided by third parties.
143 |
144 | To accomplish such goal, you may use similar strategies to those illustrated above:
145 |
146 | ### Deployment of a single Adapter Set
147 |
148 | To deploy a single custom Adapter Set, the simplest way is to attach its files into the factory adapters folder, as follows:
149 |
150 | ```console
151 | $ docker run --name ls-server -v /path/to/my-adapter-set:/lightstreamer/adapters/my-adapter-set -d -p 80:8080 lightstreamer
152 | ```
153 |
154 | ### Full replacement of the "adapters" folder
155 |
156 | In the case you have many custom Adapter Sets to deploy, a more appropriate strategy is to replace the factory adapters folder with the one located in your host machine:
157 |
158 | ```console
159 | $ docker run --name ls-server -v /path/to/my-adapters:/lightstreamer/adapters -d -p 80:8080 lightstreamer
160 | ```
161 |
162 | In this case, the `/path/to/my-adapters` folder has to be structured with the required layout for an adapters folder:
163 |
164 | ```console
165 | /path/to/my-adapters+
166 | +my_adapter_set_1
167 | +my_adapter_set_2
168 | ...
169 | +my_adapter_set_N
170 | ```
171 |
172 | ### Building a new image
173 |
174 | Once again, a linear and clean approach is to make a new image including all needed files.
175 |
176 | In this case, you could write a simple Docker file in which the list of all your Adapter Sets configuration files is provided:
177 |
178 | ```dockerfile
179 | FROM lightstreamer
180 |
181 | # Will copy the contents of N Adapter Sets into the factory adapters folder
182 | COPY my-adapter-set-1 /lightstreamer/adapters/my-adapter-set-1
183 | COPY my-adapter-set-2 /lightstreamer/adapters/my-adapter-set-2
184 | COPY my-adapter-set-3 /lightstreamer/adapters/my-adapter-set-3
185 | ```
186 |
187 | Then, just build and start the container as already explained.
188 |
189 | ## Deployment of web server pages
190 |
191 | There might be some circumstances where you would like to provide custom pages for the internal web server of the Lightstreamer Server. Even in this case, it is possible to customize the container by employing the same techniques as above.
192 |
193 | For example, with the following command you will be able to fully replace the factory `pages` folder:
194 |
195 | ```console
196 | $ docker run --name ls-server -v /path/to/custom/pages:/lightstreamer/pages -d -p 80:8080 lightstreamer
197 | ```
198 |
199 | where `/path/to/custom/pages` is the path in your host machine containing the replacing web content files.
200 |
201 | # License
202 |
203 | View [license information](https://www.lightstreamer.com/lightstreamer-sla) 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 `lightstreamer/` directory](https://github.com/docker-library/repo-info/tree/master/repos/lightstreamer).
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 |
```