Skip to content
docker-compose.yml 2.07 KiB
Newer Older
Pierre Ozoux's avatar
Pierre Ozoux committed
version: '2.1'
Pierre Ozoux's avatar
Pierre Ozoux committed
networks:
  lb_web:
    external: true
  back:
    driver: bridge
    ipam:
      driver: default
      config:
      - subnet: 10.0.${SUBNET}.0/24
Pierre Ozoux's avatar
Pierre Ozoux committed
services:
  web:
    image: libresh/discourse-web:${DISCOURSE_VERSION:-stable}
Pierre Ozoux's avatar
Pierre Ozoux committed
    volumes:
SallySwarz's avatar
SallySwarz committed
    - ./data/assets:/home/discourse/discourse/public/assets
    - ./data/uploads:/home/discourse/discourse/public/uploads
Pierre Ozoux's avatar
Pierre Ozoux committed
    environment:
Pierre Ozoux's avatar
Pierre Ozoux committed
    - VIRTUAL_HOST
    - LETSENCRYPT_HOST
    - VIRTUAL_PORT=80
Pierre Ozoux's avatar
Pierre Ozoux committed
    networks:
    - back
    - lb_web
Pierre Ozoux's avatar
Pierre Ozoux committed
    depends_on:
    - app
Pierre Ozoux's avatar
Pierre Ozoux committed
  app:
Pierre Ozoux's avatar
Pierre Ozoux committed
    image: libresh/discourse:${DISCOURSE_VERSION:-stable}
    command: bundle exec config/unicorn_launcher -E production -c config/unicorn.conf.rb
Pierre Ozoux's avatar
Pierre Ozoux committed
    volumes:
Pierre Ozoux's avatar
Pierre Ozoux committed
    - ./data/assets:/home/discourse/discourse/public/assets
    - ./data/uploads:/home/discourse/discourse/public/uploads
    - ./data/backups:/home/discourse/discourse/public/backups
Pierre Ozoux's avatar
Pierre Ozoux committed
    environment:
    - DISCOURSE_HOSTNAME=$VIRTUAL_HOST
Pierre Ozoux's avatar
Pierre Ozoux committed
    - POSTGRES_USER=discourse
    - DISCOURSE_SMTP_PORT=587
    - DISCOURSE_SMTP_ADDRESS
    - DISCOURSE_SMTP_USER_NAME
    - DISCOURSE_SMTP_PASSWORD
    - DISCOURSE_DB_PASSWORD
    - DISCOURSE_DB_HOST=postgres
    - UNICORN_BIND_ALL=true
Pierre Ozoux's avatar
Pierre Ozoux committed
    depends_on:
    - redis
    - postgres
Pierre Ozoux's avatar
Pierre Ozoux committed
    networks:
    - back
  sidekiq:
Pierre Ozoux's avatar
Pierre Ozoux committed
    image: libresh/discourse:${DISCOURSE_VERSION:-stable}
Pierre Ozoux's avatar
Pierre Ozoux committed
    command: bundle exec sidekiq -q critical -q default -q low -v
    volumes:
    - ./data/assets:/home/discourse/discourse/public/assets
Pierre Ozoux's avatar
Pierre Ozoux committed
    environment:
    - DISCOURSE_HOSTNAME=$VIRTUAL_HOST
Pierre Ozoux's avatar
Pierre Ozoux committed
    - POSTGRES_USER=discourse
    - DISCOURSE_SMTP_PORT=587
    - DISCOURSE_SMTP_ADDRESS
    - DISCOURSE_SMTP_USER_NAME
    - DISCOURSE_SMTP_PASSWORD
    - DISCOURSE_DB_PASSWORD
SallySwartz's avatar
SallySwartz committed
    depends_on:
    - redis
    - postgres
Pierre Ozoux's avatar
Pierre Ozoux committed
    networks:
    - back
  postgres:
    image: postgres:${POSTGRES_VERSION:-12-alpine}
Pierre Ozoux's avatar
Pierre Ozoux committed
    volumes:
Pierre Ozoux's avatar
Pierre Ozoux committed
    - ./data/postgres:/var/lib/postgresql/data
Pierre Ozoux's avatar
Pierre Ozoux committed
    networks:
    - back
Pierre Ozoux's avatar
Pierre Ozoux committed
    environment:
    - POSTGRES_USER=discourse
    - POSTGRES_PASSWORD
Pierre Ozoux's avatar
Pierre Ozoux committed
  redis:
    image: redis:${REDIS_VERSION:-4-alpine}
SallySwartz's avatar
SallySwartz committed
    command: ["--appendonly","yes"]
Pierre Ozoux's avatar
Pierre Ozoux committed
    networks:
    - back
Pierre Ozoux's avatar
Pierre Ozoux committed
    volumes:
Pierre Ozoux's avatar
Pierre Ozoux committed
    - ./data/redis:/data