# before stopping only-office execute: # docker exec documentserver-prepare4shutdown.sh # # https://gist.github.com/kvaps/6ac945e6c2e2e41bd536b7486a7dea4a name: onlyoffice secrets: onlyoffice_postgresql_database: file: ${SECRETSDIR}/onlyoffice_postgresql_database onlyoffice_postgresql_password: file: ${SECRETSDIR}/onlyoffice_postgresql_password onlyoffice_postgresql_username: file: ${SECRETSDIR}/onlyoffice_postgresql_username onlyoffice_jwt_secret: file: ${SECRETSDIR}/onlyoffice_jwt_secret onlyoffice_redis_password: file: ${SECRETSDIR}/onlyoffice_redis_password networks: traefik-net: external: true postgres-net: external: true backend: name: onlyoffice-net driver: bridge driver_opts: com.docker.network.bridge.name: "br-onlyoffice" services: documentserver: image: "onlyoffice/documentserver:latest" hostname: onlyoffice_documentserver env_file: .documentserver.env privileged: true stdin_open: true tty: true volumes: - /etc/localtime:/etc/localtime:ro - /run/dbus:/run/dbus:ro - "${DATADIR}/redis:/var/lib/redis" - "${DATADIR}/rabbitmq:/var/lib/rabbitmq" - "${DATADIR}/pgdata:/var/lib/postgresql" - "${DATADIR}/documentserver/logs:/var/log/onlyoffice" - "${DATADIR}/documentserver/data:/var/www/onlyoffice/Data" - "${DATADIR}/documentserver/lib:/var/lib/onlyoffice" # - "${DATADIR}/documentserver/public:/var/www/onlyoffice/documentserver-example/public/files" # - "${DATADIR}/documentserver/fonts:/usr/share/fonts" networks: - traefik-net - backend - postgres-net secrets: - onlyoffice_postgresql_database - onlyoffice_postgresql_password - onlyoffice_postgresql_username - onlyoffice_jwt_secret - onlyoffice_redis_password environment: # The IP address or the name of the host where the database server is running. DB_HOST: onlyoffice_postgresql # The IP address or the name of the host where the Redis server is running. REDIS_SERVER_HOST: onlyoffice_rabbitmq # The AMQP URI to connect to message broker server. AMQP_URI: amqp://guest:guest@onlyoffice_rabbitmq depends_on: postgresql: condition: service_healthy rabbitmq: condition: service_healthy redis: condition: service_started restart: unless-stopped stop_grace_period: 60s labels: - traefik.enable=true - traefik.docker.network=traefik-net # - "traefik.http.middlewares.onlyoffice_documentserver-https-redirect.redirectscheme.scheme=https" - "traefik.http.middlewares.onlyoffice_documentserver-https-redirect.redirectscheme.permanent=true" # - "traefik.http.services.onlyoffice_documentserver-svc.loadbalancer.server.port=${WEBUI_PORT}" # - "traefik.http.routers.onlyoffice_documentserver-rtr.entrypoints=web" - "traefik.http.routers.onlyoffice_documentserver-rtr.rule=Host(`onlyoffice.${DOMAINNAME}`)&& PathPrefix(`/`)" - "traefik.http.routers.onlyoffice_documentserver-rtr.middlewares=onlyoffice_documentserver-https-redirect" - "traefik.http.routers.onlyoffice_documentserver-rtr.service=onlyoffice_documentserver-svc" # - "traefik.http.routers.onlyoffice_documentserver-secure-rtr.entrypoints=websecure" - "traefik.http.routers.onlyoffice_documentserver-secure-rtr.rule=Host(`onlyoffice.${DOMAINNAME}`)&& PathPrefix(`/`)" - "traefik.http.routers.onlyoffice_documentserver-secure-rtr.tls=true" - "traefik.http.routers.onlyoffice_documentserver-secure-rtr.tls.certresolver=sthomeresolver" - "traefik.http.routers.onlyoffice_documentserver-secure-rtr.service=onlyoffice_documentserver-svc" rabbitmq: image: rabbitmq restart: unless-stopped healthcheck: test: rabbitmq-diagnostics -q ping interval: 30s timeout: 30s retries: 3 networks: backend: aliases: ["onlyoffice_rabbitmq"] # https://stackoverflow.com/questions/66738931/how-to-set-password-for-redis-server # I managed to set the password permanently for the default user. Adding these 2 parameters in the file "redis.conf" requirepass newpass123 masterauth newpass123 And in the file "sentinel.conf" sentinel auth-pass mymaster newpass123 Thanks – #user14867757 # CommentedMar 24, 2021 at 4:19 redis: image: docker.io/library/redis:alpine #command: --save 60 1 --loglevel warning command: sh -c "redis-server --requirepass ${REDIS_PASSWORD}" && --save 60 1 && --loglevel warning env_file: .redis.env restart: unless-stopped expose: - ${REDIS_PORT} # healthcheck: # test: ["CMD-SHELL", "redis-cli ping | grep PONG"] # start_period: 20s # interval: 30s # retries: 5 # timeout: 3s secrets: - onlyoffice_redis_password networks: backend: aliases: ["onlyoffice_redis"] volumes: - "$DATADIR/redis/data:/data" # mailserver: # init: true # hostname: "mail.${DOMAINNAME}" # image: onlyoffice/mailserver # env_file: .mailserver.env # networks: # backend: # aliases: ["onlyoffice_mailserver"] # privileged: true # stdin_open: true # tty: true # restart: always # ports: # - 25:25 # - 143:143 # - 587:587 # environment: # MYSQL_SERVER: onlyoffice_mysql # volumes: # - "${BULKSTORE}/mailserver/data:/var/vmail" # - "${DATADIR}/mailserver/data/certs:/etc/pki/tls/mailserver" # - "${DATADIR}/mailserver/logs:/var/log" # # communityserver: # image: onlyoffice/communityserver # env_file: .communityserver.env # networks: # backend: # aliases: ["onlyoffice_communityserver"] # stdin_open: true # tty: true # privileged: true # restart: always ## ports: ## - 80:80 ## - 443:443 ## - 5222:5222 # cgroup: host # environment: # MYSQL_SERVER_HOST: onlyoffice_mysql # MAIL_SERVER_DB_HOST: onlyoffice_mysql # DOCUMENT_SERVER_PORT_80_TCP_ADDR: onlyoffice_documentserver # volumes: # - "${DATADIR}/communityserver/data:/var/www/onlyoffice/Data" # - "${DATADIR}/communityserver/logs:/var/log/onlyoffice" # - "${DATADIR}/communityserver/letsencrypt:/etc/letsencrypt" # - "/sys/fs/cgroup:/sys/fs/cgroup:rw" # labels: # - traefik.enable=true # - traefik.docker.network=traefik-net # # # - "traefik.http.middlewares.onlyoffice_communityserver-https-redirect.redirectscheme.scheme=https" # - "traefik.http.middlewares.onlyoffice_communityserver-https-redirect.redirectscheme.permanent=true" # # # - "traefik.http.services.onlyoffice_communityserver-svc.loadbalancer.server.port=${WEBUI_PORT}" # # # - "traefik.http.routers.onlyoffice_communityserver-rtr.entrypoints=web" # - "traefik.http.routers.onlyoffice_communityserver-rtr.rule=Host(`onlyoffice_communityserver.${DOMAINNAME}`)&& PathPrefix(`/`)" # - "traefik.http.routers.onlyoffice_communityserver-rtr.middlewares=onlyoffice_communityserver-https-redirect" # - "traefik.http.routers.onlyoffice_communityserver-rtr.service=onlyoffice_communityserver-svc" # # # - "traefik.http.routers.onlyoffice_communityserver-secure-rtr.entrypoints=websecure" # - "traefik.http.routers.onlyoffice_communityserver-secure-rtr.rule=Host(`onlyoffice_communityserver.${DOMAINNAME}`)&& PathPrefix(`/`)" # - "traefik.http.routers.onlyoffice_communityserver-secure-rtr.tls=true" # - "traefik.http.routers.onlyoffice_communityserver-secure-rtr.tls.certresolver=sthomeresolver" # - "traefik.http.routers.onlyoffice_communityserver-secure-rtr.service=onlyoffice_communityserver-svc" postgresql: image: postgres:16-alpine hostname: "onlyoffice_postgresql" shm_size: 128mb # https://hub.docker.com/_/postgres restart: unless-stopped env_file: .postgresql.env healthcheck: test: ["CMD-SHELL", "pg_isready -d $${POSTGRES_DB} -U $${POSTGRES_USER}"] start_period: 20s interval: 30s retries: 5 timeout: 5s networks: postgres-net: aliases: ["onlyoffice_postgresql"] secrets: - onlyoffice_postgresql_database - onlyoffice_postgresql_password - onlyoffice_postgresql_username volumes: - "${DATADIR}/pgdata:/var/lib/postgresql/data" - "${DATADIR}/pgbackups:/mnt/backups" # mysql: # image: mysql:5.7 # restart: always # env_file: .mysql.env # networks: # backend: # aliases: ["onlyoffice_mysql"] # ports: # # : # - '3306:3306' # expose: # # Opens port 3306 on the container # - '3306' # # Where our data will be persisted # volumes: # - "${DATADIR}/mysqldata:/var/lib/mysql"