HEX
Server: nginx/1.18.0
System: Linux test-ipsremont 5.4.0-214-generic #234-Ubuntu SMP Fri Mar 14 23:50:27 UTC 2025 x86_64
User: ips (1000)
PHP: 8.0.30
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/ai-notam/docker-compose.yml
services:
  web:
    image: nginx:alpine
    container_name: notam-web
    restart: unless-stopped
    logging:
      driver: "json-file"
      options:
        max-size: '1g'
        max-file: '5'
    volumes:
      - "./docker/nginx/files/default.conf:/etc/nginx/conf.d/default.conf:delegated"
      - ".:/var/www/html:delegated"
    networks:
      - proxy
    #ports:
    #  - "8069:80"
    depends_on:
      - php
      - mysql
    links:
      - php
      - mysql
    labels:
      - "traefik.enable=true"
      - "traefik.http.services.notamweb.loadbalancer.server.port=80"
      - "traefik.http.middlewares.notamweb-https.redirectscheme.scheme=http"
      - "traefik.http.routers.notamweb-http.entrypoints=http"
      - "traefik.http.routers.notamweb-http.rule=Host(`notam.aeromap.pro`)"
      - "traefik.http.routers.notamweb.entrypoints=https"
      - "traefik.http.routers.notamweb.rule=Host(`notam.aeromap.pro`)"
      - "traefik.http.routers.notamweb.tls=true"

  php:
    build: docker/php
    container_name: notam-php
    restart: unless-stopped
    logging:
      driver: "json-file"
      options:
        max-size: '1g'
        max-file: '5'
    volumes:
      - ".:/var/www/html:delegated"
    ports:
      - "127.0.0.1:9001:9000"
      - "127.0.0.1:2346:2346"
    links:
      - mysql
    networks:
      - proxy
    environment:
      APP_NAME: ${APP_NAME}
      DB_CONNECTION: mysql
      DB_HOST: mysql
      DB_PORT: 3306
      DB_DATABASE: ${DB_DATABASE}
      DB_USERNAME: ${DB_USERNAME}
      DB_PASSWORD: ${DB_PASSWORD}
      OPEN_AI_KEY: ${OPEN_AI_KEY}

  mysql:
    image: mysql:8.3.0
    platform: linux
    container_name: notam-mysql
    restart: unless-stopped
    logging:
      driver: "json-file"
      options:
        max-size: '1g'
        max-file: '5'
    env_file:
      - '.env'
    networks:
      - proxy
    environment:
      - MYSQL_ROOT_PASSWORD=${DB_PASSWORD}
      - MYSQL_DATABASE=${DB_DATABASE}
      - MYSQL_PASSWORD=${DB_PASSWORD}
      - MYSQL_USER=${DB_USERNAME}
    ports:
      - "127.0.0.1:8989:3306"
    volumes:
      - ./db:/var/lib/mysql:delegated

  cron:
    build:
      context: docker/cron
      dockerfile: Dockerfile
    container_name: notam-cron
    restart: unless-stopped
    volumes:
      - ".:/var/www/html:delegated"
      - "./docker/cron/crontab:/etc/crontabs/root:ro"
    command: [ "crond", "-f", "-l", "8" ]
    depends_on:
      - php
    networks:
      - proxy

  worker:
    build: ./docker/php
    command: php /var/www/html/laravel/artisan queue:work --sleep=3 --tries=3 --timeout=60
    restart: unless-stopped
    depends_on:
      - php
      - mysql
    environment:
      - APP_ENV=development
      - QUEUE_CONNECTION=database
      - DB_HOST=mysql
      - DB_PORT=3306
      - DB_DATABASE=${DB_DATABASE}
      - DB_USERNAME=${DB_USERNAME}
      - DB_PASSWORD=${DB_PASSWORD}
      - OPEN_AI_KEY=${OPEN_AI_KEY}
    volumes:
      - ./:/var/www/html
    networks:
      - proxy
    deploy:
      restart_policy:
        condition: any

networks:
  proxy:
    external: true