diff --git a/custom/will-discourse-nginx/Dockerfile b/custom/will-discourse-nginx/Dockerfile new file mode 100644 index 0000000..afd2c78 --- /dev/null +++ b/custom/will-discourse-nginx/Dockerfile @@ -0,0 +1,3 @@ +FROM nginx:latest + +COPY nginx.conf /etc/nginx/nginx.conf \ No newline at end of file diff --git a/custom/will-discourse-nginx/nginx.conf b/custom/will-discourse-nginx/nginx.conf new file mode 100644 index 0000000..4ce413f --- /dev/null +++ b/custom/will-discourse-nginx/nginx.conf @@ -0,0 +1,31 @@ +user www-data; + +events { + worker_connections 768; +} + +http { + upstream app { + server app:3000; + } + include /etc/nginx/mime.types; + default_type application/octet-stream; + gzip on; + gzip_disable "msie6"; + + server { + listen 80; + + try_files $uri/index.html $uri @app; + + location / { + proxy_pass http://app; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $http_host; + proxy_redirect off; + } + + client_max_body_size 10M; + keepalive_timeout 10; + } +} diff --git a/docker-compose.will.yml b/docker-compose.will.yml index e69de29..4a16595 100644 --- a/docker-compose.will.yml +++ b/docker-compose.will.yml @@ -0,0 +1,77 @@ +version: '2.2' + +networks: + web: + external: true + back: + driver: bridge + +services: + web: + build: + context: custom/will-discourse-nginx + links: + - app + environment: + - VIRTUAL_HOST=smalltalk.kenzie.one + - LETSENCRYPT_HOST=smalltalk.kenzie.one + networks: + - back + - web + + app: + image: indiehosters/discourse + volumes: + - /srv/wtlk-discourse/data/assets:/usr/src/app/public/assets + - /srv/wtlk-discourse/data/uploads:/usr/src/app/public/uploads + - /srv/wtlk-discourse/data/backups:/usr/src/app/public/backups + links: + - postgres + - redis + environment: + - DISCOURSE_HOSTNAME=smalltalk.kenzie.one + - DISCOURSE_SMTP_ADDRESS=mail.kenzie.one + - DISCOURSE_SMTP_PORT=587 + - DISCOURSE_SMTP_USER_NAME=noreply@kenzie.one + - DISCOURSE_SMTP_PASSWORD=qDRHMagzKp + - POSTGRES_USER=discourse + - DISCOURSE_DB_PASSWORD=qP2mRIHP3IsrndW5wSXpXaTqJM0k6hw5z5ncUIE6nhQRzXwx04 + networks: + - back + + sidekiq: + image: indiehosters/discourse + command: bundle exec sidekiq -q critical -q default -q low -v + links: + - postgres + - redis + environment: + - DISCOURSE_HOSTNAME=smalltalk.kenzie.one + - DISCOURSE_SMTP_ADDRESS=mail.kenzie.one + - DISCOURSE_SMTP_PORT=587 + - DISCOURSE_SMTP_USER_NAME=noreply@kenzie.one + - DISCOURSE_SMTP_PASSWORD=qDRHMagzKp + - POSTGRES_USER=discourse + - POSTGRES_PASSWORD=qP2mRIHP3IsrndW5wSXpXaTqJM0k6hw5z5ncUIE6nhQRzXwx04 + - DISCOURSE_DB_PASSWORD=qP2mRIHP3IsrndW5wSXpXaTqJM0k6hw5z5ncUIE6nhQRzXwx04 + volumes: + - /srv/wtlk-discourse/data/assets:/usr/src/app/public/assets + - /srv/wtlk-discourse/data/uploads:/usr/src/app/public/uploads + - /srv/wtlk-discourse/data/backups:/usr/src/app/public/backups + networks: + - back + + postgres: + image: postgres:9.4.8 + environment: + - POSTGRES_USER=discourse + - POSTGRES_PASSWORD=qP2mRIHP3IsrndW5wSXpXaTqJM0k6hw5z5ncUIE6nhQRzXwx04 + volumes: + - /srv/wtlk-discourse/data/postgres:/var/lib/postgresql/data + networks: + - back + + redis: + image: redis:3 + networks: + - back