60 lines
1.3 KiB
Batchfile
60 lines
1.3 KiB
Batchfile
@echo off
|
|
setlocal enabledelayedexpansion
|
|
|
|
if "%~1"=="" (
|
|
echo Usage: new-client-compose.bat NAME [PORT]
|
|
exit /b 1
|
|
)
|
|
|
|
set NAME=%~1
|
|
set PORT=%~2
|
|
|
|
:: Normalize name (replace spaces with underscore)
|
|
set SLUG=%NAME: =_%
|
|
|
|
if "%PORT%"=="" (
|
|
for /f %%A in ('dir /b docker-compose-*.yml ^| find /c /v ""') do set COUNT=%%A
|
|
set /a PORT=10001+%COUNT%+1
|
|
)
|
|
|
|
set FILE=docker-compose-%SLUG%.yml
|
|
|
|
(
|
|
echo version: "3.8"
|
|
echo services:
|
|
echo db:
|
|
echo image: postgres:15
|
|
echo container_name: odoo_%SLUG%_db
|
|
echo environment:
|
|
echo POSTGRES_DB: postgres
|
|
echo POSTGRES_USER: odoo
|
|
echo POSTGRES_PASSWORD: odoo
|
|
echo volumes:
|
|
echo - %SLUG%_pgdata:/var/lib/postgresql/data
|
|
echo restart: always
|
|
echo.
|
|
echo odoo:
|
|
echo image: odoo:17.0
|
|
echo container_name: odoo_%SLUG%
|
|
echo depends_on:
|
|
echo - db
|
|
echo ports:
|
|
echo - "%PORT%:8069"
|
|
echo environment:
|
|
echo HOST: db
|
|
echo USER: odoo
|
|
echo PASSWORD: odoo
|
|
echo volumes:
|
|
echo - %SLUG%_odoo_data:/var/lib/odoo
|
|
echo - ./addons:/mnt/extra-addons
|
|
echo restart: always
|
|
echo.
|
|
echo volumes:
|
|
echo %SLUG%_pgdata:
|
|
echo %SLUG%_odoo_data:
|
|
) > "%FILE%"
|
|
|
|
echo Created %FILE% with Odoo port %PORT%
|
|
echo Run: docker-compose -p %SLUG% -f %FILE% up -d
|
|
endlocal
|