Ctrl K
ComunidadGuías…

compose.yaml

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
# The image comes from GHCR (built by .github/workflows/docker.yml on every
# release tag). `build:` stays as the fallback: `docker compose up -d --build`
# makes the same image from this checkout when the registry is out of reach.
services:
  app:
    image: ghcr.io/solutionmax/pharos:${PHAROS_VERSION:-latest}
    build:
      context: .
      args:
        VERSION: ${PHAROS_VERSION:-0.5.6}
    ports:
      - "${PHAROS_PORT:-8080}:80"
    environment:
      APP_ENV: production
      APP_DEBUG: "false"
      APP_URL: ${APP_URL:-http://localhost:8080}
      TRUSTED_PROXIES: ${TRUSTED_PROXIES:-}
      APP_KEY: ${APP_KEY:?run `php artisan key:generate --show` and put it in .env}
      DB_CONNECTION: sqlite
      DB_DATABASE: /var/www/html/database/database.sqlite
      PHAROS_LICENSE_PUBLIC_KEY: ${PHAROS_LICENSE_PUBLIC_KEY:-}
    volumes:
      - pharos-db:/var/www/html/database
      - pharos-storage:/var/www/html/storage
    restart: unless-stopped

  # Checks need a heartbeat of their own. On shared hosting this is one cron line;
  # here it is a second container sharing the same database volume.
  scheduler:
    image: ghcr.io/solutionmax/pharos:${PHAROS_VERSION:-latest}
    build:
      context: .
      args:
        VERSION: ${PHAROS_VERSION:-0.5.6}
    command: php artisan schedule:work
    environment:
      APP_ENV: production
      APP_KEY: ${APP_KEY:?}
      DB_CONNECTION: sqlite
      DB_DATABASE: /var/www/html/database/database.sqlite
    volumes:
      - pharos-db:/var/www/html/database
      - pharos-storage:/var/www/html/storage
    depends_on:
      app:
        condition: service_healthy
    restart: unless-stopped

volumes:
  pharos-db:
  pharos-storage: