- Move & Rename repo from Rx3/Ampache-MGA9 to Rx3-Docker/Ampache,

- New version naming standard,
- Now use docker_tools for .env building,
- Now use rx3-docker/php-apache:1.4.0-mga9 & rx3-docker/mariadb-1.1.0-mga9 images,
- Add /var/log/init*, /var/log/supervisor* volumes,
- Fix crontab: user ampache user instead of root and add it to git,
- Fix database restart in compose file,
- Add database healthcheck & webapp service depencies.
This commit is contained in:
2024-12-02 16:51:20 +01:00
parent 5c3076ba6f
commit aa2c81cca9
19 changed files with 170 additions and 106 deletions

View File

@@ -1,73 +1,82 @@
# Rx3 Ampache Mageia-9 Docker Image
# Rx3-Docker/Ampache Docker Image
#-------------------------------------------------------------------------------
name: ${APPL_NAME}
name: ${HOST_NAME_PREFIX}
services:
database:
container_name: ${DATABASE_CONT_NAME}
container_name: ${DB_HOST_NAME}
hostname: ${DB_HOST_NAME}
image: ${DATABASE_IMG}
restart: unless-stopped
image: ${DB_IMG_URL}
restart: unless-stopped
environment:
MARIADB_UID: ${MARIADB_UID}
MARIADB_GID: ${MARIADB_GID}
MARIADB_ROOT_HOST: ${MARIADB_ROOT_HOST}
MARIADB_ROOT_PASSWORD: ${MARIADB_ROOT_PASSWORD}
MARIADB_DATABASE: ${MARIADB_DATABASE}
MARIADB_USER: ${MARIADB_USER}
MARIADB_PASSWORD: ${MARIADB_PASSWORD}
MARIADB_UID: ${DB_USER_ID}
MARIADB_GID: ${DB_GROUP_ID}
MARIADB_ROOT_HOST: ${DB_ROOT_HOST}
MARIADB_ROOT_PASSWORD: ${DB_ROOT_PASSWORD}
MARIADB_DATABASE: ${DB_DB_NAME}
MARIADB_USER: ${DB_DB_USER}
MARIADB_PASSWORD: ${DB_DB_PASSWORD}
healthcheck:
test: ["CMD", 'mysqladmin', 'ping', '-h', 'localhost', '-u', 'root', '-p${MARIADB_ROOT_PASSWORD}' ]
interval: 10s
timeout: 3s
retries: 3
test: ["CMD", 'mysqladmin', 'ping', '-h', 'localhost', '-u', 'root', '-p${DB_ROOT_PASSWORD}' ]
interval: 10s
timeout: 3s
retries: 3
volumes:
- ./var/lib/mysql:/var/lib/mysql
- ./${DB_LIB_EXT}:${DB_LIB_INT}
- ./${DB_LOG_INIT_EXT}:${DB_LOG_INIT_INT}
- ./${DB_LOG_SV_EXT}:${DB_LOG_SV_INT}
- ./${DB_LOG_MAIN_EXT}:${DB_LOG_MAIN_INT}
networks:
- appl
ports:
- "127.0.0.1:${DATABASE_SV_PORT}:9001"
- "127.0.0.1:${DATABASE_PORT}:3306"
- "127.0.0.1:${DB_PORT_SV_EXT}:${DB_PORT_SV_INT}"
- "127.0.0.1:${DB_PORT_MAIN_EXT}:${DB_PORT_MAIN_INT}"
webapp-internal:
container_name: ${WEBAPP_INT_CONT_NAME}
container_name: ${WAI_HOST_NAME}
hostname: ${WAI_HOST_NAME}
image: ${WEBAPP_IMG}
image: ${WAI_IMG_URL}
build:
context: .
context: .
args:
- IMG_NAME=${APPL_NAME}
- IMG_FULL_NAME=${APPL_FULL_NAME}
- IMG_VERSION=${APPL_VERSION}
- IMG_MAINTAINER=${APPL_MAINTAINER}
- IMG_URL_PREFIX=${APPL_URL_PREFIX}
IMG_NAME: ${WAI_IMG_URL}
IMG_NAME_FULL: ${WAI_IMG_NAME_FULL}
IMG_VERSION: ${WAI_IMG_VERSION}
IMG_MAINTAINER: ${APPL_MAINTAINER}
IMG_FROM_URL: ${WAI_IMG_FROM_URL}
restart: unless-stopped
restart: unless-stopped
depends_on:
database:
condition: service_healthy
condition: service_healthy
environment:
APACHE_UID: ${APACHE_UID}
APACHE_GID: ${APACHE_GID}
APACHE_DOC_ROOT: ${APACHE_DOC_ROOT}
APACHE_UID: ${WAI_USER_ID}
APACHE_GID: ${WAI_GROUP_ID}
APACHE_DOC_ROOT: ${APACHE_DOC_ROOT}
volumes:
- ./etc/ampache-internal:/var/www/config
- ./var/log/ampache-internal:/var/log/ampache
- ./${WAI_LOG_INIT_EXT}:${WAI_LOG_INIT_INT}
- ./${WAI_LOG_SV_EXT}:${WAI_LOG_SV_INT}
- ./${WAI_LOG_MAIN_EXT}:${WAI_LOG_MAIN_INT}
- ./etc/ampache-webapp-internal:/var/www/config
- ./etc/cron.d/ampache:/etc/cron.d/ampache:ro
- /etc/passwd:/etc/passwd:ro
- /etc/group:/etc/group:ro
- /etc/shadow:/etc/shadow:ro
- ${MUSIC_REPO}:/media/music
- ${VIDEO_REPO}:/media/video
@@ -75,30 +84,35 @@ services:
- appl
ports:
- "127.0.0.1:${WEBAPP_INT_SV_PORT}:9001"
- "127.0.0.1:${WEBAPP_INT_PORT}:80"
- "127.0.0.1:${WAI_PORT_SV_EXT}:${WAI_PORT_SV_INT}"
- "127.0.0.1:${WAI_PORT_MAIN_EXT}:${WAI_PORT_MAIN_INT}"
webapp-external:
container_name: ${WEBAPP_EXT_CONT_NAME}
image: ${WEBAPP_IMG}
container_name: ${WAE_HOST_NAME}
hostname: ${WAE_HOST_NAME}
restart: unless-stopped
image: ${WAE_IMG_URL}
restart: unless-stopped
depends_on:
database:
condition: service_healthy
condition: service_healthy
environment:
APACHE_UID: ${APACHE_UID}
APACHE_GID: ${APACHE_GID}
APACHE_DOC_ROOT: ${APACHE_DOC_ROOT}
APACHE_UID: ${WAE_USER_ID}
APACHE_GID: ${WAE_GROUP_ID}
APACHE_DOC_ROOT: ${APACHE_DOC_ROOT}
volumes:
- ./etc/ampache-external:/var/www/config
- ./var/log/ampache-external:/var/log/ampache
- ./${WAE_LOG_INIT_EXT}:${WAE_LOG_INIT_INT}
- ./${WAE_LOG_SV_EXT}:${WAE_LOG_SV_INT}
- ./${WAE_LOG_MAIN_EXT}:${WAE_LOG_MAIN_INT}
- ./etc/ampache-webapp-external:/var/www/config
- /etc/passwd:/etc/passwd:ro
- /etc/group:/etc/group:ro
- ${MUSIC_REPO}:/media/music
- ${VIDEO_REPO}:/media/video
@@ -106,16 +120,16 @@ services:
- appl
ports:
- "127.0.0.1:${WEBAPP_EXT_SV_PORT}:9001"
- "127.0.0.1:${WEBAPP_EXT_PORT}:80"
- "127.0.0.1:${WAE_PORT_SV_EXT}:${WAE_PORT_SV_INT}"
- "127.0.0.1:${WAE_PORT_MAIN_EXT}:${WAE_PORT_MAIN_INT}"
networks:
appl:
name: ${NETWORK_NAME}
driver: bridge
name: ${NETWORK_NAME}
driver: bridge
driver_opts:
com.docker.network.bridge.name: ${NETWORK_IF_NAME}
ipam:
config:
- subnet: 10.2.33.0/24
gateway: 10.2.33.254
- subnet: 10.2.33.0/24
gateway: 10.2.33.254