dockerfiles
===========

A collection of delicious docker recipes.

[![](https://travis-ci.org/vimagick/dockerfiles.svg)](https://travis-ci.org/vimagick/dockerfiles)

- :octocat: <https://github.com/vimagick/dockerfiles>
- :beetle: <https://github.com/vimagick/dockerfiles/issues>
- :book: <https://github.com/vimagick/dockerfiles/wiki>
- :whale: <https://hub.docker.com/u/vimagick/> (x86)
- :whale: <https://hub.docker.com/u/easypi/> (arm)

## Affiliates

[![](https://www.vultr.com/media/banner_1.png)](https://www.vultr.com/?ref=6821947)

## Todo

- [ ] caddy
- [ ] dsniff
- [ ] ettercap
- [ ] freelan
- [ ] gitbook
- [ ] gitolite
- [ ] hashcat
- [ ] imagemagick
- [ ] ipset
- [ ] irc
- [ ] libreswan
- [ ] nagios
- [ ] openswan
- [ ] postfix
- [ ] postfixadmin
- [ ] pritunl
- [ ] pyinstaller
- [ ] rtmpdump
- [ ] sensu
- [ ] ssf
- [ ] tshark
- [ ] youtube-upload

## Big Data

- [x] airflow
- [x] ambari
- [x] cmak (~kafka-manager~)
- [x] datax :cn:
- [x] kafka-arm
- [x] luigi
- [x] nifi
- [x] openrefine
- [x] prestodb (official)
- [x] prestosql (community)
- [x] superset-arm

## IoT

- [x] ~hass~
- [x] hbdg
- [x] node-red :+1:
- [x] mqtt-io-arm
- [x] mosquitto :+1:
- [x] tile38-arm :+1:

## Automation

- [x] cronicle
- [x] drone-rsync-arm
- [x] drone-scp-arm
- [x] drone-ssh-arm
- [x] errbot :octocat:
- [x] hubot :octocat:
- [x] jenkins-arm :beetle:

## Machine Learning

- [x] ludwig

## Cluster

- [x] ggr
- [x] ggr-ui
- [x] jsonwire-grid
- [x] zookeeper-arm

## Monitor

- [x] collectd
- [x] elastalert
- [x] glances
- [x] graphite
- [x] influxdb
- [x] ipfm
- [x] logstash
- [x] statsd
- [x] telegraf
- [x] urlwatch :beetle:
- [x] vnstat

## Daemon

- [x] alpine-arm :+1:
- [x] apacheds
- [x] aria2 :+1:
- [x] ariang :cn:
- [x] bittorrent-tracker
- [x] cadvisor
- [x] casperjs :+1:
- [x] flowgger
- [x] freegeoip
- [x] freeradius
- [x] frp :cn:
- [x] h2o
- [x] httpbin :+1:
- [x] monit
- [x] moodle :beetle:
- [x] mosquitto
- [x] motion-arm64 :+1:
- [x] ndscheduler
- [x] nfs
- [x] nginx
- [x] ntopng
- [x] nullmailer
- [x] nullmailer-arm
- [x] openhab
- [x] openssh
- [x] ot-frontend-arm
- [x] ot-recorder
- [x] ot-recorder-arm
- [x] piknik
- [x] portia
- [x] pure-ftpd
- [x] redis-arm
- [x] rehook
- [x] rinetd
- [x] rslsync
- [x] rsyncd
- [x] rsyslog
- [x] samba :+1:
- [x] samba-arm :+1:
- [x] scrapyd :+1:
- [x] slacker
- [x] swarm-arm
- [x] taskd
- [x] tftpd
- [x] tmail :beetle:
- [x] twemproxy
- [x] vsftpd
- [x] webdis
- [x] webhook
- [x] webkit :beetle:

## Utility

- [x] registry-cli
- [x] tldextract

## Media

- [x] aircast-arm64 :musical_note:
- [x] cmus
- [x] cmus-arm
- [x] darkice :musical_note:
- [x] deface
- [x] dvr-scan :tv:
- [x] editly :tv:
- [x] ffmpeg
- [x] ffmpeg-arm
- [x] ffserver :beetle:
- [x] alexxit/go2rtc :camera:
- [x] icecast :musical_note:
- [x] live555 :camera:
- [x] minidlna
- [x] mpd :musical_note:
- [x] murmur
- [x] node-media-server-arm :camera: :cn:
- [x] obs-web-arm :joystick:
- [x] openmeetings :camera:
- [x] paddle-ocr
- [x] piper
- [x] plex :moneybag:
- [x] red5 :+1: :camera:
- [x] red5-arm :construction: :camera:
- [x] rtmp-client-arm :+1:
- [x] rtmp-server :camera:
- [x] scenedetect
- [x] shairplay-arm
- [x] shoutcast :musical_note:
- [x] tesseract
- [x] vnc2flv
- [x] youtube-dl :tv:
- [x] youtube-worker :beetle:

## Audio

- [x] audiowaveform
- [x] demucs

## Web

- [x] ~discuz~ :cn: :skull:
- [x] django-cms
- [x] dokuwiki :+1:
- [x] gogs-arm :cn:
- [x] gradio
- [x] hugo
- [x] hugo-arm
- [x] jamapi
- [x] joomla
- [x] json-server
- [x] mantisbt
- [x] mediagoblin
- [x] nginad
- [x] nodebb :+1:
- [x] phpbb
- [x] phpmyadmin-arm
- [x] phpvirtualbox-arm
- [x] revive
- [x] tabula
- [x] teleprompter
- [x] tiddlywiki
- [x] zoneminder :+1:

## E-commerce

- [x] magento :shopping:
- [x] opencart :shopping:
- [x] prestashop :shopping:

## Security

- [x] aircrack-ng-arm
- [x] amass
- [x] clamav
- [x] dirsearch
- [x] dsniff
- [x] ferm
- [x] grr
- [x] hydra
- [x] iptables
- [x] kismet
- [x] maltrail
- [x] routersploit
- [x] snort :beetle:
- [x] snort3 :beetle:
- [x] sslsplit
- [x] wafw00f
- [x] webgoat

## Proxy

- [x] dante
- [x] delegated
- [x] fteproxy :+1:
- [x] fteproxy-arm :+1:
- [x] hans
- [x] haproxy-arm
- [x] i2pd :ru:
- [x] kcptun :cn:
- [x] microsocks
- [x] mtproxy
- [x] mysql-proxy
- [x] ngrok :+1:
- [x] obfsproxy
- [x] outline-ss-server
- [x] polipo
- [x] privoxy
- [x] privoxy-arm
- [x] proxyhub
- [x] shadowsocks
    - [x] shadowsocks
    - [x] shadowsocks-libev :+1:
    - [x] shadowsocks-arm
    - [x] shadowsocks-libev-arm :+1:
- [x] sniproxy
- [x] spiped
- [x] squid
- [x] stunnel
- [x] stunnel-arm
- [x] tinyproxy
- [x] tor
- [x] v2ray :cn:
- [x] wireproxy

## VPN

- [x] dsvpn :+1:
- [x] n2n :+1:
- [x] ocserv :+1:
- [x] openconnect
- [x] openconnect-arm
- [x] openvpn-arm
- [x] pptp
- [x] pptp-arm
- [x] pptpd
- [x] shadowvpn
- [x] strongswan :+1:
- [x] tinc :+1:
- [x] tinc-arm :+1:
- [x] wiregurad :beetle:
- [x] xl2tpd

## DNS

- [x] chinadns
- [x] dnscrypt
    - [x] dnscrypt-proxy
    - [x] dnscrypt-server
- [x] dnsmasq
- [x] dnsmasq-arm
- [x] ftldns
- [x] nextdns
- [x] passivedns
- [x] pdnsd

## 3rd-party (sorted by basename)

- [x] 3proxy/3proxy
- [x] adguard/adguardhome
- [x] ghcr.io/linuxserver/airsonic :musical_note:
- [x] apify
  - [x] actor-node
  - [x] actor-node-playwright
  - [x] actor-node-playwright-chrome
  - [x] actor-node-playwright-firefox
  - [x] actor-node-playwright-webkit
  - [x] actor-node-puppeteer-chrome
- [x] archivebox/archivebox
- [x] docker.bintray.io/jfrog/artifactory-oss
- [x] jeffail/benthos
- [x] tutum/builder
- [x] calendso/calendso
- [x] browserless/chrome
- [x] certbot
- [x] codercom/code-server
- [ ] registry.gitlab.com/commento/commento
- [x] confluentinc
  - [x] cp-kafka-mqtt
  - [x] cp-kafka-rest
  - [x] ksqldb-cli
  - [x] ksqldb-server
- [x] couchdb :bucket:
- [x] schollz/croc
- [x] streamsets/datacollector
- [x] daskdev
  - [x] dask
  - [x] dask-notebook
- [x] deepquestai/deepstack
- [x] appbaseio/dejavu :mag:
- [x] cachethq/docker
- [x] satishweb/doh-server
- [x] snowzach/doods
- [x] drone/drone
- [x] drupal
- [x] elastichq/elasticsearch-hq :mag:
- [x] elasticdump/elasticsearch-dump :mag:
- [x] elk
- [x] andris9/emailengine :moneybag:
- [x] ghcr.io/ergochat/ergo :octocat:
- [x] esphome/esphome
- [x] quay.io/coreos/etcd
- [x] audreyt/ethercalc
- [x] flogo/flogo-docker
- [x] mher/flower
- [x] fluent/fluent-bit
- [x] friendica
- [x] ghost
- [x] gitlab/gitlab-ce
- [x] atlassianlabs/gostatsd
- [x] gitea/gitea :cn:
- [x] gladysassistant/gladys
- [x] gliderlabs/logspout
- [x] gliderlabs/registrator
- [ ] glot
  - [ ] bash
  - [ ] python
- [x] gogs/gogs :cn:
- [x] gotify/server
- [x] grafana/grafana
- [x] hasura/graphql-engine
- [x] haproxy
- [x] healthchecks/healthchecks
- [x] hivemq/hivemq-ce
- [x] homeassistant/home-assistant
- [x] h2non/imaginary
- [x] linuxserver/jackett
- [x] jellyfin/jellyfin
- [x] jenkins
  - [x] inbound-agent
  - [x] jenkins
- [x] jmxtrans/jmxtrans
- [x] djmattyg007/jsoneditor
- [x] wurstmeister/kafka
- [x] mailgun/kafka-pixy
- [x] provectuslabs/kafka-ui
- [x] devopsfaith/krakend
- [x] ipfs/kubo
- [x] heartexlabs/label-studio
- [x] martialblog/limesurvey
- [x] lldap/lldap
- [x] mailhog/mailhog
- [x] linuxserver/mastodon
- [x] 42wim/matterbridge :octocat:
- [x] matrixconduit/matrix-conduit
- [x] getmeili/meilisearch :mag:
- [x] mitmproxy/mitmproxy
- [x] mariadb :bucket:
- [x] matomo
- [x] bluenviron/mediamtx
- [x] memgraph :bucket:
  - [x] lab
  - [x] memgraph
  - [x] memgraph-mage
  - [x] memgraph-platform
- [x] minlag/mermaid-cli
- [x] metabase/metabase
- [x] metasploitframework/metasploit-framework :skull:
- [x] minio/minio
- [x] mongo :bucket:
- [x] ccrisan/motioneye
- [x] n8nio/n8n
- [x] emqx/nanomq :cn:
- [x] deluan/navidrome :musical_note:
- [x] neo4j :bucket:
- [x] netdata/netdata
- [x] sonatype/nexus3
- [x] nextcloud
- [ ] jwilder/nginx-proxy
- [x] luzifer/nginx-sso
- [x] tiangolo/nginx-rtmp :camera:
- [x] jupyter/notebook
- [x] illuspas/node-media-server :cn:
- [x] jorijn/nostream
- [x] scsibug/nostr-rs-relay
- [x] notaitech/nudenet
- [x] binwiederhier/ntfy
- [x] odoo
- [x] ohmyform
  - [x] api
  - [x] ui
- [x] onerahmet/openai-whisper-asr-webservice
- [x] ghcr.io/thomiceli/opengist
- [x] osixia/openldap
- [x] openresty/openresty
- [x] opensearchproject/opensearch :bucket:
- [x] kylemanna/openvpn
- [x] campbellsoftwaresolutions/osticket
- [x] outlinewiki/outline
- [x] gabekangas/owncast
- [x] owncloud
- [x] owntracks
  - [x] frontend
  - [x] recorder
- [x] chocobozzz/peertube
- [x] dpage/pgadmin4
- [x] viktorstrate/photoview
- [x] phplist/phplist
- [x] phpmyadmin
- [x] jazzdd/phpvirtualbox
- [x] pihole/pihole
- [x] mcr.microsoft.com/playwright
- [x] portainer/portainer :+1:
- [x] postgres :bucket:
- [x] postgrest/postgrest
- [x] prefecthq/prefect
- [x] prom/prometheus
- [x] prosody/prosody
- [x] redis/redis-stack
- [x] registry
- [x] danielgatis/rembg
- [x] datarhei/restreamer
- [x] restic/rest-server
- [x] rocker/rstudio
- [x] rocket.chat
- [x] rundeck/rundeck
- [x] rustdesk/rustdesk-server-s6
- [x] wonderfall/searx
- [x] selenium
  - [x] hub
  - [x] node-chrome
  - [x] node-firefox
  - [x] standalone-firefox
- [x] aerokube
  - [x] selenoid
    - [x] video-recorder
    - [x] chrome
    - [x] firefox
    - [x] vnc
  - [x] selenoid-ui
- [x] semaphoreui/semaphore
- [x] sentry
- [x] screego/server
- [x] atmoz/sftp
- [x] quay.io/outline/shadowbox
- [x] shlinkio/shlink
- [x] snipe/snipe-it
- [x] valeriansaliou/sonic
- [x] scrapinghub/splash
- [x] deezer/spleeter
- [x] teamatldocker
    - [x] confluence
    - [x] jira
- [x] openstitching/stitch
- [x] strapi/strapi
- [x] amancevice/superset
- [x] matrixdotorg/synapse
- [x] syncthing/syncthing
- [x] tensorflow
    - [x] serving
- [x] kitabisa/teler
- [x] tile38/tile38 :bucket:
- [x] traccar/traccar
- [x] traefik
- [x] trinodb/trino
- [x] ghcr.io/coqui-ai/tts-cpu
- [x] louislam/uptime-kuma
- [x] mpromonet/v4l2rtspserver :camera:
- [x] centurylink/watchtower
- [x] aceberg/watchyourlan
- [x] wekanteam/wekan
- [x] requarks/wiki
- [x] wordpress
- [x] yourls
- [x] ghcr.io/linuxserver/wireguard
- [x] zeek/zeek :skull:
- [x] apache/zeppelin
- [x] koenkk/zigbee2mqtt
- [x] zookeeper
- [x] elkozmon/zoonavigator

## auto-completion

```bash
#!/bin/bash
#
# handy auto-completion for docker-exec
#

enter() {
  local name=${1:?}
  docker exec -it $name sh -c 'exec $(command -v bash || command -v sh)'
}

__enter() {
  local cur=${COMP_WORDS[COMP_CWORD]}
  for cid in $(docker ps -q)
  do
    local name=$(docker inspect -f '{{.Name}}' $cid)
    name=${name#/}
    if [[ $name = $cur* ]]
    then
      COMPREPLY+=("$name")
    fi
  done
}

complete -F __enter enter
```

## Star History

[![Star History Chart](https://api.star-history.com/svg?repos=vimagick/dockerfiles&type=Timeline)](https://star-history.com/#vimagick/dockerfiles&Timeline)

