How to install all the T3O websites using Docker

Installation

Mac OS X

  1. Download Docker for Mac
  2. Run the installer

Requirements to join T3O development using Docker

  • Make sure Docker is working.
  • Provide an SSL connection and a DNS. Use the nginx proxy to achieve this.
  • Use the main docker environment (named “ter-docker-minimal”) of T3O GitLab.
  • Log in to GitLab with your TYPO3 credentials.
  • Make sure you have access the the T3O repositories at Gitlab. Ask a project administrator for admission.
  • Set ~/.composer/ as Composer home directory. Set the environment variable to do so: export COMPOSER_HOME="~/.composer/".

Step by step: Basic Installation using Docker

  1. Go to a local folder where you want to setup things, for example ~/Docker/.

  2. Clone the Nginx-Proxy:

    git clone https://github.com/torvitas/docker-nginx-proxy-configuration.git nginx-proxy
    
  3. Start the Nginx-Proxy.

  4. Clone the docker environment:

    git clone https://[your typo3.org username]@git-t3o.typo3.org/t3o/ter-docker-minimal.git main-t3o
    
  5. Change directory:

    cd main-t3o
    
  6. Catch up with the current development status:

    make submodules-develop
    
  7. Set up the docker container and the TYPO3 instances:

    `make init up`
    

    (thx @helhum for TYPO3 console)

At this point the basic installation should be up up and running.

Subsequent works

If you don’t get a website connection, you need to add all websites to your /etc/hosts file:

127.0.0.1  t3o-typo3.dev.localhost
127.0.0.1  ter-typo3.dev.localhost
127.0.0.1  my-typo3.dev.localhost
127.0.0.1  solr-typo3.dev.localhost

Important make commands

make up
Starts all docker containers or recreates them after changes in docker-compose.yml
make stop
Stops all docker containers
make down
Destroys all DB data by removing the containers
make clear-cache-[t3o|ter]
Clears the cache by using TYPO3 console
make update-system-[t3o|ter]
Runs the commands composer install, install:generatepackagestates 0 1, database:updateschema and cache:clear --force

Tips

  • Study Makefile in the root directory to learn about many useful commands.
  • You can run composer directly on your machine - but that may be an issue. Instead, run composer directly in the Docker container.

Questions

Which branches are used for what?
The docker repository should always use the master branch. T3O and TER use develop branch for main development. Check Gitlab Workflows for more information.
How do I update the system after pulling new changes?
You can use the commands make update-system-t3o and make update-system-ter to do composer install, generate package states file, update database and clear caches.