version: '2'

services:
  application:
    image: zknt/pixelfed
    restart: always
    logging:
      driver: journald
    env_file:
      - ./env
    volumes:
      - "application_data:/var/www/storage"
      - "bootstrap:/var/www/bootstrap"
      - "./env:/var/www/.env"
    ports:
      - "{{http_port}}:80"
    depends_on:
      - database
      - redis
  worker:
    image: zknt/pixelfed
    restart: always
    logging:
      driver: journald
    env_file:
      - ./env
    volumes:
      - "application_data:/var/www/storage"
      - "bootstrap:/var/www/bootstrap"
      - "./env:/var/www/.env"
    entrypoint: /worker-entrypoint.sh
    depends_on:
      - database
      - redis
      - application
    healthcheck:
      test: php artisan horizon:status | grep running
      interval: 60s
      timeout: 5s
      retries: 1

{% include 'templates/docker-mariadb-service.yml.j2' %}

{% include 'templates/docker-redis-service.yml.j2' %}

volumes:
  database:
  redis:
  application_data:
  bootstrap: