{"id":46845637,"url":"https://github.com/mapbender/mapbender-starter","last_synced_at":"2026-03-10T14:34:50.740Z","repository":{"id":982336,"uuid":"2248339","full_name":"mapbender/mapbender-starter","owner":"mapbender","description":"Mapbender geoportal framework. Start here for building Mapbender yourself.","archived":false,"fork":false,"pushed_at":"2026-02-16T20:36:11.000Z","size":17303,"stargazers_count":62,"open_issues_count":3,"forks_count":24,"subscribers_count":24,"default_branch":"master","last_synced_at":"2026-02-16T21:40:06.419Z","etag":null,"topics":["framework","geo","geoportal","geospatial","german","gis","mapbender","web-client"],"latest_commit_sha":null,"homepage":"http://www.mapbender.org","language":"PHP","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mapbender.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2011-08-22T12:41:46.000Z","updated_at":"2026-02-02T10:44:27.000Z","dependencies_parsed_at":"2023-02-17T11:01:05.932Z","dependency_job_id":"f385161e-426e-4f9e-967c-72d6b23e249b","html_url":"https://github.com/mapbender/mapbender-starter","commit_stats":null,"previous_names":[],"tags_count":108,"template":false,"template_full_name":null,"purl":"pkg:github/mapbender/mapbender-starter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mapbender%2Fmapbender-starter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mapbender%2Fmapbender-starter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mapbender%2Fmapbender-starter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mapbender%2Fmapbender-starter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mapbender","download_url":"https://codeload.github.com/mapbender/mapbender-starter/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mapbender%2Fmapbender-starter/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30337309,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-10T12:41:07.687Z","status":"ssl_error","status_checked_at":"2026-03-10T12:41:06.728Z","response_time":106,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["framework","geo","geoportal","geospatial","german","gis","mapbender","web-client"],"created_at":"2026-03-10T14:34:49.905Z","updated_at":"2026-03-10T14:34:50.732Z","avatar_url":"https://github.com/mapbender.png","language":"PHP","readme":"![Mapbender](application/public/image/Mapbender-logo.png)\n\nMapbender is a web based geoportal framework.\n\n[Official site](https://mapbender.org/?q=en) | [Live demo](https://demo.mapbender.org/) | [News on Fosstodon](https://fosstodon.org/@mapbender)\n\n[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.5887014.svg)](https://doi.org/10.5281/zenodo.5887014)\n![Packagist License](https://img.shields.io/packagist/l/mapbender/mapbender)\n![Packagist Downloads Total](https://img.shields.io/packagist/dt/mapbender%2Fmapbender.svg)\n![Packagist Downloads Monthly](https://img.shields.io/packagist/dm/mapbender%2Fmapbender.svg)\n\n\nFor detailed usage information, including installation and integration topics, please see [official documentation](https://doc.mapbender.org/en/) ([also available in German](https://doc.mapbender.org/de/)).\n\n\n## Requirements\n\nMapbender requires PHP 8.1 up to 8.4, OpenSSL, curl, bzip2 decompression and the following php extensions:\n* zip\n* curl\n* gd\n* intl\n* mbstring\n* bz2\n* xml\n* sqlite3\n* sodium\n* ldap (if ldap extension is used)\n\n:warning: The composer lock file is compatible with PHP 8.2 through PHP 8.4. When using PHP 8.1, make sure\nto execute `bin/composer update` to ensure compatibility.\n\n:warning: If you use Vector Tiles, you also need to have NodeJS and puppeteer installed globally.\n\nYou may have to install and enable further extensions at your own discretion if you\nwant to use specific database systems.\n\nWe also recommend installing an sqlite client so you can inspect the (default) sqlite\ndatabase.\n\nE.g.\n\n### Ubuntu / Debian\n\n```sh\nsudo apt-get install php php-cli openssl bzip2 \\\n    php-curl php-gd php-intl php-mbstring \\\n    php-zip php-bz2 php-xml \\\n    php-sqlite3 php-pgsql php-mysql php-ldap \\\n    sqlite3 curl\n    \n# for vector tiles print, for node js installation see https://nodejs.org/en/download\n# installation should be done as the web server user\nnpm install -g puppeteer\npuppeteer browsers install\n```\n\n## System configuration\nSome portions of Mapbender require correctly configured, writable PHP temporary directories\n`sys_temp_dir` and `upload_tmp_dir`.\n\nYour system most likely has separate php.ini files for cli and web server SAPIs such as mod_php, php-fpm, fcgi etc.\nMake sure to make changes in _all_ php.ini files relevant to your installation.\n\n## Getting the code\n\nGit clone mapbender-starter via https or ssh (requires configured git credentials) at your preference:\n```sh\ngit clone https://github.com/mapbender/mapbender-starter.git mapbender-starter\n```\n\nor\n\n```sh\ngit clone git@github.com:mapbender/mapbender-starter.git mapbender-starter\n```\n\n## Bootstrapping\nSwitch to project directory and run ./bootstrap\n```sh\ncd mapbender-starter\n./bootstrap\n```\n\nThe bootstrap command performs the following required setup tasks for you:\n* installs userland dependencies (via composer)\n* creates a parameters.yaml by copying the bundled parameters.yml.dist\n* creates a .env.local file by copying the bundled .env.local.dist\n* performs the necessary database setup (as an sqlite file in `application/var/db/demo.sqlite`)\n* creates a root account with a default password `root` (which you should change later)\n\nThe full setup processes is only needed once. If you invoke it again, nothing of consequence will happen.\n\n## Built-in server\nYou can test your freshly bootstrapped Mapbender installation using symfony's development server.\nThis is not production quality, and has some known issues processing external requests (such as\nin printing), but it allows some quick testing before you set up a production-grade web server.\n\nTo run the server you need to install the [Symfony CLI](https://symfony.com/download) first.\n\nThen, the server is started like this:\n```sh\ncd application\nsymfony server:start --no-tls\n```\n\nThe URL is shown in the output:\n```sh\n [OK] Web server listening                                                                                              \n      The Web server is using PHP CLI 8.2.10                                                                            \n      http://127.0.0.1:8001      \n```\n\n## Environments\nTwo environments are available:\n\n- `dev` shows full error messages including stack traces in the browser and enables the symfony debug console and profiler. \n  Also, caching is disabled.\n- `prod` enables caching and shows only generic error messages. Error messages are written to logfiles.\n\nThe environment can be set via the APP_ENV environment variable. The default is `dev`. Make sure to change this when deploying\nyour application in the internet. The value can be changed in several ways:\n\n- by editing `APP_ENV` in the `.env` file\n- by overriding the value in a `.env.local` file\n- by explicitly setting it when starting the local webserver: `APP_ENV=prod symfony server:start --no-tls`\n- by setting an environment variable in your Apache2 vHost configuration: `SetEnv APP_ENV prod`\n\nThe `index_dev.php` file allows direct access to the dev environment. It can only be accessed from local \nip addresses by default for security reasons.\n\n## Changing root account password\nFrom the application directory run:\n```sh\nbin/console fom:user:resetroot\n```\n\n## Docker\n\nRun this command to start a local Mapbender instance in a docker container using an internal SQLite database.\n\n```bash\ndocker run -p 80:8080 mapbender/mapbender\n```\n\nIf you want Mapbender to stay up and running in background add the `-d` option.\n\n### Port 8080\n\nThe container is accepting HTTP requests on port `8080` by default.\n\n### Env variables\n\nYou can use environment variables to adjust the configuration of the Mapbender docker container.\n\n- `APP_ENV` Symfony app environment. (`prod`, `dev`, `test`)\n- `MAILER_DSN` Smtp server configuration. (`smtp://user:pass@smtp.example.com:25`)\n- `MAPBENDER_DATABASE_URL` configure Mapbender to connect to another database as shown in the upcoming example. (find examples at [https://symfony.com/doc/current/doctrine.html#configuring-the-database](https://symfony.com/doc/current/doctrine.html#configuring-the-database))\n- `API_UPLOAD_DIR` Path for API file uploads. (default: `/var/mapbender/application/uploads/`)\n\n### external database \n\nTo run a Mapbender docker container configured to use an external database use the `MAPBENDER_DATABASE_URL` environment variable.\n\n1.  Create the docker network\n\n    `docker network create -d bridge mapbender`\n\n2.  Start the PostGIS database\n\n    `docker run --name db --network mapbender -p 55432:5432 -e POSTGRES_USER=pguser -e POSTGRES_PASSWORD=pgpass -e POSTGRES_DB=postgres postgis/postgis:14-3.4`\n\n3.  Start Mapbender\n\n    `docker run --name mapbender --network mapbender -p 80:8080 -e MAPBENDER_DATABASE_URL=\"pgsql://pguser:pgpass@db:5432/postgres\" mapbender/mapbender`\n\n4.  Create Mapbender database schema\n\n    `docker exec mapbender php application/bin/console doctrine:schema:create`\n\n5.  Initialize Mapbender database\n\n    `docker exec mapbender php application/bin/console mapbender:database:init -v`\n\n### docker/docker-compose.pgsql.yml\n\nIf the Mapbender container is configured to connect to an external database that does not have the required schema yet, the schema must be created first. Start our demo setup using the following command to start a Mapbender instance connected to an empty PostgreSQL database:\n\n```bash\ndocker compose -f docker-compose.pgsql.yml up -d\n```\n\nYou can initialize the database after the Mapbender container has started.\n\n```bash\ndocker compose -f docker-compose.pgsql.yml exec mapbender php application/bin/console doctrine:schema:update --force\n```\n\nAnd after that initialize the Mapbender database.\n\n```bash\ndocker compose -f docker-compose.pgsql.yml exec mapbender php application/bin/console mapbender:database:init -v\n```\n\n## Issues\n\nPlease report issues [on Github](https://github.com/mapbender/mapbender/issues).\n\n\n## Other downloads\n\nPre-packaged archives bundling all code dependencies are available at our [download page](https://mapbender.org/en/download).\n\n## Other versions\n\n| Mapbender release line | PHP versions  | Bundled Symfony version | Bundled composer version |\n|------------------------|---------------|-------------------------|--------------------------|\n| 3.0.8 (end of life)    | \u003e=5.5, \u003c=7.2  | 2.8LTS (end of life)    | 1.6.x                    |\n| 3.2  (end of life)     | \\\u003e=7.1, \u003c=7.4 | 3.4LTS (end of life)    | 1.10.x                   |\n| 3.3   (end of life)    | \\\u003e=7.4        | 4.4LTS (end of life)    | 2.1.x                    |\n| 4.0                    | \\\u003e=8.1        | 6.4LTS                  | 2.6.x                    |\n| 4.1                    | \\\u003e=8.1        | 6.4LTS                  | 2.8.x                    |\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmapbender%2Fmapbender-starter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmapbender%2Fmapbender-starter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmapbender%2Fmapbender-starter/lists"}