Files
scalelite-run/docker-compose.yml

100 lines
2.9 KiB
YAML

version: '3'
volumes:
database_data:
driver: local
services:
nginx:
image: nginx:latest
restart: "no"
volumes:
- ./nginx/nginx.conf:/etc/nginx/nginx.conf
- ./nginx/sites-enabled:/etc/nginx/sites-enabled
- ./nginx/sites.template:/etc/nginx/sites-available/sites.template
- ./nginx/default/html:/var/www/html
- ./nginx/log/nginx:/var/log/nginx
- ./data/certbot/conf:/etc/letsencrypt
- ./data/certbot/www:/var/www/certbot
- ./nginx/ssl/:/etc/ssl
ports:
- "80:80"
- "443:443"
environment:
- NGINX_HOSTNAME=${HOST_NAME:-sl.xlab.blindside-dev.com}
depends_on:
- scalelite.api
command: /bin/bash -c "envsubst '$$NGINX_HOSTNAME' < /etc/nginx/sites-available/sites.template > /etc/nginx/sites-enabled/sites.conf && while :; do sleep 6h & wait $${!}; nginx -s reload; done & nginx -g 'daemon off;'"
## Configuration for Letsencrypt SSL Certificate
## comment out when using an SSL Certificate from a CA other than Letsencrypt
certbot:
image: certbot/certbot
volumes:
- ./data/certbot/conf:/etc/letsencrypt
- ./data/certbot/www:/var/www/certbot
entrypoint: "/bin/sh -c 'trap exit TERM; while :; do certbot renew; sleep 12h & wait $${!}; done;'"
redis:
image: redis:5.0-alpine
restart: "no"
ports:
- 127.0.0.1:6379:6379
volumes:
- ./data/redis/:/data
postgres:
image: postgres:11.7-alpine
restart: "no"
ports:
- 127.0.0.1:5432:5432
volumes:
- ./data/postgres/:/var/lib/postgresql/data
environment:
- POSTGRES_DB=postgres
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=password
scalelite.api:
entrypoint: [bin/start]
image: blindsidenetwks/scalelite:latest
restart: "no"
ports:
- 127.0.0.1:3000:3000
links:
- redis
- postgres
volumes:
- ./scalelite/log/api:/srv/scalelite/log
- ./scalelite/bin/start:/srv/scalelite/bin/start
- ./scalelite/config/database.yml:/srv/scalelite/config/database.yml
- ./scalelite/tmp/pids/:/usr/src/app/tmp/pids
- ./scalelite/tmp/sockets/:/usr/src/app/tmp/sockets
- ./scalelite/tmp/cache/assets:/usr/src/app/tmp/cache/assets
env_file: ./scalelite/.env
environment:
- REDIS_URL=${REDIS_URL:-redis://redis:6379}
- DATABASE_URL=${DATABASE_URL:-postgres://postgres:password@postgres:5432/scalelite?pool=5}
- URL_HOST=${HOST_NAME:-sl.xlab.blindside-dev.com}
scalelite.poller:
entrypoint: [bin/start-poller]
image: blindsidenetwks/scalelite:latest
restart: "no"
ports:
- 127.0.0.1:3001:3000
links:
- redis
volumes:
- ./scalelite/log/poller:/srv/scalelite/log
- ./scalelite/bin/start-poller:/srv/scalelite/bin/start-poller
env_file: ./scalelite/.env
environment:
- REDIS_URL=${REDIS_URL:-redis://redis:6379}
- URL_HOST=${HOST_NAME:-sl.xlab.blindside-dev.com}