|
|
|
# mail@dongguochao.com
|
|
|
|
# llitfkitfk@gmail.com
|
|
|
|
|
|
|
|
version: "3"
|
|
|
|
|
|
|
|
services:
|
|
|
|
# frontend
|
|
|
|
nginx:
|
|
|
|
# image: nginx:stable-alpine
|
|
|
|
build:
|
|
|
|
# will use image from the frontend repo in the future
|
|
|
|
context: docker/frontend
|
|
|
|
volumes:
|
|
|
|
- ./docker/nginx/conf.d:/etc/nginx/conf.d
|
|
|
|
ports:
|
|
|
|
- 38080:38080
|
|
|
|
- 38081:38081
|
|
|
|
|
|
|
|
# backend
|
|
|
|
delos:
|
|
|
|
# build from ./Dockerfile
|
|
|
|
build: .
|
|
|
|
# build from images
|
|
|
|
# you can find last tag from https://hub.docker.com/r/blackdog1987/rap2-delos
|
|
|
|
# image: blackdog1987/rap2-delos:2.6.aa3be03
|
|
|
|
environment:
|
|
|
|
# if you have your own mysql, config it here, and disable the 'mysql' config blow
|
|
|
|
- MYSQL_URL=mysql # links will maintain /etc/hosts, just use 'container_name'
|
|
|
|
- MYSQL_PORT=3306
|
|
|
|
- MYSQL_USERNAME=root
|
|
|
|
- MYSQL_PASSWD=
|
|
|
|
- MYSQL_SCHEMA=rap2
|
|
|
|
|
|
|
|
# redis config
|
|
|
|
- REDIS_URL=redis
|
|
|
|
- REDIS_PORT=6379
|
|
|
|
|
|
|
|
# production / development
|
|
|
|
- NODE_ENV=production
|
|
|
|
###### 'sleep 30 && node scripts/init' will drop the tables
|
|
|
|
###### RUN ONLY ONCE THEN REMOVE 'sleep 30 && node scripts/init'
|
|
|
|
command: /bin/sh -c 'node dispatch.js'
|
|
|
|
# init the databases
|
|
|
|
# command: sleep 30 && node scripts/init && node dispatch.js
|
|
|
|
# without init
|
|
|
|
# command: node dispatch.js
|
|
|
|
depends_on:
|
|
|
|
- redis
|
|
|
|
- mysql
|
|
|
|
|
|
|
|
redis:
|
|
|
|
image: redis:4
|
|
|
|
|
|
|
|
# disable this if you have your own mysql
|
|
|
|
mysql:
|
|
|
|
image: mysql:5.7
|
|
|
|
# expose 33306 to client (navicat)
|
|
|
|
#ports:
|
|
|
|
# - 33306:3306
|
|
|
|
volumes:
|
|
|
|
# change './docker/mysql/volume' to your own path
|
|
|
|
# WARNING: without this line, your data will be lost.
|
|
|
|
- "./docker/mysql/volume:/var/lib/mysql"
|
|
|
|
command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --init-connect='SET NAMES utf8mb4;' --innodb-flush-log-at-trx-commit=0
|
|
|
|
environment:
|
|
|
|
MYSQL_ALLOW_EMPTY_PASSWORD: "true"
|
|
|
|
MYSQL_DATABASE: "rap2"
|
|
|
|
MYSQL_USER: "root"
|
|
|
|
MYSQL_PASSWORD: ""
|