initial ver

This commit is contained in:
Ryan Tharp 2019-12-02 03:14:00 +00:00
parent de2b00a9c7
commit a36c02bc35
1 changed files with 114 additions and 0 deletions

114
docker-compose.yml Normal file
View File

@ -0,0 +1,114 @@
version: '3.1'
services:
mysql:
image: "mysql:5.7"
command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
restart: always
environment:
MYSQL_RANDOM_ROOT_PASSWORD: "true"
expose:
- "3306"
labels:
- traefik.enable=false
volumes:
- ./docker:/docker-entrypoint-initdb.d:ro
- ./data/mysql:/var/lib/mysql:rw
redis:
image: redis
healthcheck:
test: ["CMD", "redis-cli","ping"]
interval: 30s
timeout: 10s
retries: 3
labels:
- traefik.enable=false
traefik:
image: "traefik:v2.0.0"
command:
- --entrypoints.web.address=:80
- --entrypoints.websecure.address=:443
- --providers.docker=true
- --api.insecure # Don't do that in production
ports:
- "80:80"
- "443:443"
# dev hack, remove for production...
#- "81:8080"
volumes:
- "/var/run/docker.sock:/var/run/docker.sock:ro"
nodepomf:
build:
context: https://github.com/odilitime/nodepomf.git
expose:
- "3000"
environment:
NPOMF_DB_FILENAME: ./databases/pomf_files.db
NPOMF_MAX_UPLOAD_SIZE: 1000000 # 10mb
NPOMF_FILE_URL: "/f"
labels:
- traefik.enable=true
- "traefik.http.routers.nodepomf.rule=hostregexp(`{host:.+}`) && PathPrefix(`/f`)"
volumes:
- ./data/files:/usr/src/app/files:rw
- ./data/pomfdb:/usr/src/app/databases:rw
platform:
build: server
depends_on:
- mysql
- redis
- nodepomf
#expose:
# - "7070"
# - "3000"
ports:
- "7070"
- "3000"
environment:
stream__host: redis
web__listen: platform
admin__listen: platform
admin__modKey: enableAdmin
database__default__type: mysql
database__default__options__database: lmpc_platform
database__default__options__host: mysql
database__default__options__username: platform
database__default__options__password: publicchat_test
pomf__provider: "nodepomf"
pomf__provider_url: "http://nodepomf/upload"
VIRTUAL_PORT: 7070
VIRTUAL_HOST: platform.local
labels:
- traefik.enable=true
- "traefik.http.routers.platform.rule=hostregexp(`{host:.+}`)"
- traefik.http.services.platform.loadbalancer.server.port=7070
overlay:
build: .
depends_on:
- mysql
- platform
ports:
- "8080"
environment:
MYSQL_INIT_DB: publicchat_test
VIRTUAL_PORT: 8080
web__listen: platform
admin__listen: platform
admin__modKey: enableAdmin
database__default__type: mysql
database__default__options__database: lmpc_overlay
database__default__options__host: mysql
database__default__options__username: overlay
database__default__options__password: publicchat_test
api__url: http://platform:7070/
admin__url: http://platform:3000/
labels:
- traefik.frontend.rule=PathPrefix:/loki/
- traefik.enable=true
- "traefik.http.routers.overlay.rule=hostregexp(`{host:.+}`) && PathPrefix(`/loki`)"
- traefik.http.services.overlay.loadbalancer.server.port=8080