This article lists all the possible ways of installing Shopsys Framework and provides links to corresponding articles in the documentation that contain step by step instructions. No matter which type of installation you choose, thanks to the detailed guides you will be able to start developing your project on Shopsys Framework in no time.
One of the ultimate goals of Shopsys Framework is good scalability. A long time ago, when we were discussing the future architecture of the framework, we figured that by making the application containerized we would open up the opportunity for lots of scaling possibilities, e.g., a containerized application is well suited for deployment and scaling in cloud solutions like Google Cloud, AWS or Azure. Moreover, when using containers, adding new technology to the application stack is much easier for developers. Even though most of us were Windows users at the time, we decided to make Docker on Linux our default development platform as it is the most natural environment for working with containers.
Local development
Linux & Docker Installation (The recommended way)
As mentioned in the introduction, using Docker on Linux is the recommended way of installing Shopsys Framework. In this environment, development is quick, easy, and straightforward.
For installation instructions, follow the article “Installation Using Docker for Linux” in our documentation.
MacOS & Docker Installation
If you are a MacOS user, you need one extra piece of technology, i.e. Docker-sync tool that enables fast synchronization of the application files between your machine and Docker container.
All installation steps are described in our documentation in the article “Installation Using Docker for MacOS”.
Windows & Docker Installation
For a long time, we were facing huge performance issues when trying to use Docker on Windows. However, after adopting a similar approach to the one we use on MacOS, i.e. leveraging the Docker-sync tool, it is now possible to develop Shopsys Framework projects using Docker on Windows as well. The minimum required Windows version is 10 Pro.
In the “Installation Using Docker for Windows 10 Pro and higher” article in our documentation, you will find all the necessary instructions that will guide you through the process.
Native Installation
Using Docker is really easy and brings lots of advantages to developers. However, if you do not want to use Docker for some reason, there is the possibility to install Shopsys Framework natively. This is the least recommended way as you need to set up each technology (PHP-FPM, Postgres, Elasticsearch, Redis, etc.) manually. Also, as the framework uses microservices, you need to install them separately and run them manually.
All the steps necessary for installing Shopsys Framework natively are described in “Native Installation” article in our documentation.
Continuous Integration and Production Server
Our ultimate goal for production server installation is a usage of Kubernetes for cloud deployment. So far, we have successfully started using Kubernetes for deployment of our application on a continuous integration server. All the configuration steps are described in the cookbook “Continuous Integration Using Kubernetes” in our documentation.
For those who may consider the Kubernetes solution too complex for their projects, our recommendation is to use simple Docker installation with all the data storages installed natively. This approach is described in detail in the article “Installation Using Docker on Production Server”.
Problems and troubleshooting
We are doing our best to provide you with the detailed installation instructions regardless of the solution you choose. Despite this, it is possible you may run into some issues during the installation. In such an event, do not hesitate to ask for help in the #installation channel in our Slack. Also, if you find a problem in any of the guides, we always appreciate our community reporting an issue or creating a pull request on our Github.
Conclusion
The most preferred solution for developing Shopsys Framework projects is using Docker. It provides the easiest way of running the application without the need for setting everything manually. Moreover, we are planning to add new technologies to the technology stack (e.g. RabbitMQ), and this is a really simple task with Docker.
Regarding an operating system, we recommend using Linux as this way you get the best developer experience and a maximum speed of the application on your localhost. However, you can easily use MacOS or Windows 10 Pro and higher as well.
Čtěte také