rocketchat/docker-compose.yml
2021-01-01 11:01:20 -08:00

86 lines
2.4 KiB
YAML

version: '2'
services:
rocketchat:
image: rocket.chat:latest
command: bash -c 'for i in `seq 1 30`; do node main.js && s=$$? && break || s=$$?; echo "Tried $$i times. Waiting 5 secs..."; sleep 5; done; (exit $$s)'
restart: unless-stopped
volumes:
- ./uploads:/app/uploads
environment:
- PUID=1002
- PGID=1002
# - PORT=3000
# - ROOT_URL=http://161.97.82.244
- ROOT_URL=https://rocket.airdog.site
# - ROOT_URL=http://rocket.airdog.site
- MONGO_URL=mongodb://mongo:27017/rocketchat
- MONGO_OPLOG_URL=mongodb://mongo:27017/local
- VIRTUAL_HOST=rocket.airdog.site
- LETSENCRYPT_HOST=rocket.airdog.site
- LETSENCRYPT_EMAIL=ouch@thetrauma.org
- VIRTUAL_PORT=3000
# expose:
# - "3000"
depends_on:
- mongo
# ports:
# - 3000:3000
networks:
mongo_back:
franvproxy_test_proxy-tier:
mongo:
image: mongo:4.0
restart: unless-stopped
environment:
- PUID=1002
- PGID=1002
volumes:
- ./data/db:/data/db
- ./data/dump:/dump
command: mongod --smallfiles --oplogSize 128 --replSet rs0 --storageEngine=mmapv1
# this container's job is just run the command to initialize the replica set.
# it will run the command and remove himself (it will not stay running)
# mongo-init-replica:
# image: mongo
# command: 'bash -c "for i in `seq 1 30`; do mongo mongo/rocketchat --eval \"rs.initiate({ _id: ''rs0'', members: [ { _id: 0, host: #''localhost:27017'' } ]})\" && s=$$? && break || s=$$?; echo \"Tried $$i times. Waiting 5 secs...\"; sleep 5; done; (exit $$s)"'
# depends_on:
# - mongo
networks:
mongo_back:
mongodb-backup:
image: drahoslavzan/mongodb-backup-s3:latest
container_name: mongodb-backup
depends_on:
- mongo
restart: always
volumes:
- ./dbbackup:/backup
environment:
- PUID=1002
- PGID=1002
- CRON_SCHEDULE=0 1 * * *
- BACKUP_FILE=mongodb
- MONGO_URI=mongodb://mongo:27017/rocketchat
- AWS_ACCESS_KEY_ID=AKIAJER447UGIFJ2EADQ
- AWS_SECRET_ACCESS_KEY=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
- AWS_DEFAULT_REGION=us-west-2
- AWS_BUCKET_DIR=s3://calodbbackup/mongo
networks:
mongo_back:
networks:
mongo_back:
franvproxy_test_proxy-tier:
external: true