diff --git a/docker-compose.yml b/docker-compose.yml index 6af45ad..a78cd48 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -5,7 +5,7 @@ database: DB_USER: zulip DB_PASS: zulip volumes: - - "/opt/docker/postgresql/data:/var/lib/postgresql:rw" + - "/opt/docker/zulip/postgresql/data:/var/lib/postgresql:rw" memcached: image: "quay.io/sameersbn/memcached:latest" restart: always @@ -17,12 +17,13 @@ rabbitmq: RABBITMQ_DEFAULT_PASS: "zulip" camo: image: "quay.io/galexrt/camo:latest" + restart: always redis: image: "quay.io/sameersbn/redis:latest" volumes: - - "/opt/docker/redis:/var/lib/redis:rw" + - "/opt/docker/zulip/redis:/var/lib/redis:rw" zulip: - image: "quay.io/galexrt/zulip:latest" + image: "quay.io/galexrt/zulip:3.1.6" ports: - "80:80" - "443:443" @@ -42,12 +43,12 @@ zulip: ZULIP_AUTHENTICATION_BACKENDS_EmailAuthBackend: "EmailAuthBackend" ZULIP_SECRETS_email_password: "12345" ZULIP_SECRETS_rabbitmq_password: "zulip" - ZULIP_SETTINGS_EXTERNAL_HOST: "localhost" + ZULIP_SETTINGS_EXTERNAL_HOST: "example.com" ZULIP_SETTINGS_ZULIP_ADMINISTRATOR: "admin@example.com" - ZULIP_SETTINGS_ADMIN_DOMAIN: "zerbytes.net" + ZULIP_SETTINGS_ADMIN_DOMAIN: "example.com" ZULIP_SETTINGS_NOREPLY_EMAIL_ADDRESS: "noreply@example.com" ZULIP_SETTINGS_DEFAULT_FROM_EMAIL: "Zulip " ZULIP_SETTINGS_EMAIL_HOST: "smtp.example.com" ZULIP_SETTINGS_EMAIL_HOST_USER: "noreply@example.com" volumes: - - "/opt/docker/zulip:/data:rw" + - "/opt/docker/zulip/zulip:/data:rw" diff --git a/entrypoint.sh b/entrypoint.sh index 85f11ba..88c186a 100755 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -13,10 +13,10 @@ ZULIP_ZPROJECT_SETTINGS="$ZULIP_CURRENT_DEPLOY/zproject/settings.py" # Some functions were originally taken from the zulip/zulip repo folder scripts # But modified to fit the docker image :) rabbitmqSetup(){ - rabbitmqctl delete_user guest || : - rabbitmqctl add_user zulip "$RABBITMQ_PASSWORD" || : - rabbitmqctl set_user_tags zulip administrator || : - rabbitmqctl set_permissions -p / zulip '.*' '.*' '.*' || : + rabbitmqctl delete_user guest 2> /dev/null || : + rabbitmqctl add_user zulip "$RABBITMQ_PASSWORD" 2> /dev/null || : + rabbitmqctl set_user_tags zulip administrator 2> /dev/null || : + rabbitmqctl set_permissions -p / zulip '.*' '.*' '.*' 2> /dev/null || : } databaseSetup(){ if [ -z "$DB_HOST" ]; then diff --git a/scripts/docker_start.sh b/scripts/docker_start.sh new file mode 100644 index 0000000..5505d41 --- /dev/null +++ b/scripts/docker_start.sh @@ -0,0 +1,62 @@ +#!/bin/bash + +CONTAINERS=(zulip_database zulip_memcached zulip_rabbitmq zulip_camo zulip_redis zulip_zulip) +for CONTAINER_NAME in $"${CONTAINERS[@]}"; +do + docker stop "$CONTAINER_NAME" + docker rm "$CONTAINER_NAME" +done + +docker run \ + --name=zulip_database \ + -e "DB_NAME=user" \ + -e "DB_USER=zulip" \ + -e "DB_PASS=zulip" \ + -v /opt/docker/zulip/postgresql:/var/lib/postgresql:rw \ + quay.io/galexrt/zulip-postgresql-tsearchextras:latest +docker run \ + --name=zulip_memcached \ + --restart=always \ + quay.io/sameersbn/memcached:latest +docker run \ + --name=zulip_rabbitmq \ + --hostname=zulip-rabbitmq \ + -e "RABBITMQ_DEFAULT_USER=zulip" \ + -e "RABBITMQ_DEFAULT_PASS=zulip" \ + docker.io/rabbitmq:3.5.5 +docker run \ + --name=zulip_camo \ + --restart=always \ + quay.io/galexrt/camo:latest +docker run \ + --name=zulip_redis \ + -v /opt/docker/zulip/redis:/var/lib/redis:rw \ + quay.io/galexrt/camo:latest +docker run \ + --name=zulip_zulip \ + -v /opt/docker/zulip/zulip:/data:rw \ + --link=zulip_database:database \ + --link=zulip_memcached:memcached \ + --link=zulip_rabbitmq:rabbitmq \ + --link=zulip_camo:camo \ + --link=zulip_redis:redis \ + -p 80:80 \ + -p 443:443 \ + -v /opt/docker/zulip/zulip:/data:rw \ + -e "DB_HOST=database" \ + -e "MEMCACHED_HOST=memcached" \ + -e "REDIS_HOST=redis" \ + -e "RABBITMQ_HOST=rabbitmq" \ + -e "ZULIP_USER_EMAIL=example@example.com" \ + -e "ZULIP_USER_DOMAIN=example.com" \ + -e "ZULIP_AUTHENTICATION_BACKENDS_EmailAuthBackend=EmailAuthBackend" \ + -e "ZULIP_SECRETS_email_password=12345" \ + -e "ZULIP_SECRETS_rabbitmq_password=zulip" \ + -e "ZULIP_SETTINGS_EXTERNAL_HOST=example.com" \ + -e "ZULIP_SETTINGS_ZULIP_ADMINISTRATOR=admin@example.com" \ + -e "ZULIP_SETTINGS_ADMIN_DOMAIN=example.com" \ + -e "ZULIP_SETTINGS_NOREPLY_EMAIL_ADDRESS=noreply@example.com" \ + -e "ZULIP_SETTINGS_DEFAULT_FROM_EMAIL=Zulip " \ + -e "ZULIP_SETTINGS_EMAIL_HOST=smtp.example.com" \ + -e "ZULIP_SETTINGS_EMAIL_HOST_USER=noreply@example.com" \ + quay.io/galexrt/zulip:3.1.6