{"id":13470523,"url":"https://github.com/PrestaShop/docker","last_synced_at":"2025-03-26T11:32:17.942Z","repository":{"id":34318964,"uuid":"38237001","full_name":"PrestaShop/docker","owner":"PrestaShop","description":"🐳","archived":false,"fork":false,"pushed_at":"2025-02-28T14:19:16.000Z","size":1115,"stargazers_count":267,"open_issues_count":39,"forks_count":183,"subscribers_count":42,"default_branch":"master","last_synced_at":"2025-03-05T04:35:14.009Z","etag":null,"topics":["docker","hacktoberfest","php","prestashop"],"latest_commit_sha":null,"homepage":"https://hub.docker.com/r/prestashop/prestashop/","language":"Dockerfile","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/PrestaShop.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}},"created_at":"2015-06-29T08:40:57.000Z","updated_at":"2025-03-03T13:31:30.000Z","dependencies_parsed_at":"2023-01-15T06:30:57.704Z","dependency_job_id":"a17ce334-2bda-4c91-9091-046669b7fcb0","html_url":"https://github.com/PrestaShop/docker","commit_stats":{"total_commits":454,"total_committers":47,"mean_commits":9.659574468085106,"dds":0.5506607929515419,"last_synced_commit":"a203cda50ee6f6035af910aa8c35a477bb5d6579"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PrestaShop%2Fdocker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PrestaShop%2Fdocker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PrestaShop%2Fdocker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PrestaShop%2Fdocker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PrestaShop","download_url":"https://codeload.github.com/PrestaShop/docker/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245366140,"owners_count":20603436,"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":["docker","hacktoberfest","php","prestashop"],"created_at":"2024-07-31T16:00:31.597Z","updated_at":"2025-03-26T11:32:17.935Z","avatar_url":"https://github.com/PrestaShop.png","language":"Dockerfile","funding_links":[],"categories":["Dockerfile"],"sub_categories":[],"readme":"# PrestaShop on Docker\n\n![Tests](https://github.com/PrestaShop/docker/workflows/Run%20tests/badge.svg)\n![Codestyle](https://github.com/PrestaShop/docker/workflows/Run%20Flake8/badge.svg)\n\n## Supported tags\n\n### Images by PrestaShop version\n* `8`, `latest`, `8-apache`\n* `8-fpm`\n* `nightly` (Latest but unstable release from git)\n\nYou can use tags for this. For example:\n```bash\ndocker run -ti --name my-docker-name -e PS_DEV_MODE=false -e PS_INSTALL_AUTO=0 -p 8080:80 -d prestashop/prestashop:8.0\n```\n\n## What is PrestaShop\n\nPrestaShop is a free and open-source e-commerce web application, committed to providing the best shopping cart experience for both merchants and customers. It is written in PHP, is highly customizable, supports all the major payment services, is translated in many languages and localized for many countries, has a fully responsive design (both front and back office), etc. See all the available features.\n\n\u003e [www.prestashop-project.org](https://www.prestashop-project.org/)\n\n![PrestaShop's back office dashboard](https://user-images.githubusercontent.com/1009343/61462749-8fb19f00-a949-11e9-801f-70ab0a84192d.png \"PrestaShop's back office dashboard\")\n\n## How to run these images\n\nThese images are running with the latest version in the [official PHP repository](https://registry.hub.docker.com/_/php/).\nFor the database, you can use and link any SQL server related to MySQL. \n\nCurrently if you do not have any MySQL server, the most simple way to run this container is:\n\n```bash\n# create a network for containers to communicate\ndocker network create prestashop-net\n# launch mysql 5.7 container\ndocker run -ti --name some-mysql --network prestashop-net -e MYSQL_ROOT_PASSWORD=admin -p 3307:3306 -d mysql:5.7\n# launch prestashop container\ndocker run -ti --name some-prestashop --network prestashop-net -e DB_SERVER=some-mysql -p 8080:80 -d prestashop/prestashop:latest\n```\n\nA new shop will be built, ready to be installed.\n\nYou can then use the shop by reaching [http://localhost:8080](http://localhost:8080).\n\nThe MySQL server can be reached:\n- from the host using port 3307 (example: `$ mysql -uroot -padmin -h localhost --port 3307`)\n- from a container in the network using the URL `some-mysql`.\n\nFor example, when you reach the \"database configuration\" install step, the installer will ask for the \"server database address\": input `some-mysql`.\n\n\u003chr\u003e\n\nHowever, if you want to customize the container execution, here are many available options:\n\n| Environment variable  | Description | Default value |\n|---|---|---|\n| PS_DEV_MODE | The constant _PS_MODE_DEV_ will be set at true | `0` |\n| PS_HOST_MODE | The constant _PS_HOST_MODE_ will be set at true. Useful to simulate a PrestaShop Cloud environment. | `0` |\n| PS_DEMO_MODE | The constant _PS_DEMO_MODE_ will be set at true. Use it to create a demonstration shop. | `0` |\n| DB_SERVER | If set, the external MySQL database will be used instead of the volatile internal one | `localhost` |\n| DB_USER | Override default MySQL user | `root` |\n| DB_PASSWD | Override default MySQL password | `admin` |\n| DB_PREFIX | Override default tables prefix | `ps_` |\n| DB_NAME | Override default database name | `prestashop` |\n| PS_INSTALL_AUTO | The installation will be executed. Useful to initialize your image faster. In some configurations, you may need to set PS_DOMAIN or PS_HANDLE_DYNAMIC_DOMAIN as well. (Please note that PrestaShop can be installed automatically from PS 1.5) | `0` |\n| PS_ERASE_DB | Drop the mysql database. All previous mysql data will be lost | `0` |\n| PS_INSTALL_DB | Create the mysql database. | `0` |\n| PS_DOMAIN | When installing automatically your shop, you can tell the shop how it will be reached. For advanced users only | |\n| PS_LANGUAGE | Change the default language installed with PrestaShop | `en` |\n| PS_COUNTRY | Change the default country installed with PrestaShop | `GB` |\n| PS_ALL_LANGUAGES | Install all the existing languages for the current version. | `0` |\n| PS_FOLDER_ADMIN | Change the name of the admin folder | `admin` |\n| PS_FOLDER_INSTALL | Change the name of the install folder | `install` |\n| PS_ENABLE_SSL | Enable SSL at PrestaShop installation. | `0` |\n| ADMIN_MAIL | Override default admin email | `demo@prestashop.com` |\n| ADMIN_PASSWD | Override default admin password | `prestashop_demo` |\n\nIf your IP / port (or domain) change between two executions of your container, you will need to modify this option:\n\n| Environment variable  | Description | Default value |\n|---|---|---|\n| PS_HANDLE_DYNAMIC_DOMAIN | Add specific configuration to handle dynamic domain | `0` |\n\n## Documentation\n\nThe user documentation (in English by default) is available [here](https://docs.prestashop-project.org/).\n\nThe developer documentation (English only) can be found [here](https://devdocs.prestashop-project.org/).\n\n## Troubleshooting\n\n#### Prestashop cannot be reached from the host browser\n\nWhen using Docker for Mac or Docker for Windows (throught WSL), Prestashop cannot be reached from the host browser (gets redirected to \"dockeripaddress:8080\")\n\nDocker for Mac has an issue with bridging networking and consequently cannot reach the container on its internal IP address. After installation, the browser on the host machine will be redirected from `http://localhost:8080` to `http://\u003cinternal_prestashop_container_ip\u003e:8080` which fails.\n\nYou need to set the `PS_DOMAIN` variable to `localhost:8080` for it to work correctly when browsing from the host computer. The command looks something like this:\n```bash\ndocker run -ti --name some-prestashop --network prestashop-net -e DB_SERVER=some-mysql -e PS_DOMAIN=localhost:8080 -p 8080:80 -d prestashop/prestashop\n```\n\n#### Cannot connect to mysql from host - authentication plugin cannot be loaded\n\n```\nERROR 2059 (HY000): Authentication plugin 'caching_sha2_password' cannot be loaded: ...\n```\n\nIf your `mysql` image uses MySQL 8, the authentication plugin changed from `mysql_native_password` to `caching_sha2_password`. You can bypass this by forcing the old authentication plugin: \n\n```bash\ndocker run -ti -p 3307:3306 --network prestashop-net --name some-mysql -e MYSQL_ROOT_PASSWORD=admin -d mysql --default-authentication-plugin=mysql_native_password\n```\n\n#### Cannot connect to mysql from host - cannot use socket\n\n```\nERROR 1045 (28000): Access denied for user '...'@'...' (using password: YES)\n```\n\nFor some usecases, you might need to force using TCP instead of sockets:\n\n```bash\nmysql -u root -padmin -h localhost --port 3307 --protocol=tcp\n```\n\n#### During the installation, prestashop cannot connect to mysql - bad charset\n\n```\nServer sent charset (255) unknown to the client. Please, report to the developers\n```\n\nMySQL 8 changed the default charset to utfmb4. But some clients do not know this charset. This requires to modify the mysql configuration file.\n\nIf you are using a `mysql` container, you need to :\n- modify mysql configuration file `/etc/mysql/my/cnf` and add:\n```\n[client]\ndefault-character-set=utf8\n\n[mysql]\ndefault-character-set=utf8\n\n\n[mysqld]\ncollation-server = utf8_unicode_ci\ncharacter-set-server = utf8\n```\n- restart mysql container\n\n## How to use the builder script\n\nFor more information, read [HOW-TO-USE.md](https://github.com/PrestaShop/docker/blob/master/HOW-TO-USE.md) file\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FPrestaShop%2Fdocker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FPrestaShop%2Fdocker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FPrestaShop%2Fdocker/lists"}