Setup local environment with Docksal

Docksal is a Docker-based tool for creating fully containerized environments for web-development.

Docksal project stacks are pre-loaded with common development tools, which include Composer, PHP Code Sniffer, php-cli, node, npm, ruby, bundler, and python. For PHP, Backdrop, Drupal and WordPress development it comes with Drush, Drupal Console and WP-CLI.

The specialized AltaGrade Developer Stack for Backdrop also comes with Brush (Backdrop Console), MailHog and phpMyAdmin installed by default.

Install Docksal

Read the system requirements and follow the instructions on https://docs.docksal.io/getting-started/setup to install Docksal.

If you are on a macOS, we recommend to choose Docker Desktop because of its easiness of use. Pay special attention that Docker Desktop v2.2.0.0+ versions introduced a regression that breaks Docksal, so please refrain from updating and stick with the version linked below.

1. Install Docker Desktop for Mac v2.1.0.3

Docker Desktop for Mac v2.1.0.3

2. Start Docker Desktop

Wait until it says “Docker is running” in the menu-bar icon menu.

3. Open Terminal app and run:

DOCKER_NATIVE=1 bash <(curl -fsSL https://get.docksal.io)

Install web-applications on Docksal

You can easily install PHP, GO or JS-based applications like:

1. Drupal 8
2. Drupal 8 (Composer Version)
3. Drupal 8 (BLT Version)
4. Drupal 7
5. Wordpress
6. Magento
7. Laravel
8. Symfony Skeleton
9. Symfony WebApp
10. Grav CMS
11. Backdrop CMS
12. Hugo
13. Gatsby JS
14. Angular
15. Static HTML site

by firing up the fin project create command and following the on-screen steps.

For Backdrop CMS we recommend to go with AltaGrade Developer Stack for Backdrop.

Install AltaGrade Developer Stack for Backdrop

On command line change the working directory to your Docksal's projects folder, for example cd ~/Projects, clone the repository and initiate the installation process:

git clone https://github.com/altagrade/altagrade-backdrop.git backdrop
cd backdrop
./init

When the installation is over, open http://backdrop.docksal in your browser.

In order to verify the setup on command line, please login to the container with fin bash command, switch the working directory with cd docroot and then run the brush status command to see:

[email protected]:/var/www/docroot$ brush status
 Backdrop version                 :  1.15.x-dev                                                             
 Site URI                         :  http://docroot                                                         
 Database driver                  :  mysql                                                                  
 Database hostname                :  db                                                                     
 Database username                :  user                                                                   
 Database name                    :  default                                                                
 Database                         :  Connected                                                              
 Backdrop bootstrap               :  Successful                                                             
 Backdrop user                    :  Anonymous                                                              
 Default theme                    :  Basis                                                                  
 Administration theme             :  Seven                                                                  
 PHP configuration                :  /usr/local/etc/php/php.ini                                             
 Brush script                     :  /usr/local/bin/php /var/www/brush/brush.php --php='/usr/local/bin/php' 
 Brush version                    :  1.x-1.1                                                                
 Brush alias files                :  /var/www/brush/includes/../mysite.aliases.brushrc.php                  
 Backdrop root                    :  /var/www/docroot                                                       
 Site path                        :  .                                                                      
 Modules path                     :  ./modules                                                              
 Themes path                      :  ./themes                                                               
 Files directory path             :  files                                                                  
 Temporary files directory path   :  /tmp                                                                   
 Private files directory path     :                                                                         
 Install profile                  :  standard 

To see what else you can do with brush run the brush help command.

You local website is up and ready for developing.