From 50dfa63bd5ab852ac488efcbfbc4c24bf312e7ee Mon Sep 17 00:00:00 2001 From: 3wc <3wc.git@doesthisthing.work> Date: Sun, 27 Sep 2020 22:58:27 +0200 Subject: [PATCH] Add optional mail relay & change service names See compose-stacks/organising#19 --- .envrc.sample | 6 +++++- README.md | 8 ++++++-- compose.mailrelay.yml | 15 +++++++++++++++ compose.yml | 15 +++++++-------- 4 files changed, 33 insertions(+), 11 deletions(-) create mode 100644 compose.mailrelay.yml diff --git a/.envrc.sample b/.envrc.sample index b514231..07ee67c 100644 --- a/.envrc.sample +++ b/.envrc.sample @@ -3,7 +3,6 @@ export DOMAIN=rocketchat.example.com export STACK_NAME=rocketchat export LETS_ENCRYPT_ENV=production -# Keycloak settings # https://docs.rocket.chat/guides/administrator-guides/settings-via-env-vars export ADMIN_USERNAME=admin export ADMIN_EMAIL=rocketchat@example.com @@ -19,3 +18,8 @@ export ENTRYPOINT_CONF_VERSION=v1 #export Accounts_OAuth_Custom-Keycloak-id="rocketchat" #export OAUTH_KEY_VERSION=v1 + +# SMTP +#export COMPOSE_FILE="compose.yml:compose.mailrelay.yml" +#export SMTP_HOST="postfix_relay_app" +#export FROM_EMAIL="rocketchat@example.com" diff --git a/README.md b/README.md index 977e4fe..0b3c626 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,11 @@ 4. Edit `.envrc` - be sure to change `$DOMAIN` to something that resolves to your Docker swarm box 5. `direnv allow` (or `. .envrc`) -6. `abra secret_generate db_password v1` +6. Generate secrets: +``` +abra secret_generate db_password v1 +abra secret_generate admin_password v1 +``` 7. `abra deploy` 9. Open the configured domain in your browser to finish set-up @@ -23,7 +27,7 @@ 2. `direnv allow` (or `source .envrc`) 3. Insert the OpenID secret into Docker: (FIXME add option for this to `abra`) ``` -echo "your-secret-string-from-keycloak" | docker secret create "${STACK_NAME}_openid_key_${VERSION}" - +echo "your-secret-string-from-keycloak" | docker secret create "${STACK_NAME}_openid_key_${VERSION}" - ``` 4. `abra deploy` 5. You should now have a "Login via Keycloak" option on the login page diff --git a/compose.mailrelay.yml b/compose.mailrelay.yml new file mode 100644 index 0000000..6fbfc46 --- /dev/null +++ b/compose.mailrelay.yml @@ -0,0 +1,15 @@ +--- +version: "3.8" + +services: + app: + environment: + - MAIL_URL=smtp://${SMTP_HOST} + - SMTP_Host=${SMTP_HOST} + - From_Email=${FROM_EMAIL} + networks: + - mail + +networks: + mail: + external: true diff --git a/compose.yml b/compose.yml index 1952af3..b0b5f26 100644 --- a/compose.yml +++ b/compose.yml @@ -2,7 +2,7 @@ version: '3.8' services: - rocketchat: + app: image: rocketchat/rocket.chat:latest command: > bash -c @@ -19,9 +19,8 @@ services: environment: - PORT=3000 - ROOT_URL=https://${DOMAIN} - - MONGO_URL=mongodb://mongo:27017/rocketchat - - MONGO_OPLOG_URL=mongodb://mongo:27017/local - - MAIL_URL=smtp://smtp.email + - MONGO_URL=mongodb://db:27017/rocketchat + - MONGO_OPLOG_URL=mongodb://db:27017/local - ADMIN_USERNAME - ADMIN_PASS_FILE=/run/secrets/admin_password - ADMIN_EMAIL @@ -36,7 +35,7 @@ services: - internal - proxy depends_on: - - mongo + - db deploy: restart_policy: condition: on-failure @@ -49,7 +48,7 @@ services: - "traefik.http.routers.${STACK_NAME}.tls.certresolver=${LETS_ENCRYPT_ENV}" - "traefik.http.routers.${STACK_NAME}.entrypoints=web-secure" - mongo: + db: image: mongo:3.6 volumes: - mongo:/data/db @@ -67,7 +66,7 @@ services: command: > bash -c "for i in `seq 1 30`; do - mongo mongo/rocketchat --eval \" + mongo db/rocketchat --eval \" rs.initiate({ _id: 'rs0', members: [ { _id: 0, host: 'localhost:27017' } ]})\" && @@ -76,7 +75,7 @@ services: sleep 5; done; (exit $$s)" depends_on: - - mongo + - db networks: - internal