mirror of
https://github.com/bigcapitalhq/bigcapital.git
synced 2026-02-16 12:50:38 +00:00
Compare commits
2 Commits
v0.8.3
...
docker-com
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
012b13ad4a | ||
|
|
ad8770f12c |
@@ -77,22 +77,24 @@ services:
|
|||||||
build:
|
build:
|
||||||
context: ./
|
context: ./
|
||||||
dockerfile: docker/migration/Dockerfile
|
dockerfile: docker/migration/Dockerfile
|
||||||
args:
|
environment:
|
||||||
- DB_HOST=mysql
|
- DB_HOST=mysql
|
||||||
- DB_USER=${DB_USER}
|
- DB_USER=${DB_USER}
|
||||||
- DB_PASSWORD=${DB_PASSWORD}
|
- DB_PASSWORD=${DB_PASSWORD}
|
||||||
- DB_CHARSET=${DB_CHARSET}
|
- DB_CHARSET=${DB_CHARSET}
|
||||||
- SYSTEM_DB_NAME=${SYSTEM_DB_NAME}
|
- SYSTEM_DB_NAME=${SYSTEM_DB_NAME}
|
||||||
|
depends_on:
|
||||||
|
- mysql
|
||||||
|
|
||||||
mysql:
|
mysql:
|
||||||
container_name: bigcapital-mysql
|
container_name: bigcapital-mysql
|
||||||
build:
|
build:
|
||||||
context: ./docker/mysql
|
context: ./docker/mysql
|
||||||
args:
|
environment:
|
||||||
- MYSQL_DATABASE=${SYSTEM_DB_NAME}
|
- MYSQL_DATABASE=${SYSTEM_DB_NAME}
|
||||||
- MYSQL_USER=${DB_NAME}
|
- MYSQL_USER=${DB_USER}
|
||||||
- MYSQL_PASSWORD=${DB_PASSWORD}
|
- MYSQL_PASSWORD=${DB_PASSWORD}
|
||||||
- MYSQL_ROOT_PASSWORD=${DB_PASSWORD}
|
- MYSQL_ROOT_PASSWORD=${DB_PASSWORD}
|
||||||
volumes:
|
volumes:
|
||||||
- mysql:/var/lib/mysql
|
- mysql:/var/lib/mysql
|
||||||
expose:
|
expose:
|
||||||
|
|||||||
@@ -9,11 +9,11 @@ services:
|
|||||||
mysql:
|
mysql:
|
||||||
build:
|
build:
|
||||||
context: ./docker/mysql
|
context: ./docker/mysql
|
||||||
args:
|
environment:
|
||||||
- MYSQL_DATABASE=${SYSTEM_DB_NAME}
|
- MYSQL_DATABASE=${SYSTEM_DB_NAME}
|
||||||
- MYSQL_USER=${DB_NAME}
|
- MYSQL_USER=${DB_USER}
|
||||||
- MYSQL_PASSWORD=${DB_PASSWORD}
|
- MYSQL_PASSWORD=${DB_PASSWORD}
|
||||||
- MYSQL_ROOT_PASSWORD=${DB_PASSWORD}
|
- MYSQL_ROOT_PASSWORD=${DB_PASSWORD}
|
||||||
volumes:
|
volumes:
|
||||||
- mysql:/var/lib/mysql
|
- mysql:/var/lib/mysql
|
||||||
expose:
|
expose:
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
FROM mysql:5.7
|
FROM mysql:5.7
|
||||||
|
|
||||||
|
USER root
|
||||||
ADD my.cnf /etc/mysql/conf.d/my.cnf
|
ADD my.cnf /etc/mysql/conf.d/my.cnf
|
||||||
|
|
||||||
ARG MYSQL_DATABASE=default_database
|
ARG MYSQL_DATABASE=default_database
|
||||||
@@ -12,5 +13,14 @@ ENV MYSQL_USER=$MYSQL_USER
|
|||||||
ENV MYSQL_PASSWORD=$MYSQL_PASSWORD
|
ENV MYSQL_PASSWORD=$MYSQL_PASSWORD
|
||||||
ENV MYSQL_ROOT_PASSWORD=$MYSQL_ROOT_PASSWORD
|
ENV MYSQL_ROOT_PASSWORD=$MYSQL_ROOT_PASSWORD
|
||||||
|
|
||||||
|
# Copy init sql file with env vars and then the script will substitute the variables.
|
||||||
|
COPY ./init.sql /scripts/init.template.sql
|
||||||
|
COPY ./docker-entrypoint.sh /docker-entrypoint-initdb.d/docker-initialize.sh
|
||||||
|
|
||||||
|
# The scripts in the docker-entrypoint-initdb.d/ directory are executed as
|
||||||
|
# the mysql user inside the MySQL Docker container.
|
||||||
|
RUN chown -R mysql:root /docker-entrypoint-initdb.d
|
||||||
|
RUN chown -R mysql:root /scripts
|
||||||
|
|
||||||
CMD ["mysqld"]
|
CMD ["mysqld"]
|
||||||
EXPOSE 3306
|
EXPOSE 3306
|
||||||
18
docker/mysql/docker-entrypoint.sh
Normal file
18
docker/mysql/docker-entrypoint.sh
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# chmod u+rwx /scripts/init.template.sql
|
||||||
|
cp /scripts/init.template.sql /scripts/init.sql
|
||||||
|
|
||||||
|
# Replace environment variables in SQL files with their values
|
||||||
|
if [ -n "$MYSQL_USER" ]; then
|
||||||
|
sed -i "s/{MYSQL_USER}/$MYSQL_USER/g" /scripts/init.sql
|
||||||
|
fi
|
||||||
|
if [ -n "$MYSQL_PASSWORD" ]; then
|
||||||
|
sed -i "s/{MYSQL_PASSWORD}/$MYSQL_PASSWORD/g" /scripts/init.sql
|
||||||
|
fi
|
||||||
|
if [ -n "$MYSQL_DATABASE" ]; then
|
||||||
|
sed -i "s/{MYSQL_DATABASE}/$MYSQL_DATABASE/g" /scripts/init.sql
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Execute SQL file
|
||||||
|
mysql -u root -p$MYSQL_ROOT_PASSWORD < /scripts/init.sql
|
||||||
2
docker/mysql/init.sql
Normal file
2
docker/mysql/init.sql
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
GRANT ALL PRIVILEGES ON *.* TO '{MYSQL_USER}'@'%' IDENTIFIED BY '{MYSQL_PASSWORD}' WITH GRANT OPTION;
|
||||||
|
FLUSH PRIVILEGES;
|
||||||
Reference in New Issue
Block a user