2023-12-05 11:00:02 +01:00
|
|
|
version: '3.8'
|
2023-11-26 12:24:49 +01:00
|
|
|
|
|
|
|
networks:
|
|
|
|
default:
|
|
|
|
name: "${PROJECT_NAME}_typo3_db_net"
|
|
|
|
external: false
|
|
|
|
traefik:
|
|
|
|
name: "${TRAEFIK_NETWORK}"
|
|
|
|
external: true
|
|
|
|
|
|
|
|
services:
|
|
|
|
typo3:
|
|
|
|
container_name: "${PROJECT_NAME}_typo3"
|
|
|
|
hostname: "${PROJECT_URL}"
|
2023-12-01 18:10:35 +01:00
|
|
|
image: "altogether/typo3:12.4.8-apache"
|
2023-11-29 14:22:58 +01:00
|
|
|
user: "1000"
|
2023-11-26 12:24:49 +01:00
|
|
|
networks:
|
|
|
|
- "traefik"
|
2023-11-28 20:59:53 +01:00
|
|
|
- "default"
|
2023-11-26 12:24:49 +01:00
|
|
|
volumes:
|
|
|
|
- "${PROJECT_DATA}/${PROJECT_NAME}-typo3/fileadmin:/var/www/html/fileadmin"
|
|
|
|
- "${PROJECT_DATA}/${PROJECT_NAME}-typo3/uploads:/var/www/html/uploads"
|
|
|
|
- "${PROJECT_DATA}/${PROJECT_NAME}-typo3/protected:/var/www/protected"
|
2023-11-28 20:59:53 +01:00
|
|
|
- "${PROJECT_DATA}/${PROJECT_NAME}-typo3/typo3conf:/var/www/html/typo3conf"
|
|
|
|
- "./apache-conf/sites-enabled:/etc/apache2/sites-enabled"
|
2023-12-05 11:00:02 +01:00
|
|
|
- "./apache-conf/.htaccess:/var/www/html/.htaccess"
|
2023-11-26 12:24:49 +01:00
|
|
|
- "./php-conf/php.ini:/usr/local/etc/php/php.ini:ro"
|
2023-11-29 12:13:26 +01:00
|
|
|
## use for the first install
|
2023-12-05 11:00:02 +01:00
|
|
|
#- "./LICENSE:/var/www/html/FIRST_INSTALL:ro"
|
2023-11-26 12:24:49 +01:00
|
|
|
- "/etc/timezone:/etc/timezone:ro"
|
|
|
|
- "/etc/localtime:/etc/localtime:ro"
|
|
|
|
depends_on:
|
|
|
|
- "db"
|
|
|
|
labels:
|
|
|
|
# Watchtower add to auto update
|
2023-11-30 12:07:06 +01:00
|
|
|
- "com.centurylinklabs.watchtower.enable=false"
|
2023-11-26 12:24:49 +01:00
|
|
|
# traefik
|
|
|
|
- "traefik.enable=true"
|
|
|
|
- "traefik.docker.network=${TRAEFIK_NETWORK}"
|
|
|
|
- "traefik.http.routers.${PROJECT_NAME}_typo3.rule=Host(`${PROJECT_URL}`)"
|
|
|
|
- "traefik.http.routers.${PROJECT_NAME}_typo3.entrypoints=websecure"
|
|
|
|
- "traefik.http.routers.${PROJECT_NAME}_typo3.tls=true"
|
2023-12-05 11:00:02 +01:00
|
|
|
- "traefik.http.services.${PROJECT_NAME}_typo3.loadbalancer.server.port=443"
|
|
|
|
# Use the special Traefik service api@internal with the web UI/Dashboard
|
|
|
|
# - traefik.http.routers.${PROJECT_NAME}_typo3.service=api@internal
|
|
|
|
# Use the "le" (Let's Encrypt) resolver created below
|
|
|
|
# - traefik.http.routers.${PROJECT_NAME}_typo3.tls.certresolver=le
|
2023-11-26 12:24:49 +01:00
|
|
|
db:
|
|
|
|
image: "mariadb:latest"
|
|
|
|
container_name: "${PROJECT_NAME}_typo3_db"
|
|
|
|
restart: "unless-stopped"
|
2023-11-28 20:59:53 +01:00
|
|
|
networks:
|
|
|
|
- "default"
|
2023-11-26 12:24:49 +01:00
|
|
|
command:
|
|
|
|
- "--character-set-server=utf8mb4"
|
|
|
|
- "--collation-server=utf8mb4_unicode_ci"
|
|
|
|
env_file: ".env"
|
|
|
|
volumes:
|
2023-11-29 14:22:58 +01:00
|
|
|
- "${PROJECT_DATA}/${PROJECT_NAME}-typo3/db:/var/lib/mysql"
|
2023-11-26 12:24:49 +01:00
|
|
|
labels:
|
|
|
|
# Watchtower add to auto update
|
|
|
|
- "com.centurylinklabs.watchtower.enable=true"
|
|
|
|
# traefik
|
2023-11-29 12:13:26 +01:00
|
|
|
- "traefik.enable=false"
|