Skip to content

pascal20997/docker-typo3

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TYPO3 docker container (TYPO3 7, TYPO3 8, TYPO3 9)

Container by crynton.com

Master git repository: https://git.crynton.com/docker/typo3

Contact: Create an issue ticket if you´ve a feature request, bug, and other with this container development related questions OR use https://crynton.com/contact.html for any other question :)

Settings

You can configure this docker container by using the following environment variables:

Variable name Description Default
TYPO3_VERSION The version which should be used for installing TYPO3 via composer ^9
SERVER_ADMIN E-Mail of the server admin (for apache) pleaseSetTheEnvironment@variable.tld
SURF_DOWNLOAD_URL Download-URL to be used for installing surf Download URL for surf 2.0.0-beta7
DOCUMENT_ROOT Document root folder /home/crynton/htdocs/public (create-project default)
INSTALL_TYPO3 Set to a different value then true to not install TYPO3 with first boot true
START_SSHD Set to a different value then true to not start openssh-server on boot true
REVERSE_PROXY_SETTINGS Enable settings for reverse proxy usage. This will fix wrong ip addresses in the apache log false 

Examples

Using TYPO3 with MariaDB

version: '3'
services:
  apache_t3-9:
    image: pascal20997/typo3:latest
    container_name: apache_t3-9
    restart: always
    ports:
      - 8080:80
    volumes:
      - htdocs:/home/crynton/htdocs
      - ssh:/root/.ssh
      - /etc/localtime:/etc/localtime:ro
    environment:
      SERVER_ADMIN: "mail@domain.tld"
    depends_on:
      - db_t3-9
  db_t3-9:
    image: mariadb:10
    volumes:
      - db_data:/var/lib/mysql
    environment:
      - "MYSQL_ROOT_PASSWORD=MySecretPassword"
      - "MYSQL_DATABASE=typo3"
      - "MYSQL_USER=typo3"
      - "MYSQL_PASSWORD=123456789"
volumes:
  htdocs:
  ssh:
  db_data:

Using TYPO3 with MariaDB and jwilder/nginx-proxy

version: '3'
services:
  apache_t3-9:
    image: pascal20997/typo3:latest
    container_name: apache_t3-9
    restart: always
    volumes:
      - htdocs:/home/crynton/htdocs
      - ssh:/root/.ssh
      - /etc/localtime:/etc/localtime:ro
    environment:
      DEFAULT_HOST: "domain.tld"
      VIRTUAL_HOST: "domain.tld"
      LETSENCRYPT_HOST: "domain.tld"
      LETSENCRYPT_EMAIL: "mail@domain.tld"
      SERVER_ADMIN: "mail@domain.tld"
      SSL_POLICY: "Mozilla-Modern"
    depends_on:
      - db_t3-9
    networks:
      - proxy-prod
  db_t3-9:
    image: mariadb:10
    volumes:
      - db_data:/var/lib/mysql
    environment:
      - "MYSQL_ROOT_PASSWORD=MySecretPassword"
      - "MYSQL_DATABASE=typo3"
      - "MYSQL_USER=typo3"
      - "MYSQL_PASSWORD=123456789"
    networks:
      - proxy-prod
volumes:
  htdocs:
  ssh:
  db_data:
networks:
  proxy-prod:
    external:
      name: nginx-proxy

Using TYPO3 with PostgreSQL

version: '3'
services:
  apache_t3-9:
    image: pascal20997/typo3:latest
    container_name: apache_t3-9
    restart: always
    ports:
      - 8080:80
    volumes:
      - htdocs:/home/crynton/htdocs
      - ssh:/root/.ssh
      - /etc/localtime:/etc/localtime:ro
    environment:
      SERVER_ADMIN: "mail@domain.tld"
    depends_on:
      - db_t3-9
  db_t3-9:
    image: postgres:latest
    volumes:
      - db_data:/var/lib/postgresql/data
    environment:
      - "POSTGRES_USER=typo3"
      - "POSTGRES_PASSWORD=MySecretPassword"
volumes:
  htdocs:
  ssh:
  db_data:

Using those examples on macOS

It may be slow but you can use it. In my test environment I had to remove the /etc/localtime mount from the example and replace the volumes with a local mount.

version: '3'
services:
  apache_t3-9:
    image: pascal20997/typo3:latest
    container_name: apache_t3-9
    restart: always
    ports:
      - 8080:80
    volumes:
      - ./data/htdocs:/home/crynton/htdocs
      - ./data/ssh:/root/.ssh
    environment:
      SERVER_ADMIN: "mail@domain.tld"
    depends_on:
      - db_t3-9
  db_t3-9:
    image: mariadb:10
    volumes:
      - ./data/db:/var/lib/mysql
    environment:
      - "MYSQL_ROOT_PASSWORD=MySecretPassword"
      - "MYSQL_DATABASE=typo3"
      - "MYSQL_USER=typo3"
      - "MYSQL_PASSWORD=123456789"

FAQ

What is the hostname for MySQL?

The hostname is the name of your container. In my examples it´s db_t3. You should use that hostname while installing TYPO3.

Is this container working with TYPO3 lower 7.6?

Not official. You can try using older versions than TYPO3 7.6 but I´ll not support those versions officially.