{"id":20779269,"url":"https://github.com/bolt/project","last_synced_at":"2025-04-06T13:08:58.640Z","repository":{"id":34244090,"uuid":"168719090","full_name":"bolt/project","owner":"bolt","description":"🚀 Repo to `composer create project` a Bolt 5 project.","archived":false,"fork":false,"pushed_at":"2025-03-17T21:04:27.000Z","size":4276,"stargazers_count":42,"open_issues_count":16,"forks_count":37,"subscribers_count":14,"default_branch":"master","last_synced_at":"2025-03-30T12:06:34.434Z","etag":null,"topics":["composer","composer-project","hacktoberfest","php","symfony"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"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/bolt.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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},"funding":{"github":"bobdenotter"}},"created_at":"2019-02-01T15:36:12.000Z","updated_at":"2025-03-11T12:18:54.000Z","dependencies_parsed_at":"2023-12-22T10:58:13.570Z","dependency_job_id":null,"html_url":"https://github.com/bolt/project","commit_stats":{"total_commits":366,"total_committers":15,"mean_commits":24.4,"dds":"0.11748633879781423","last_synced_commit":"b05c8e750f733c126bd0cbddf7c52e3ccd61b9d1"},"previous_names":[],"tags_count":193,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bolt%2Fproject","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bolt%2Fproject/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bolt%2Fproject/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bolt%2Fproject/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bolt","download_url":"https://codeload.github.com/bolt/project/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247485287,"owners_count":20946398,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["composer","composer-project","hacktoberfest","php","symfony"],"created_at":"2024-11-17T13:26:59.160Z","updated_at":"2025-04-06T13:08:58.613Z","avatar_url":"https://github.com/bolt.png","language":"PHP","funding_links":["https://github.com/sponsors/bobdenotter"],"categories":[],"sub_categories":[],"readme":"Bolt 5 standard project skeleton\n================================\n\nBolt CMS is an open source, adaptable platform for building and running modern websites. Built on PHP, Symfony and more. [Read the site](https://boltcms.io) for more info. \n\n**To check out Bolt and set up your first Bolt installation, read [Installing Bolt 5][installation].** \n\n---\n\n## Installing Bolt CMS\n\n### with Composer\n\n**Note**: Installing with composer and running the site on your local machine using the method described below is the preferred method of the Bolt core development team.\n\nYou can set up a new Bolt 5 project, using the following command, replacing `myprojectname` with your desired project's name.\n\n```bash\ncomposer create-project bolt/project myprojectname\n```\n\nNavigate into the newly created folder, and configure the database in `.env` (The configuration is intended to work with the database SQLite).\n\n```dotenv\n# Configure database for doctrine/doctrine-bundle\n# SQLite (note: _three_ slashes)\nDATABASE_URL=sqlite:///%kernel.project_dir%/var/data/bolt.sqlite\n\n# MYSQL / MariaDB\n#DATABASE_URL=mysql://db_user:\"db_password\"@127.0.0.1:3306/db_name?serverVersion=5.7\n\n# Postgres\n#DATABASE_URL=postgresql://db_user:\"db_password\"@127.0.0.1:5432/db_name?serverVersion=11\u0026charset=utf8\n```\n\nSet up the database, create the first user and add fixtures (dummy content):\n\n```bash\nbin/console doctrine:database:create # Create database\nbin/console doctrine:schema:create # Create schema in database\n\nbin/console doctrine:fixtures:load --no-interaction # Load fixtures in databse (step not compulsory)\nbin/console bolt:add-user --admin # Follow the creation steps in the console (warning: fixtures already created an admin user)\n\ncomposer run post-create-project-cmd # Duplicate themes in the appropriate folder\n\nbin/console bolt:info # Verify Bolt installation\n```\n\nRun Bolt using Symfony CLI or your own preferred webserver:\n\n```bash\nsymfony server:start -d\nsymfony open:local\n```\n\nFinally, open the new installation in a browser. If you've used one of the commands above, you'll find the frontpage at http://127.0.0.1:8000/ \\\nThe Bolt admin panel can be found at http://127.0.0.1:8000/bolt\n\nLog in using the credentials you created when setting up the first user.\n\n\u003e Note: If you don't want to use Docker, don't forget to remove what isn't necessary: \\\n    - remove `.dockerignore` file \\\n    - remove `docker-composer.yml` file \\\n    - remove `Dockerfile` file \\\n    - remove `docker` folder\n\n### with Docker\n\n**Disclaimer**: Docker is not used by the Bolt core development team. Bolt _can_ be run using docker, but you are advised to only attempt this if you have enough experience with Docker yourself to understand what is going on in the `Dockerfile` and in `docker-compose.yml`. The included setup might not be a good fit for _your_ Dockerized setup. When in doubt, follow general advice on running Symfony projects in docker, as Bolt is built using Symfony. The Bolt team doesn't provide pre-built containers.\n\nStart by [downloading the Bolt project distribution `.tar.gz` file](https://github.com/bolt/project/releases/latest), or [generate a GitHub repository from the template we provide](https://github.com/bolt/project/generate).\nOnce you have extracted its content, the resulting directory contains the Bolt project structure. You will add your own code and configuration inside it.\n\n**Note**: Try to avoid using the `.zip` file, as it may cause potential permission issues.\n\nBolt is shipped with a [Docker](https://docker.com) setup that makes it easy to get a containerized development environment up and running. If you do not already have Docker on your computer, it's the right time to [install it](https://docs.docker.com/get-docker/).\n\nOn Mac, only [Docker for Mac](https://docs.docker.com/docker-for-mac/) is supported.\nSimilarly, on Windows, only [Docker for Windows](https://docs.docker.com/docker-for-windows/) is supported. Docker Machine **is not** supported out of the box.\n\nOpen a terminal, and navigate to the directory containing your project skeleton.\n\nNavigate into the newly created folder, and configure environment variables in the `.env` file for Docker \u0026 the database MySQL version 5.7.\n\n```dotenv\n###\u003e symfony/framework-bundle ###\nAPP_ENV=dev\nAPP_DEBUG=1\nAPP_SECRET=!ChangeMe!\nTRUSTED_PROXIES=127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16\nTRUSTED_HOSTS='^(localhost|nginx)$'\n###\u003c symfony/framework-bundle ###\n\n###\u003e doctrine/doctrine-bundle ###\nDATABASE_URL=mysql://bolt:!ChangeMe!@db:3306/bolt?serverVersion=5.7\n###\u003c doctrine/doctrine-bundle ###\n\n###\u003e symfony/mailer ###\nMAILER_DSN=smtp://mailcatcher:1025\n###\u003c symfony/mailer ###\n```\n\nRun the following command to start all services using [Docker Compose](https://docs.docker.com/compose/):\n\n```bash\ndocker-compose up -d # Running in detached mode\ndocker-compose exec php bin/console doctrine:schema:create # Create schema in database\ndocker-compose exec php bin/console doctrine:fixtures:load --no-interaction # Load fixtures in databse (step not compulsory)\ndocker-compose exec php bin/console bolt:add-user --admin # Follow the creation steps in the console (warning: fixtures already created an admin user)\n```\n\nThis starts the following services:\n\n| Name        | Description                                                                | Port(s)            | Environment(s)                                   |\n|-------------|----------------------------------------------------------------------------|--------------------|--------------------------------------------------|\n| db          | A MySQL 5.7 database server                                                | 3306               | all (prefer using a managed service in prod)     |\n| php         | The Bolt project with PHP, PHP-FPM 7.4, Composer and sensitive configs     | n/a                | all                                              |\n| nginx       | The HTTP server for the Bolt project (NGINX)                               | 8080               | all                                              |\n| h2-proxy    | A HTTP/2 and HTTPS development proxy for all apps                          | 8443               | dev (configure properly your web server in prod) |\n| mailcatcher | MailCatcher runs a super simple SMTP server delivered with a web interface | 1025 for smtp port\u003cbr/\u003e1080 for interface    | only for dev           |\n\n\u003cdetails\u003e\n  \u003csummary\u003eTo see the status of the containers, run:\u003c/summary\u003e\n\n  ```bash\n  docker-compose ps\n  ```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eTo execute commands in a container, run:\u003c/summary\u003e\n\n  ```bash\n  docker-compose exec \u003ccontainer name\u003e \u003ccommand\u003e\n  docker-compose exec php sh # To enter the container directly, you will be placed at the root of the project\n  docker-compose exec php bin/console bolt:add-user # Follow the creation steps in the console (warning: fixtures already created an admin user)\n  ```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eTo see the container's logs, run:\u003c/summary\u003e\n\n  ```bash\n  docker-compose logs        # Display the logs of all containers\n  docker-compose logs -f     # Same but follow the logs\n  docker-compose logs -f php # Follow the logs for one container\n  ```\n\u003c/details\u003e\n\nFinally, open the new installation in a browser. If you've used one of the commands above, you'll find the frontpage at http://localhost:8080/ or https://localhost:8443/ \\\nThe Bolt admin panel can be found at http://localhost:8080/bolt or https://localhost:8443/bolt\n\n## The tests\n\n### Static analysis\n- [**ECS - Easy Coding Standard**](https://github.com/symplify/easy-coding-standard)\n\n[The `ecs.php` configuration file is located at the root of the cms project](./ecs.php)\n\n```bash\n# With Composer\ncomposer lint                         # Launch ECS in dry run mode (command to launch in a Continuous Integration)\ncomposer lint:fix                     # Launch ECS in fix mode\n\n# With Docker\ndocker-compose exec php composer lint # Launch ECS by the php container\n```\n\n- [**PHPStan - PHP Static Analysis Tool**](https://github.com/phpstan/phpstan)\n\n[The `phpstan.neon` configuration file is located at the root of the cms project](./phpstan.neon)\n\n```bash\n# With Composer\ncomposer phpstan                         # Launch PHPStan (command to launch in a Continuous Integration)\n\n# With Docker\ndocker-compose exec php composer phpstan # Launch PHPStan by the php container\n```\n\n## Contributing\n\nIf you'd like to contribute, please check [Bolt's core repository](https://github.com/bolt/core/blob/master/CONTRIBUTING.md) \nand read the [\"Contributing to Bolt\"](https://docs.bolt.cm/4.0/other/contributing) documentation page.\n\n[installation]: https://docs.bolt.cm/installation\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbolt%2Fproject","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbolt%2Fproject","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbolt%2Fproject/lists"}