retentioneering-tools
Python toolkit, MCP server, and agent skills for reproducible, auditable clickstream and event log analytics. Helps AI agents, data scientists and analysts build, validate, and cross-check product ana
翻譯準備中
Multi-Mission Geographic Information System - A Web-based Mapping and Spatial Data Infrastructure for Earth, Lunar and Planetary Visualization, Research, Science, Planning and Operations.
翻譯準備中
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
Web-based Mapping for Earth, Lunar and Planetary Visualization, Research, Science, Planning and Operations.
Click to watch the demo video.
A free, open source and easily configurable solution for GIS on the web. Run MMGIS via a prebuilt docker image on your server and use the Configure page to setup a new mission map to get started. You completely own your data too but are responsible for any data processing (though provided are a variety of scripts and organization methods to help do so and jump off from)檢視完整 README ↗It is recommended to setup MMGIS via docker. However, if you would like to setup MMGIS without docker, please check out: https://nasa-ammos.github.io/MMGIS/setup/installation#installing-without-docker
/ will always refer to the repo's root directory.
Point to a prebuilt image in your docker-compose.yml: https://github.com/NASA-AMMOS/MMGIS/pkgs/container/mmgis
Or build it locally for a custom build:
Clone the repo
git clone https://github.com/NASA-AMMOS/MMGIS
Run:
docker build -t <image tag> .
Copy /sample.env to .env
cp sample.env .env
Open .env and update the following:
DB_NAME=<name>
DB_USER=<user>
DB_PASS=<password>
From the install example:
DB_NAME=db
DB_USER=postgres
DB_PASS=<POSTGRES_PASSWORD (see below)>
Set all the ENV variables in .env. More information about the ENVs can be found here.
DB_HOST to the name of the service (in this case db)This repo contains a /docker-compose.sample.yml file that defines a service for the application and a PostgreSQL database with PostGIS installed
docker-compose.yml.db service in docker-compose.yml, set the POSTGRES_PASSWORD environment variable and use this for MMGIS's DB_PASS ENV value.environment variables within the docker-compose.yml as well./docker-compose.sample.yml includes optional STAC and TiTiler services. If any of them are unwanted, they can be removed from the docker-compose-yml and their respective .env variable WITH_{service} can be set to false.Run: docker-compose up -d
Run: docker-compose down
Setup the admin account:
https://{your-mmgis-domain}/configureNow sign in with your Administrator credentials
Click NEW MISSION
Enter a new mission name and click MAKE MISSION
Navigate to https://{your-mmgis-domain}/.
See the configuration documentation for more information on how to use the configure page to customize and add data to MMGIS.
MMGIS uses a plugin-based architecture organized under /plugins/ in a three-level hierarchy: <container>/<type>/<PluginName>/. Core plugins ship with MMGIS; external plugins can be installed from Git repositories or local paths without modifying the core codebase. Git repos are cloned into plugins/<org>--<repo>/ (double-hyphen separator) to avoid name collisions across organizations.
Community and mission-specific plugins are maintained in the official collection:
Install the official plugins with:
npm run plugins -- install MMGIS-Plugins
| Type | Description |
|---|---|
| tools | Frontend sidebar tools (Draw, Measure, Legend, etc.) |
| backend | Server-side Express route modules (Accounts, Config, Users, etc.) |
| components | Lightweight UI widgets (OperationsClock, etc.) |
Manage plugins via the built-in CLI:
npm run plugins -- list # List all plugins
npm run plugins -- install <git-url|path> # Install a plugin repo
npm run plugins -- uninstall <repo-name> # Uninstall a plugin repo
npm run plugins -- enable <plugin-id> # Enable a plugin
npm run plugins -- disable <plugin-id> # Disable a plugin
npm run plugins -- create <type> <Name> # Scaffold a new plugin
npm run plugins -- validate # Validate all manifests
See plugins/README.md for the full CLI reference, plugin.json manifest format, and development guide.
| Scenario | Instance Type | RAM | Notes |
|---|---|---|---|
| Bare minimum (MMGIS only, DB on RDS, no adjacent servers) | t3.small | 2 GB | Slightly risky depending on usage. Set NODE_OPTIONS=--max-old-space-size=1024 and add swap space. |
| Minimum viable (MMGIS only, DB on RDS, no adjacent servers) | t3.medium | 4 GB | Decent and workable. |
| Recommended production (MMGIS only) | t3.large | 8 GB | Comfortable headroom for large uploads, concurrent users, local database, and growth. |
| With adjacent servers (STAC, TiTiler, TiPG, etc.) | t3.xlarge+ | 16+ GB | The docker-compose sample allocates 8-12GB just for TiTiler services alone. |
Copyright (c) 2026, California Institute of Technology ("Caltech"). U.S. Government sponsorship acknowledged.
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Dr. Fred J. Calef III - [email protected]
Tariq K. Soliman - [email protected]
Or join us on Slack