#docker-compose配置文件
[root@ tools]# cat docker-compose.prod.yml
version: '3.3'
services:
postgres:
image: postgres:12
env_file:
- ./tools/env.dev
restart: always
hostname: postgres
ports:
- '5432:5432'
environment:
POSTGRES_DB: ${TYPEORM_DATABASE}
POSTGRES_USER: ${TYPEORM_USERNAME}
POSTGRES_PASSWORD: ${TYPEORM_PASSWORD}
PG_DATA: /var/lib/postgresql/data
volumes:
- pgdata:/var/lib/postgresql/data
redis:
image: redis:alpine
restart: always
hostname: redis
ports:
- '6379:6379'
ohbug-ce:
image: ohbug/ohbug-ce:latest
restart: always
volumes:
- /usr/src/ohbug
ports:
- 6660:6660
- 80:80
depends_on:
- postgres
- redis
volumes:
pgdata:
#环境变量配置文件文件
[root@ tools]# cat env.dev
# typeorm 相关配置
TYPEORM_CONNECTION=postgres
TYPEORM_HOST=postgres
TYPEORM_PORT=5432
TYPEORM_DATABASE=ohbug
TYPEORM_USERNAME=postgres
TYPEORM_PASSWORD=ohbug_postgres_password
# redis 相关配置
REDIS_HOST=redis
REDIS_PORT=6379
# apiKey 加密用到的 secret
APP_SECRET=YOUR_APP_SECRET
# sourceMap 上传的位置
UPLOAD_SOURCEMAP_FILE_PATH=./uploads
# email 发送相关配置
EMAIL_NOTICE_HOST=YOUR_EMAIL_NOTICE_HOST
EMAIL_NOTICE_PORT=YOUR_EMAIL_NOTICE_PORT
EMAIL_NOTICE_SECURE=YOUR_EMAIL_NOTICE_SECURE
EMAIL_NOTICE_AUTH_USER=YOUR_EMAIL_NOTICE_AUTH_USER
EMAIL_NOTICE_AUTH_PASS=YOUR_EMAIL_NOTICE_AUTH_PASS
# webpush 相关配置
WEBPUSH_PUBLIC_KEY=YOUR_WEBPUSH_PUBLIC_KEY
WEBPUSH_PRIVATE_KEY=YOUR_WEBPUSH_PRIVATE_KEY
# 数据过期清理的间隔时间
TIME_INTERVAL_FOR_CLEANING_UP_EXPIRED_DATA=30
#启动命令
docker-compose -f docker-compose.prod.yml up --build -d
[root@ ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
12a4db71ada0 ohbug/ohbug-ce:latest "docker-entrypoint.s…" 5 days ago Up 5 days 0.0.0.0:8001->80/tcp, 0.0.0.0:6661->6660/tcp tools_ohbug-ce_1
ad8b1b31decf postgres:12 "docker-entrypoint.s…" 5 days ago Up 5 days 0.0.0.0:5433->5432/tcp tools_postgres_1
1e4f52a8c363 redis:alpine "docker-entrypoint.s…" 5 days ago Up 5 days 0.0.0.0:6380->6379/tcp tools_redis_1