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}