Created
April 11, 2022 09:20
-
-
Save AlperRehaYAZGAN/e8c89f15411431b5d7d2e55d39315871 to your computer and use it in GitHub Desktop.
A simple docker-compose.yaml file for create on-prem Rocketchat server.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
version: '2' | |
services: | |
rocketchat: | |
image: registry.rocket.chat/rocketchat/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: | |
- ./volumes/uploads:/app/uploads | |
environment: | |
- PORT=3000 | |
- ROOT_URL=http://localhost:3000 | |
- MONGO_URL=mongodb://mongo:27017/rocketchat | |
- MONGO_OPLOG_URL=mongodb://mongo:27017/local | |
- REG_TOKEN=VERYSECRETVERYSECRETVERYSECRET | |
# - MAIL_URL=smtp://smtp.email | |
# - HTTP_PROXY=http://proxy.domain.com | |
# - HTTPS_PROXY=http://proxy.domain.com | |
depends_on: | |
- mongo | |
ports: | |
- 3000:3000 | |
labels: | |
- "traefik.backend=rocketchat" | |
- "traefik.frontend.rule=Host: your.domain.tld" | |
mongo: | |
image: mongo:4.0 | |
restart: unless-stopped | |
volumes: | |
- ./volumes/mongo/data/db:/data/db | |
#- ./data/dump:/dump | |
command: mongod --smallfiles --oplogSize 128 --replSet rs0 | |
labels: | |
- "traefik.enable=false" | |
# 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:4.0 | |
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 | |
#traefik: | |
# image: traefik:latest | |
# restart: unless-stopped | |
# command: > | |
# traefik | |
# --docker | |
# --acme=true | |
# --acme.domains='your.domain.tld' | |
# --acme.email='[email protected]' | |
# --acme.entrypoint=https | |
# --acme.storagefile=acme.json | |
# --defaultentrypoints=http | |
# --defaultentrypoints=https | |
# --entryPoints='Name:http Address::80 Redirect.EntryPoint:https' | |
# --entryPoints='Name:https Address::443 TLS.Certificates:' | |
# ports: | |
# - 80:80 | |
# - 443:443 | |
# volumes: | |
# - /var/run/docker.sock:/var/run/docker.sock |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment