Installation Using Docker for Linux¶
This guide covers building new projects based on Shopsys Platform. If you want to contribute to Shopsys Platform itself, you need to install the whole shopsys/shopsys monorepo. Take a look at the article about Monorepo for more information.
Requirements¶
- GIT
- PHP
- At least version 8.3 or higher
- Composer
- Docker
- It's necessary to perform post-installation steps, to be able to run docker commands as non-root user.
- Docker Compose
Steps¶
1. Create a new project from Shopsys Platform sources¶
composer create-project shopsys/project-base --no-install --keep-vcs --ignore-platform-reqs
cd project-base
Notes
- The
--no-install
option disables installation of the vendors - this will be done later in the Docker container - The
--keep-vcs
option initializes GIT repository in your project folder that is needed for diff commands of the application build and keeps the GIT history ofshopsys/project-base
- The
--ignore-platform-reqs
option ensures your local PHP setup is not verified (it is not needed, everything is installed in Docker later)
2. Installation¶
Now, you have two options:
Option 1¶
In the case you want to start demo of the application as fast as possible, you can simply execute the installation script and that is all:
./scripts/install.sh
After the script is finished with installing the application, you can skip all the other steps and see the last chapter of Application Setup Guide to get all the important information you might need right after the installation.
Option 2¶
If you want to know more about what is happening during installation, continue with the steps #2.1 - #2.4.
2.1 Create docker-compose.yml file¶
Create docker-compose.yml
from template docker-compose.yml.dist
.
cp docker/conf/docker-compose.yml.dist docker-compose.yml
2.2 Set the UID and GID to allow file access in mounted volumes¶
Because we want both the user in host machine (you) and user running php-fpm in the container to access shared files, we need to make sure that they both have the same UID and GID.
This can be achieved by build arguments www_data_uid
and www_data_gid
that should be set to the UID and GID as your own user in your docker-compose.yml
.
You can find out your UID by running id -u
and your GID by running id -g
.
2.3 Compose Docker container¶
docker compose up -d --build
Note
During the build of the docker containers there will be installed 3-rd party software as dependencies of Shopsys Platform by Dockerfile with licenses that are described in document Open Source License Acknowledgements and Third-Party Copyrights