{"id":19120229,"url":"https://github.com/i4ds/heliotime-v2","last_synced_at":"2026-06-18T08:31:57.242Z","repository":{"id":246057750,"uuid":"819975649","full_name":"i4Ds/heliotime-v2","owner":"i4Ds","description":"An interactive timeline for GOES X-Ray data","archived":false,"fork":false,"pushed_at":"2025-06-11T14:42:36.000Z","size":13251,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-06-11T16:14:43.172Z","etag":null,"topics":["goes","heliophysics","solar-flare"],"latest_commit_sha":null,"homepage":"https://heliotime.org/","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/i4Ds.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-06-25T14:50:01.000Z","updated_at":"2025-06-11T14:38:56.000Z","dependencies_parsed_at":"2024-06-25T16:35:15.511Z","dependency_job_id":"793d2e7b-8752-4b7f-a0b6-4320fe013530","html_url":"https://github.com/i4Ds/heliotime-v2","commit_stats":null,"previous_names":["i4ds/heliotime-v2"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/i4Ds/heliotime-v2","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/i4Ds%2Fheliotime-v2","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/i4Ds%2Fheliotime-v2/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/i4Ds%2Fheliotime-v2/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/i4Ds%2Fheliotime-v2/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/i4Ds","download_url":"https://codeload.github.com/i4Ds/heliotime-v2/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/i4Ds%2Fheliotime-v2/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34483275,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-18T02:00:06.871Z","response_time":128,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["goes","heliophysics","solar-flare"],"created_at":"2024-11-09T05:13:23.395Z","updated_at":"2026-06-18T08:31:57.235Z","avatar_url":"https://github.com/i4Ds.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Heliotime ([heliotime.org](https://heliotime.org/))\n\n![screenshot](docs/screenshot.png)\n\nInteractive web viewer of [GOES X-ray Flux](https://www.swpc.noaa.gov/products/goes-x-ray-flux) data from 1980 to now. Lets you inspect specific solar flares, the different solar cycles, or any other time range of your choosing. Includes a preview of [Helioviewer](https://helioviewer.org/?imageLayers=[SDO%2CAIA%2CAIA%2C171%2C1%2C100]) when selecting a timestamp. Visit [heliotime.org](https://heliotime.org/) for a running version.\n\n**Notice:** The maintenance status of Heliotime is currently in limbo, as I (the main maintainer @tschai-yim) am leaving FHNW. This project will probably be continued once development resources become available again, at which point reading my [proposed changes](./docs/proposed-changes.md) might be useful for the new maintainer.\n\n## Getting started\n\nFirst, this repository uses Git submodules, so ensure they are properly initialized:\n\n```sh\ngit submodule init \ngit submodule update\n```\n\nRun the following command to deploy the development Docker Compose configuration:\n\n```sh\n./du.sh dev deploy\n```\n\nThis will run everything in Docker and make the site available at:\n\n- \u003chttp://localhost:3000/\u003e\n\nFor development it is easier to run the individual services on the host. Check out the readmes ([Server](./server/README.md), [Site](./site/README.md)) in the respective subdirectories.\n\nFor the database, here are some useful commands:\n\n```sh\n# Start only the database\n./du.sh dev deploy db\n\n# Reset the database (wipes all data)\n./du.sh dev db:reset\n```\n\n\u003e **Docker Utility** \u003cbr\u003e\n\u003e `du.sh` is an alias to `docker compose` which loads the right compose files depending on the selected environment:\n\u003e development `dev` or production `prod`. Only production requires certain environment variables to be set.\n\u003e See [Configuration](#configuration) for available options.\n\n## Deployment\n\nSee [deployment](./docs/deploy.md) on how to deploy Heliotime in production.\n\n## Configuration\n\nThe Docker Compose deployment, site, and server can be configured using the following environment variables:\n\n| \u003cdiv style=\"width:150px\"\u003eName\u003c/div\u003e |       Dev Default       | Prod Default | Description                                                                                   |\n| :---------------------------------: | :---------------------: | :----------: | :-------------------------------------------------------------------------------------------- |\n|             `API_PORT`              |         `8000`          |     same     | Port the api (server) will be exposed at.                                                     |\n|             `SITE_PORT`             |         `3000`          |     same     | Port the site will be exposed at.                                                             |\n|      `EXTERNAL_DATABASE_PORT`       |         `5432`          |     same     | Port the database will be exposed at.                                                         |\n|           `DATABASE_HOST`           |   `db` / `localhost`    |     same     | Hostname of the database. (Docker / Host)                                                     |\n|           `DATABASE_PORT`           |         `5432`          |     same     | Port of the database. (useful for external DBs)                                               |\n|         `DATABASE_DATABASE`         |       `postgres`        |     same     | Name of the database to use.                                                                  |\n|         `DATABASE_USERNAME`         |       `postgres`        |     same     | Username to authenticate with the database.                                                   |\n|         `DATABASE_PASSWORD`         |       `heliotime`       |      -       | Password to authenticate with the database.                                                   |\n|        `DATABASE_POOL_SIZE`         |          `10`           |     same     | Amount of database connections a single worker has available.                                 |\n|        `DATABASE_MEMORY_GB`         |          `28`           |     same     | GB of memory available to the database. Used by migrations to optimize chunk and cache sizes. |\n|           `DATABASE_ARGS`           |            -            |     same     | Arguments to Postgres for configuration like `-c shared_buffers=2GB`.                         |\n|           `IMPORT_START`            |      now - 30 days      |     same     | From when to import data in ISO format.                                                       |\n|        `FLUX_MAX_RESOLUTION`        |         `2000`          |     same     | Max flux resolution allowed to be requested. Bigger request will be downsized.                |\n|        `FLUX_QUERY_TIMEOUT`         |          `30`           |     same     | Timeout of flux database queries before giving up.                                            |\n|          `WEB_CONCURRENCY`          |           `1`           |     same     | Worker count handling API requests. Optional around `2 x CPU`.                                |\n|        `NEXT_PUBLIC_API_URL`        | `http://localhost:8000` |     same     | URL used by the browser to access the API.                                                    |\n\nDocker Compose automatically loads `.env` in the repository root and the site (Next.js) does the same for `site/.env.local` when running on the host.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fi4ds%2Fheliotime-v2","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fi4ds%2Fheliotime-v2","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fi4ds%2Fheliotime-v2/lists"}