PHPackages                             tholcomb/goes-php - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Image &amp; Media](/categories/media)
4. /
5. tholcomb/goes-php

ActiveProject[Image &amp; Media](/categories/media)

tholcomb/goes-php
=================

Web service for downloading and serving NOAA GOES imagery for live-ish background images

v1.0.0(4y ago)111MITPHPPHP &gt;=8.0

Since Sep 23Pushed 4y ago1 watchersCompare

[ Source](https://github.com/tholcomb/goes-php)[ Packagist](https://packagist.org/packages/tholcomb/goes-php)[ RSS](/packages/tholcomb-goes-php/feed)WikiDiscussions master Synced 1w ago

READMEChangelog (1)Dependencies (5)Versions (3)Used By (0)

goes-php
========

[](#goes-php)

A web service for downloading and serving NOAA GOES imagery for live-ish background images.

If you're unfamiliar, that's the Geostationary Operational Environmental Satellite.

[![GOES Imagery](examples/example_base.jpg)](examples/example_base.jpg)

Requirements
------------

[](#requirements)

- PHP 8
    - w/ Imagick extension
- SQLite3
- jpegoptim (optional)

Install
-------

[](#install)

### Composer:

[](#composer)

```
$ composer create-project tholcomb/goes-php $INSTALL_DIR
```

### Manual:

[](#manual)

```
# Download from releases or:
$ git clone https://github.com/tholcomb/goes-php.git $INSTALL_DIR

$ cd $INSTALL_DIR
$ composer install
$ php bin/console.php goes:install
```

Setup
-----

[](#setup)

### File Permissions

[](#file-permissions)

These instructions assume php-fpm runs as the www-data user and that your account is a member of the www-data group. Adjust accordingly.

```
$ sudo chgrp -R www-data $INSTALL_DIR

# 2 is the setgid bit
$ chmod -R 2775 $INSTALL_DIR

# Remove execute permission applied in last step
$ find $INSTALL_DIR -type f -exec chmod 664 {} \;
```

### crontab

[](#crontab)

This will cause the cron command to run every 5 minutes. Adjust to taste. This has the same assumptions as above.

```
*/5 * * * * www-data php $INSTALL_DIR/bin/console.php goes:cron

```

### nginx

[](#nginx)

```
server {
        ...
        root $INSTALL_DIR/public;

        location / {
                try_files $uri /index.php$is_args$args;
        }
        location ~ ^/index\.php(/|$) {
                fastcgi_pass unix:/var/run/php/php8.0-fpm.sock;
                fastcgi_split_path_info ^(.+\.php)(/.*)$;
                include fastcgi_params;
                fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
                fastcgi_param DOCUMENT_ROOT $realpath_root;
                internal;
        }
        location ~ \.php$ {
                return 404;
        }
}

```

Usage
-----

[](#usage)

### Managing users

[](#managing-users)

#### Add a user

[](#add-a-user)

```
$ php bin/console.php goes:user add
```

Then, follow the prompts. If you answer "yes" to the "Include time data" prompt, a timestamp and info from the original image will appear below Antarctica, otherwise, it will be cropped.

NOTE: The API Key does not need to be secure. That is, unless your threat model includes extremely petty people who will research what obscure software you're using in order to mildly inconvenience you.

#### List users

[](#list-users)

```
$ php bin/console.php goes:user list
```

#### Remove user

[](#remove-user)

```
$ php bin/console.php goes:user remove $API_KEY
```

### Getting images

[](#getting-images)

Simply send a GET request to /latest.jpg with your API Key. The API Key can be included two ways:

1. As the GET parameter 'apiKey' (ex. /latest.jpg?apiKey=$API\_KEY)
2. As the HTTP Header 'Api-Key' (ex. Api-Key: $API\_KEY)

See [download\_goes.php](examples/download_goes.php) for a working example.

#### iOS Shortcut

[](#ios-shortcut)

[iCloud link](https://www.icloud.com/shortcuts/0c7f939c8cb642a994e1fb4507d1f8fb)

Limitations
-----------

[](#limitations)

These limitations are due to the base image URL being hardcoded. (Sue me.) If you're running up against these, feel free to email me or submit a pull request.

- Imagery is only available from the GOES-East satellite
- Screen sizes with dimensions greater than 1808px may suffer image degradation

Acknowledgements
----------------

[](#acknowledgements)

This project would not have been possible without the fine work done by the folks at the National Atmospheric &amp; Oceanic Administration (NOAA), and more specifically, the National Environmental Satellite, Data, and Information Service (NESDIS) and the Center for Satellite Applications and Research (STAR).

Send them your love! Preferably, in the form of a letter to your congressperson.

###  Health Score

25

—

LowBetter than 37% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity56

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

2

Last Release

1698d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/ce874ed3cf9b2afb1ffb7e50e35222945082d3b4f42ba417fcb384c7db134a6d?d=identicon)[tholcomb](/maintainers/tholcomb)

---

Top Contributors

[![tholcomb](https://avatars.githubusercontent.com/u/1356794?v=4)](https://github.com/tholcomb "tholcomb (13 commits)")

### Embed Badge

![Health badge](/badges/tholcomb-goes-php/health.svg)

```
[![Health](https://phpackages.com/badges/tholcomb-goes-php/health.svg)](https://phpackages.com/packages/tholcomb-goes-php)
```

###  Alternatives

[sylius/sylius

E-Commerce platform for PHP, based on Symfony framework.

8.4k5.6M651](/packages/sylius-sylius)[spatie/image

Manipulate images with an expressive API

1.4k54.4M138](/packages/spatie-image)[shlinkio/shlink

A self-hosted and PHP-based URL shortener application with CLI and REST interfaces

4.8k4.3k](/packages/shlinkio-shlink)[ec-cube/ec-cube

EC-CUBE EC open platform.

78527.0k1](/packages/ec-cube-ec-cube)[opentok/opentok

OpenTok is a platform for creating real time streaming video applications, created by TokBox.

1413.0M10](/packages/opentok-opentok)[open-dxp/opendxp

Content &amp; Product Management Framework (CMS/PIM)

7310.3k29](/packages/open-dxp-opendxp)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
