Files
docker-compose-collection/composes-files/etherpad.yml
Mickael PAPAMICA Asseline e6e9ccfa11 change images to my cdn
2022-09-02 13:31:54 +02:00

75 lines
2.3 KiB
YAML

# Maintainer: Mickael "PAPAMICA" Asseline
# Update: 2022-05-10
#& type: 3
#& title: Etherpad
#& description: Online editor providing collaborative editing in really real-time
#& note: Website: <a href='https://etherpad.org/' target='_blank' rel='noopener'>etherpad.org</a>
#& categories: SelfHosted, PAPAMICA
#& platform: linux
#& logo: https://img.papamica.com/logo/etherpad.png
#% SERVICE: Name of the service (No spaces or points) [etherpad]
#% DATA_LOCATION: data localization (Example: /apps/service) [/_data/apps]
#% URL: Service URL (Example: service.papamica.fr or service.com)
#% NETWORK: Your Traefik network (Example: proxy) [proxy]
#% DB_USER: Database user (No spaces or points) [etherpad]
#% DB_PASSWORD: Database user password
#% ADMIN_PASSWORD: Administration password
# Work with Portainer
version: '2'
services:
etherpad-db:
image: postgres:14.2
container_name: $SERVICE-db
healthcheck:
test: ["CMD-SHELL", "pg_isready -U $DB_USER"]
interval: 10s
timeout: 5s
retries: 5
labels:
- "autoupdate=monitor" # https://github.com/PAPAMICA/container-updater
restart: always
environment:
- POSTGRES_DB=etherpad
- POSTGRES_USER=$DB_USER
- POSTGRES_PASSWORD=$DB_PASSWORD
volumes:
- $DATA_LOCATION/$SERVICE/db:/var/lib/postgresql/data
networks:
- default
etherpad:
image: etherpad/etherpad:latest
container_name: $SERVICE
environment:
- DB_HOST=$SERVICE-db
- DB_NAME=etherpad
- DB_USER=$DB_USER
- DB_PASS=$DB_PASSWORD
- ADMIN_PASSWORD=$ADMIN_PASSWORD
depends_on:
- etherpad-db
restart: always
healthcheck:
test: curl --fail http://localhost:9001 || exit 1
interval: 1m
timeout: 30s
retries: 3
networks:
- default
labels:
- "autoupdate=monitor" # https://github.com/PAPAMICA/container-updater
- "traefik.enable=true"
- "traefik.http.routers.$SERVICE.entrypoints=https"
- "traefik.http.routers.$SERVICE.rule=Host(`$URL`)"
- "traefik.http.routers.$SERVICE.tls=true"
- "traefik.http.routers.$SERVICE.tls.certresolver=http"
- "traefik.http.services.$SERVICE.loadbalancer.server.port=9001"
- "traefik.docker.network=proxy"
networks:
default:
external:
name: $NETWORK