support 'task run' and 'task build' for quick and easy spin-ups

This commit is contained in:
Michael Becker 2025-08-08 00:11:54 -04:00
parent 8d029e450c
commit 8811891c7e
7 changed files with 116 additions and 16 deletions

14
Taskfile.yml Normal file
View File

@ -0,0 +1,14 @@
# https://taskfile.dev
version: '3'
tasks:
build:
desc: Build Docker images for Mocha
cmds:
- docker compose -f compose/docker-compose.prod.yml build
run:
desc: Spin up a temporary Mocha instance in Docker for development
cmds:
- docker compose -f compose/docker-compose.dev.yml up

View File

@ -1,5 +1,7 @@
services: services:
mocha-oms: mocha-oms:
build:
context: ..
image: mcr.microsoft.com/dotnet/runtime:8.0 image: mcr.microsoft.com/dotnet/runtime:8.0
command: dotnet /oms/Mocha.Oms.Server.dll command: dotnet /oms/Mocha.Oms.Server.dll
environment: environment:
@ -12,13 +14,13 @@ services:
networks: networks:
- app-tenant - app-tenant
volumes: volumes:
- ./mocha-dotnet/mocha-dotnet/src/app/Mocha.Oms.Server/bin/Debug/net8.0:/oms - ../mocha-dotnet/mocha-dotnet/src/app/Mocha.Oms.Server/bin/Debug/net8.0:/oms
- ./mocha-dotnet/mocha-common/mocha-common/output:/usr/share/mocha/system - ../mocha-dotnet/mocha-common/mocha-common/output:/usr/share/mocha/system
mochaui-tenant: mochaui-tenant:
build: build:
context: . context: ..
dockerfile: ./dockerfiles/tenant.Dockerfile image: mochapowered/mochaui-tenant:latest
environment: environment:
VIRTUAL_HOST: localhost VIRTUAL_HOST: localhost
# OMS_TYPE: mysql # OMS_TYPE: mysql
@ -36,17 +38,17 @@ services:
networks: networks:
- app-tenant - app-tenant
volumes: volumes:
- ./mocha-php/mocha-php/src/mocha-php:/var/www/html - ../mocha-php/mocha-php/src/mocha-php:/var/www/html
- ./mocha-php/phast/lib/phast/server:/usr/local/lib/php/lib/phast - ../mocha-php/phast/lib/phast/server:/usr/local/lib/php/lib/phast
- ./mocha-php/phast/lib/phast/client/scripts:/var/www/html/scripts/phast - ../mocha-php/phast/lib/phast/client/scripts:/var/www/html/scripts/phast
- ./mocha-dotnet/mocha-common/mocha-common/data/uploads:/var/mocha/uploads - ../mocha-dotnet/mocha-common/mocha-common/data/uploads:/var/mocha/uploads
- ./uwt-web/src/uwt-web/fonts/awesome/webfonts:/var/www/html/webfonts - ../uwt-web/src/uwt-web/fonts/awesome/webfonts:/var/www/html/webfonts
static: static:
image: nginx:alpine image: nginx:alpine
volumes: volumes:
- ./uwt-web/output:/usr/share/nginx/html - ../uwt-web/output:/usr/share/nginx/html
- ./uwt-web/src/uwt-web/fonts:/usr/share/nginx/html/fonts - ../uwt-web/src/uwt-web/fonts:/usr/share/nginx/html/fonts
networks: networks:
- app-tenant - app-tenant
- app-manager - app-manager
@ -75,9 +77,10 @@ services:
- "3333:80" - "3333:80"
volumes: volumes:
- /var/run/docker.sock:/tmp/docker.sock:ro - /var/run/docker.sock:/tmp/docker.sock:ro
- ./vhost-tenant.d:/etc/nginx/vhost.d:ro - ../vhost-tenant.d:/etc/nginx/vhost.d:ro
networks: networks:
proxy: proxy:
app-tenant: app-tenant:
app-manager: app-manager:

View File

@ -0,0 +1,71 @@
services:
mocha-oms:
build:
context: ..
dockerfile: dockerfiles/oms-prod.Dockerfile
image: mochapowered/mocha-oms
networks:
- app-tenant
mochaui-tenant:
build:
context: ..
dockerfile: dockerfiles/uis-prod.Dockerfile
image: mochapowered/mocha-uis:latest
environment:
VIRTUAL_HOST: localhost
# OMS_TYPE: mysql
# OMS_SERVERNAME: db
# OMS_SERVERPORT: 3306
# OMS_DATABASENAME: mochadb
# OMS_USERNAME: mochadb
# OMS_PASSWORD: '93X37B]@k(svLmFM'
OMS_TYPE: api
OMS_SERVERNAME: mocha-oms
OMS_SERVERPORT: 4436
THEMES_PATH: /css/themes/{ThemeName}.css
COMMON_THEMES_PATH: /css/common.css
# # THEMES_PATH: /themes/{ThemeName}/theme.css
networks:
- app-tenant
static:
image: nginx:alpine
volumes:
- ./uwt-web/output:/usr/share/nginx/html
- ./uwt-web/src/uwt-web/fonts:/usr/share/nginx/html/fonts
networks:
- app-tenant
- app-manager
#nginx-proxy-manager:
# depends_on:
# - static
# - mochaui-manager
# - phpmyadmin
# image: jwilder/nginx-proxy
# ports:
# - "8082:80"
# volumes:
# - /var/run/docker.sock:/tmp/docker.sock:ro
# - ./vhost-manager.d:/etc/nginx/vhost.d:ro
nginx-proxy-tenant:
depends_on:
- static
- mocha-oms
image: jwilder/nginx-proxy
networks:
- app-tenant
- proxy
ports:
- "3333:80"
volumes:
- /var/run/docker.sock:/tmp/docker.sock:ro
- ./vhost-tenant.d:/etc/nginx/vhost.d:ro
networks:
proxy:
app-tenant:
app-manager:

View File

@ -0,0 +1,6 @@
FROM mcr.microsoft.com/dotnet/runtime:8.0
COPY ./mocha-dotnet/mocha-dotnet/src/app/Mocha.Oms.Server/bin/Debug/net8.0 /oms
COPY ./mocha-dotnet/mocha-common/mocha-common/output /usr/share/mocha/system
ENTRYPOINT dotnet /oms/Mocha.Oms.Server.dll

View File

@ -1,3 +0,0 @@
FROM php:8.2-apache
RUN a2enmod rewrite

View File

@ -0,0 +1,9 @@
FROM php:8.2-apache
RUN a2enmod rewrite
COPY ./mocha-php/mocha-php/src/mocha-php /var/www/html
COPY ./mocha-php/phast/lib/phast/server /usr/local/lib/php/lib/phast
COPY ./mocha-php/phast/lib/phast/client/scripts /var/www/html/scripts/phast
COPY ./mocha-dotnet/mocha-common/mocha-common/data/uploads /var/mocha/uploads
COPY ./uwt-web/src/uwt-web/fonts/awesome/webfonts /var/www/html/webfonts

@ -1 +1 @@
Subproject commit f3dbdc87b32124101c159ba35573bf49182619f5 Subproject commit 3023d6e513f1268d58e4ff280e27713fdeb4a9c2