diff --git a/README.md b/README.md index aec3fa5..a7c82cb 100644 --- a/README.md +++ b/README.md @@ -350,6 +350,7 @@ A collection of delicious docker recipes. - [x] grafana/grafana - [x] hasura/graphql-engine - [x] haproxy +- [x] healthchecks/healthchecks - [x] homeassistant/home-assistant - [x] h2non/imaginary - [x] jellyfin/jellyfin @@ -393,11 +394,13 @@ A collection of delicious docker recipes. - [x] ohmyform/ui - [x] osixia/openldap - [x] openresty/openresty +- [x] opensearchproject/opensearch - [x] kylemanna/openvpn - [x] campbellsoftwaresolutions/osticket - [x] outlinewiki/outline - [x] gabekangas/owncast - [x] owncloud +- [x] chocobozzz/peertube - [x] dpage/pgadmin4 - [x] phplist/phplist - [x] phpmyadmin @@ -443,6 +446,7 @@ A collection of delicious docker recipes. - [x] tensorflow - [x] serving - [x] tile38/tile38 +- [x] traccar/traccar - [x] traefik - [x] trinodb/trino - [x] louislam/uptime-kuma diff --git a/gogs/README.md b/gogs/README.md index 98d1f80..995ce44 100644 --- a/gogs/README.md +++ b/gogs/README.md @@ -3,19 +3,6 @@ gogs [Gogs][1] (Go Git Service) is a painless self-hosted Git service. -## docker-compose.yml - -```yaml -gogs: - image: gogs/gogs - ports: - - "2222:22" - - "3000:3000" - volumes: - - ./data:/data - restart: always -``` - ## up and running ``` diff --git a/gogs/arm/Dockerfile b/gogs/arm/Dockerfile deleted file mode 100644 index b80897f..0000000 --- a/gogs/arm/Dockerfile +++ /dev/null @@ -1,50 +0,0 @@ -# -# Dockerfile for gogs-arm -# - -FROM arm32v7/alpine:3 -MAINTAINER EasyPi Software Foundation - -ENV GOSU_VERSION 1.12 -ENV GOGS_VERSION 0.12.3 -ENV GOGS_CUSTOM /data/gogs - -RUN apk add --no-cache \ - bash \ - ca-certificates \ - curl \ - git \ - linux-pam \ - openssh \ - s6 \ - socat \ - tar - -RUN set -xe \ - && adduser -H -D -g 'Gogs Git User' -h /data/git -s /bin/bash git \ - && passwd -u git \ - && echo "export GOGS_CUSTOM=${GOGS_CUSTOM}" >> /etc/profile - -RUN set -xe \ - && curl -L https://github.com/tianon/gosu/releases/download/${GOSU_VERSION}/gosu-armhf > /usr/sbin/gosu \ - && chmod +x /usr/sbin/gosu - -RUN set -xe \ - && mkdir /app/ \ - && cd /app/ \ - && curl -LO https://github.com/gogits/gogs/releases/download/v${GOGS_VERSION}/raspi_armv7.zip \ - && unzip raspi_armv7.zip \ - && rm raspi_armv7.zip \ - && ln -s /lib/libc.musl-armv7.so.1 /lib/ld-linux-armhf.so.3 - -RUN set -xe \ - && cd /app/gogs/ \ - && curl -L https://github.com/gogits/gogs/archive/v${GOGS_VERSION}.tar.gz | tar xz --strip 1 gogs-${GOGS_VERSION}/docker \ - && mv docker/nsswitch.conf /etc/ - -WORKDIR /app/gogs/ -VOLUME /data/ - -EXPOSE 22 3000 - -CMD ["docker/start.sh", "/bin/s6-svscan", "/app/gogs/docker/s6/"] diff --git a/gogs/arm/docker-compose.yml b/gogs/arm/docker-compose.yml index 00f2567..515c667 100644 --- a/gogs/arm/docker-compose.yml +++ b/gogs/arm/docker-compose.yml @@ -1,8 +1,10 @@ -gogs: - image: easypi/gogs-arm - ports: - - "2222:22" - - "3000:3000" - volumes: - - ./data:/data - restart: always +version: "3.8" +services: + gogs: + image: gogs/gogs + ports: + - "2222:22" + - "3000:3000" + volumes: + - ./data:/data + restart: unless-stopped diff --git a/gogs/docker-compose.yml b/gogs/docker-compose.yml index a333cb3..515c667 100644 --- a/gogs/docker-compose.yml +++ b/gogs/docker-compose.yml @@ -1,8 +1,10 @@ -gogs: - image: gogs/gogs - ports: - - "2222:22" - - "3000:3000" - volumes: - - ./data:/data - restart: always +version: "3.8" +services: + gogs: + image: gogs/gogs + ports: + - "2222:22" + - "3000:3000" + volumes: + - ./data:/data + restart: unless-stopped diff --git a/graphite/Dockerfile b/graphite/Dockerfile index 7a00668..745762c 100644 --- a/graphite/Dockerfile +++ b/graphite/Dockerfile @@ -5,7 +5,7 @@ FROM alpine:3 MAINTAINER EasyPi Software Foundation -ENV GRAPHITE_VERSION=1.1.8 +ENV GRAPHITE_VERSION=1.1.10 ENV GRAPHITE_CONF_DIR=/opt/graphite/conf ENV GRAPHITE_STORAGE_DIR=/opt/graphite/storage ENV DJANGO_SETTINGS_MODULE=graphite.settings diff --git a/healthchecks/README.md b/healthchecks/README.md new file mode 100644 index 0000000..67220e0 --- /dev/null +++ b/healthchecks/README.md @@ -0,0 +1,24 @@ +healthchecks +============ + +[Healthchecks][1] is a cron job monitoring service. It listens for HTTP +requests and email messages ("pings") from your cron jobs and scheduled tasks +("checks"). When a ping does not arrive on time, Healthchecks sends out alerts. + +## up and running + +```bash +$ mkdir -m 777 data +$ docker-compose up -d +$ docker-compose exec healthchecks bash +>>> ./manage.py migrate +>>> ./manage.py createsuperuser + Email address: admin@easypi.duckdns.org + Password: ****** + Password (again): ****** + Superuser created successfully. +>>> exit +$ curl http://127.0.0.1:8000 +``` + +[1]: https://github.com/healthchecks/healthchecks diff --git a/healthchecks/docker-compose.yml b/healthchecks/docker-compose.yml new file mode 100644 index 0000000..e688097 --- /dev/null +++ b/healthchecks/docker-compose.yml @@ -0,0 +1,12 @@ +version: "3.8" +services: + healthchecks: + image: healthchecks/healthchecks + ports: + - "8000:8000" + volumes: + - ./data:/data + environment: + - DEBUG=False + - DB_NAME=/data/hc.db + restart: unless-stopped diff --git a/hubot/Dockerfile b/hubot/Dockerfile index a0cef17..072cd29 100644 --- a/hubot/Dockerfile +++ b/hubot/Dockerfile @@ -2,7 +2,7 @@ # Dockerfile for hubot # -FROM alpine:3 +FROM alpine:3.16 MAINTAINER EasyPi Software Foundation ENV HUBOT_NAME=Hubot @@ -11,9 +11,9 @@ ENV HUBOT_DESCRIPTION=$HUBOT_NAME-$HUBOT_ADAPTER ENV HUBOT_SLACK_TOKEN= RUN set -xe \ - && apk add --update ca-certificates nodejs nodejs-npm python3 \ + && apk add --update bash ca-certificates nodejs npm python3 \ && npm install -g yo generator-hubot \ - && adduser -s /bin/sh -D hubot + && adduser -s /bin/bash -D hubot USER hubot WORKDIR /home/hubot @@ -35,7 +35,7 @@ RUN set -xe \ VOLUME /home/hobot \ /usr/local/bin \ - /usr/lib/python3.8/site-packages + /usr/lib/python3.10/site-packages EXPOSE 8080 diff --git a/hubot/README.md b/hubot/README.md index edc8b94..808852c 100644 --- a/hubot/README.md +++ b/hubot/README.md @@ -9,16 +9,18 @@ Hubot's power comes through [scripts][2]. ## docker-compse.yml ```yaml -hubot: - image: vimagick/hubot - ports: - - "8080:8080" - volumes: - - ./data:/home/hubot/scripts - environment: - - HUBOT_SLACK_TOKEN=xoxb-xxxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxx - - HUBOT_AUTH_ADMIN=UXXXXXXXX - restart: always +version: "3.8" +services: + hubot: + image: vimagick/hubot + ports: + - "8080:8080" + volumes: + - ./data:/home/hubot/scripts + environment: + - HUBOT_SLACK_TOKEN=xoxb-xxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxx + - HUBOT_AUTH_ADMIN=UXXXXXXXX + restart: unless-stopped ``` - Click [this][3] to generate `HUBOT_SLACK_TOKEN`. diff --git a/hubot/arm/Dockerfile b/hubot/arm/Dockerfile deleted file mode 100644 index 8101981..0000000 --- a/hubot/arm/Dockerfile +++ /dev/null @@ -1,42 +0,0 @@ -# -# Dockerfile for hubot-arm -# - -FROM arm32v7/alpine:3 -MAINTAINER EasyPi Software Foundation - -ENV HUBOT_NAME=Hubot -ENV HUBOT_ADAPTER=slack -ENV HUBOT_DESCRIPTION=$HUBOT_NAME-$HUBOT_ADAPTER -ENV HUBOT_SLACK_TOKEN= - -RUN set -xe \ - && apk add --update ca-certificates nodejs nodejs-npm python3 \ - && npm install -g yo generator-hubot \ - && adduser -s /bin/sh -D hubot - -USER hubot -WORKDIR /home/hubot - -RUN set -xe \ - && yo hubot --name $HUBOT_NAME \ - --description $HUBOT_DESCRIPTION \ - --adapter $HUBOT_ADAPTER \ - --defaults \ - && npm install --save hubot-$HUBOT_ADAPTER \ - htmlparser \ - moment \ - querystring \ - soupselect \ - underscore \ - underscore.string \ - url \ - && sed -i -r 's/^\s+#//' scripts/example.coffee - -VOLUME /home/hobot \ - /usr/local/bin \ - /usr/lib/python3.8/site-packages - -EXPOSE 8080 - -CMD ["./bin/hubot", "--adapter", "slack"] diff --git a/hubot/arm/docker-compose.yml b/hubot/arm/docker-compose.yml deleted file mode 100644 index 00e0a44..0000000 --- a/hubot/arm/docker-compose.yml +++ /dev/null @@ -1,10 +0,0 @@ -hubot: - image: easypi/hubot-arm - ports: - - "8080:8080" - volumes: - - ./data:/home/hubot/scripts - environment: - - HUBOT_SLACK_TOKEN=xoxb-xxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxx - - HUBOT_AUTH_ADMIN=UXXXXXXXX - restart: unless-stopped diff --git a/hubot/docker-compose.yml b/hubot/docker-compose.yml index bd3fa98..4e875e0 100644 --- a/hubot/docker-compose.yml +++ b/hubot/docker-compose.yml @@ -1,10 +1,12 @@ -hubot: - image: vimagick/hubot - ports: - - "8080:8080" - volumes: - - ./data:/home/hubot/scripts - environment: - - HUBOT_SLACK_TOKEN=xoxb-xxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxx - - HUBOT_AUTH_ADMIN=UXXXXXXXX - restart: unless-stopped +version: "3.8" +services: + hubot: + image: vimagick/hubot + ports: + - "8080:8080" + volumes: + - ./data:/home/hubot/scripts + environment: + - HUBOT_SLACK_TOKEN=xoxb-xxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxx + - HUBOT_AUTH_ADMIN=UXXXXXXXX + restart: unless-stopped diff --git a/opensearch/README.md b/opensearch/README.md new file mode 100644 index 0000000..17b7e0b --- /dev/null +++ b/opensearch/README.md @@ -0,0 +1,8 @@ +opensearch +========== + +[OpenSearch][1] is a community-driven, Apache 2.0-licensed open source search +and analytics suite that makes it easy to ingest, search, visualize, and +analyze data. + +[1]: https://opensearch.org/ diff --git a/opensearch/docker-compose.yml b/opensearch/docker-compose.yml new file mode 100644 index 0000000..11e30d2 --- /dev/null +++ b/opensearch/docker-compose.yml @@ -0,0 +1,64 @@ +# +# https://opensearch.org/docs/latest/opensearch/install/docker/ +# + +version: "3.8" + +services: + + opensearch-node1: + image: opensearchproject/opensearch:2.0.0 + container_name: opensearch-node1 + ports: + - "9201:9200" + - "9601:9600" + volumes: + - ./data/node1:/usr/share/opensearch/data + environment: + - cluster.name=opensearch-cluster + - node.name=opensearch-node1 + - discovery.seed_hosts=opensearch-node1,opensearch-node2 + - cluster.initial_master_nodes=opensearch-node1,opensearch-node2 + - bootstrap.memory_lock=true + - OPENSEARCH_JAVA_OPTS=-Xms512m -Xmx512m + ulimits: + memlock: + soft: -1 + hard: -1 + nofile: + soft: 65536 + hard: 65536 + restart: unless-stopped + + opensearch-node2: + image: opensearchproject/opensearch:2.0.0 + container_name: opensearch-node2 + ports: + - "9202:9200" + - "9602:9600" + volumes: + - ./data/node2:/usr/share/opensearch/data + environment: + - cluster.name=opensearch-cluster + - node.name=opensearch-node2 + - discovery.seed_hosts=opensearch-node1,opensearch-node2 + - cluster.initial_master_nodes=opensearch-node1,opensearch-node2 + - bootstrap.memory_lock=true + - OPENSEARCH_JAVA_OPTS=-Xms512m -Xmx512m + ulimits: + memlock: + soft: -1 + hard: -1 + nofile: + soft: 65536 + hard: 65536 + restart: unless-stopped + + opensearch-dashboards: + image: opensearchproject/opensearch-dashboards:2.0.0 + container_name: opensearch-dashboards + ports: + - "5601:5601" + environment: + OPENSEARCH_HOSTS: '["https://opensearch-node1:9200","https://opensearch-node2:9200"]' + restart: unless-stopped diff --git a/peertube/README.md b/peertube/README.md new file mode 100644 index 0000000..4107336 --- /dev/null +++ b/peertube/README.md @@ -0,0 +1,8 @@ +peertube +======== + +[PeerTube][1], developed by Framasoft, is the free and decentralized alternative to +video platforms, providing you over 600,000 videos published by 150,000 users +and viewed over 70 million times. + +[1]: https://joinpeertube.org/ diff --git a/peertube/docker-compose.yml b/peertube/docker-compose.yml new file mode 100644 index 0000000..17ea2d2 --- /dev/null +++ b/peertube/docker-compose.yml @@ -0,0 +1,60 @@ +version: "3.8" + +services: + + peertube: + image: chocobozzz/peertube:production-bullseye + ports: + - "1935:1935" + - "9000:9000" + volumes: + - ./data/peertube/assets:/app/client/dist + - ./data/peertube/data:/data + - ./data/peertube/config:/config + environment: + PEERTUBE_DB_USERNAME: peertube + PEERTUBE_DB_PASSWORD: peertube + PEERTUBE_DB_SSL: 'false' + PEERTUBE_DB_HOSTNAME: 'postgres' + PEERTUBE_WEBSERVER_HOSTNAME: 'peertube.easypi.duckdns.org' + # PEERTUBE_WEBSERVER_PORT: '80' + # PEERTUBE_WEBSERVER_HTTPS: 'false' + PEERTUBE_TRUST_PROXY: '["127.0.0.1", "loopback", "172.18.0.0/16"]' + PEERTUBE_SMTP_USERNAME: username + PEERTUBE_SMTP_PASSWORD: password + PEERTUBE_SMTP_HOSTNAME: smtp.gmail.com + PEERTUBE_SMTP_PORT: 465 + PEERTUBE_SMTP_FROM: noreply@gmail.com + PEERTUBE_SMTP_TLS: 'true' + PEERTUBE_SMTP_DISABLE_STARTTLS: 'false' + PEERTUBE_ADMIN_EMAIL: admin@gmail.com + networks: + default: + ipv4_address: 172.18.0.42 + depends_on: + - postgres + - redis + restart: unless-stopped + + postgres: + image: postgres:14-alpine + volumes: + - ./data/postgres:/var/lib/postgresql/data + environment: + - POSTGRES_USER=peertube + - POSTGRES_PASSWORD=peertube + - POSTGRES_DB=peertube + restart: unless-stopped + + redis: + image: redis:7-alpine + volumes: + - ./data/redis:/data + restart: unless-stopped + +networks: + default: + ipam: + driver: default + config: + - subnet: 172.18.0.0/16 diff --git a/snort3/Dockerfile b/snort3/Dockerfile index a22ba0c..d0b3de0 100644 --- a/snort3/Dockerfile +++ b/snort3/Dockerfile @@ -2,19 +2,19 @@ # Dockerfile for snort3 # -FROM ubuntu:20.04 +FROM ubuntu:22.04 MAINTAINER EasyPi Software Foundation -ARG SNORT_VERSION=3.1.23.0 -ARG LIBDAQ_VERSION=3.0.6 -ARG LIBDNET_VERSION=1.14 +ARG SNORT_VERSION=3.1.32.0 +ARG LIBDAQ_VERSION=3.0.8 +ARG LIBDNET_VERSION=1.16.1 ARG DEBIAN_FRONTEND=noninteractive RUN set -xe \ && apt-get update \ && apt-get -y install \ - build-essential autoconf pkg-config libtool tzdata bison cmake flex curl git \ + build-essential autoconf check pkg-config libtool tzdata bison cmake flex curl git \ libpcap-dev libhwloc-dev libluajit-5.1-dev libssl-dev libpcre3-dev zlib1g-dev liblzma-dev \ && rm -rf /var/lib/apt/lists/* diff --git a/traccar/README.md b/traccar/README.md new file mode 100644 index 0000000..db8224a --- /dev/null +++ b/traccar/README.md @@ -0,0 +1,15 @@ +traccar +======= + +[Traccar][1] is a free and open source modern GPS tracking system. + + +```bash +$ mkdir -p data/{conf,data,logs} +$ cd data/conf +$ wget https://github.com/traccar/traccar/raw/master/setup/default.xml +$ wget https://github.com/traccar/traccar/raw/master/setup/traccar.xml +$ docker-compose up -d +``` + +[1]: https://www.traccar.org/ diff --git a/traccar/docker-compose.yml b/traccar/docker-compose.yml new file mode 100644 index 0000000..2ed4ef0 --- /dev/null +++ b/traccar/docker-compose.yml @@ -0,0 +1,13 @@ +version: "3.8" +services: + traccar: + image: traccar/traccar:5-alpine + ports: + - "8082:8082" + - "5000-5150:5000-5150/tcp" + - "5000-5150:5000-5150/udp" + volumes: + - ./data/conf:/opt/traccar/conf + - ./data/data:/opt/traccar/data + - ./data/logs:/opt/traccar/logs + restart: unless-stopped