version: '2'

volumes:
  gunicorn_socket:
    driver: local
  postgres_data:
    driver: local
  postgres_backup:
    driver: local


# volumes:
#   sockets:
#     driver: local
#   data:
#     driver: local


services:
  postgres:
    build: ./compose/postgres
    # limit the ram so thing dont go out of control
    # database is currently very small so we dont need much
    mem_limit: 256m
    volumes:
      - postgres_data:/var/lib/postgresql/data
      - postgres_backup:/backups
    env_file: .env

  django:
    build:
      context: .
      dockerfile: ./compose/django/Dockerfile
    user: django
    mem_limit: 256m
    depends_on:
      - postgres
#      - redis
    command: /gunicorn.sh
    env_file: .env
    volumes:
      - .:/app
      - gunicorn_socket:/data/sockets

  nginx:
    build: ./compose/nginx
    env_file: .env
    depends_on:
      - django
#     - certbot

    environment:
      - MY_DOMAIN_NAME=maidstone-hackspace.org.uk
    ports:
      - "0.0.0.0:8080:80"
    volumes:
      - .:/app
      - gunicorn_socket:/data/sockets
#     - "0.0.0.0:443:443"
#   volumes:
#     - /etc/letsencrypt:/etc/letsencrypt
#     - /var/lib/letsencrypt:/var/lib/letsencrypt

#  certbot:
#    image: quay.io/letsencrypt/letsencrypt
#    command: bash -c "sleep 6 && certbot certonly -n --standalone -d maidstone-hackspace.org.uk --text --agree-tos --email support@maidstone-hackspace.org.uk --server https://acme-v01.api.letsencrypt.org/directory --rsa-key-size 4096 --verbose --keep-until-expiring --standalone-supported-challenges http-01"
#    entrypoint: ""
#    volumes:
#      - /etc/letsencrypt:/etc/letsencrypt
#      - /var/lib/letsencrypt:/var/lib/letsencrypt
#    ports:
#      - "80"
#      - "443"
#    environment:
#      - TERM=xterm


  redis:
    image: redis:latest

