Files
dolibarr-docker/docker-compose.yml
2024-08-15 08:16:41 +02:00

88 lines
2.6 KiB
YAML

# This docker-compose.yml file is used to build and test quickly
# a specific version of Dolibarr
#
# Before build, define the variable DOLI_VERSION as following:
# $ export DOLI_VERSION=4.0.4
# And then, you can run :
# $ docker-compose up
#
# More information about Docker-compose : https://docs.docker.com/compose/
networks:
internal-pod:
internal: true
external-pod:
internal: false
secrets:
mysql-user:
file: ./examples/with-secrets/secrets/mysql_user.secret
mysql-password:
file: ./examples/with-secrets/secrets/mysql_password.secret
services:
mariadb:
image: mariadb:latest
secrets:
- mysql-user
- mysql-password
environment:
MYSQL_RANDOM_ROOT_PASSWORD: "1"
MYSQL_DATABASE: "dolibarr"
MYSQL_USER_FILE: "/run/secrets/mysql-user"
MYSQL_PASSWORD_FILE: "/run/secrets/mysql-password"
networks:
- internal-pod
cron:
build:
context: ./docker-compose-links/${DOLI_VERSION}${PHP_VERSION}
image: dolibarr/dolibarr:${DOLI_VERSION}${PHP_VERSION}
secrets:
- mysql-user
- mysql-password
environment:
DOLI_CRON: 1
DOLI_CRON_KEY: xxxx
DOLI_CRON_USER: administrator
DOLI_INSTANCE_UNIQUE_ID: xxxx
DOLI_DB_USER_FILE: /run/secrets/mysql-user
DOLI_DB_PASSWORD_FILE: /run/secrets/mysql-password
DOLI_ADMIN_LOGIN: administrator
DOLI_ADMIN_PASSWORD: admin456
DOLI_DB_HOST: mariadb
DOLI_DB_NAME: dolibarr
DOLI_URL_ROOT: http://0.0.0.0
WWW_USER_ID: 1000
WWW_GROUP_ID: 1000
networks:
- internal-pod
web:
build:
context: ./docker-compose-links/${DOLI_VERSION}${PHP_VERSION}
image: dolibarr/dolibarr:${DOLI_VERSION}${PHP_VERSION}
secrets:
- mysql-user
- mysql-password
volumes:
- ./.volumes/dolibarr/custom:/var/www/html/custom
depends_on:
- mariadb
environment:
DOLI_INSTANCE_UNIQUE_ID: xxxx
DOLI_DB_USER_FILE: "/run/secrets/mysql-user"
DOLI_DB_PASSWORD_FILE: "/run/secrets/mysql-password"
DOLI_ADMIN_LOGIN: "administrator"
DOLI_ADMIN_PASSWORD: "admin456"
DOLI_DB_HOST: mariadb
DOLI_DB_NAME: dolibarr
DOLI_URL_ROOT: 'http://0.0.0.0'
WWW_USER_ID: 1000
WWW_GROUP_ID: 1000
ports:
- "80:80"
networks:
- internal-pod
- external-pod