services: app: build: context: . dockerfile: Dockerfile container_name: tabeley_app restart: unless-stopped env_file: - .env environment: APP_ENV: production APP_DEBUG: "false" APP_URL: ${APP_URL:-http://127.0.0.1:8000} DB_CONNECTION: pgsql DB_HOST: db DB_PORT: 5432 DB_DATABASE: ${DB_DATABASE:-tabeley_db} DB_USERNAME: ${DB_USERNAME:-postgres} DB_PASSWORD: ${DB_PASSWORD:-secret} RUN_MIGRATIONS: "true" depends_on: - db volumes: - storage_data:/var/www/html/storage nginx: image: nginx:1.27-alpine container_name: tabeley_nginx restart: unless-stopped depends_on: - app ports: - "8000:80" volumes: - ./public:/var/www/html/public:ro - ./docker/nginx/default.conf:/etc/nginx/conf.d/default.conf:ro db: image: postgres:17-alpine container_name: tabeley_db restart: unless-stopped environment: POSTGRES_DB: ${DB_DATABASE:-tabeley_db} POSTGRES_USER: ${DB_USERNAME:-postgres} POSTGRES_PASSWORD: ${DB_PASSWORD:-secret} ports: - "5433:5432" volumes: - db_data:/var/lib/postgresql/data volumes: db_data: storage_data: