Compose-Library/voltaserve.compose.yaml.txt
2025-01-25 18:01:48 +01:00

232 lines
No EOL
6.5 KiB
Text
Executable file

########################################
## UNFINISHED COMPOSE - DO NOT USE !! ##
########################################
volumes:
cockroach:
minio:
meilisearch:
redis:
services:
cockroach:
image: cockroachdb/cockroach:latest-v24.2
ports:
- ${VOLTASERVE_POSTGRES_PORT}:26257
- ${VOLTASERVE_COCKROACH_CONSOLE_PORT}:8080
environment:
COCKROACH_DATABASE: voltaserve
COCKROACH_USER: voltaserve
volumes:
- cockroach:/cockroach/cockroach-data
command: start-single-node --insecure
healthcheck:
test: cockroach sql --insecure --execute='SELECT 1;' || exit 1
minio:
image: minio/minio:RELEASE.2024-09-09T16-59-28Z
ports:
- ${VOLTASERVE_MINIO_PORT}:9000
- ${VOLTASERVE_MINIO_CONSOLE_PORT}:9001
environment:
MINIO_ROOT_USER: voltaserve
MINIO_ROOT_PASSWORD: voltaserve
MINIO_REGION: us-east-1
volumes:
- minio:/data
command: server /data --console-address ":9001"
meilisearch:
image: getmeili/meilisearch:v1.10.1
ports:
- ${VOLTASERVE_MEILISEARCH_PORT}:7700
volumes:
- meilisearch:/meili_data
healthcheck:
test: curl --fail http://127.0.0.1:7700/health || exit 1
redis:
image: redis:7.4
ports:
- ${VOLTASERVE_REDIS_PORT}:6379
volumes:
- redis:/data
healthcheck:
test: redis-cli ping || exit 1
maildev:
image: maildev/maildev:2.1.0
ports:
- ${VOLTASERVE_MAILDEV_SMTP_PORT}:1025
- ${VOLTASERVE_MAILDEV_WEB_PORT}:1080
healthcheck:
test: wget --quiet --spider http://127.0.0.1:1080 || exit 1
api:
image: voltaserve/api
build:
context: ./api
ports:
- ${VOLTASERVE_API_PORT}:8080
environment:
- PORT=8080
- CONVERSION_URL=http://conversion:8083
- LANGUAGE_URL=http://language:8084
- MOSAIC_URL=http://mosaic:8085
- POSTGRES_URL=postgresql://voltaserve@cockroach:26257/voltaserve
- S3_URL=minio:9000
- SEARCH_URL=http://meilisearch:7700
- PUBLIC_UI_URL=http://${VOLTASERVE_HOSTNAME}:${VOLTASERVE_UI_PORT}
- REDIS_ADDRESS=redis:6379
- SMTP_HOST=${VOLTASERVE_SMTP_HOST}
- SMTP_PORT=${VOLTASERVE_SMTP_PORT}
- SMTP_SECURE=${VOLTASERVE_SMTP_SECURE}
- SMTP_USERNAME=${VOLTASERVE_SMTP_USERNAME}
- SMTP_PASSWORD=${VOLTASERVE_SMTP_PASSWORD}
- SMTP_SENDER_ADDRESS=${VOLTASERVE_SMTP_SENDER_ADDRESS}
- SMTP_SENDER_NAME=${VOLTASERVE_SMTP_SENDER_NAME}
healthcheck:
test: wget --quiet --spider http://127.0.0.1:8080/v3/health || exit 1
depends_on:
- cockroach
- redis
- minio
- meilisearch
restart: on-failure
idp:
image: voltaserve/idp
build:
context: ./idp
ports:
- ${VOLTASERVE_IDP_PORT}:8081
environment:
- PORT=8081
- POSTGRES_URL=postgresql://voltaserve@cockroach:26257/voltaserve
- SEARCH_URL=http://meilisearch:7700
- PUBLIC_UI_URL=http://${VOLTASERVE_HOSTNAME}:${VOLTASERVE_UI_PORT}
- SMTP_HOST=${VOLTASERVE_SMTP_HOST}
- SMTP_PORT=${VOLTASERVE_SMTP_PORT}
- SMTP_SECURE=${VOLTASERVE_SMTP_SECURE}
- SMTP_USERNAME=${VOLTASERVE_SMTP_USERNAME}
- SMTP_PASSWORD=${VOLTASERVE_SMTP_PASSWORD}
- SMTP_SENDER_ADDRESS=${VOLTASERVE_SMTP_SENDER_ADDRESS}
- SMTP_SENDER_NAME=${VOLTASERVE_SMTP_SENDER_NAME}
healthcheck:
test: wget --quiet --spider http://127.0.0.1:8081/v3/health || exit 1
depends_on:
- cockroach
- meilisearch
- minio
restart: on-failure
ui:
image: voltaserve/ui
build:
context: ./ui
ports:
- ${VOLTASERVE_UI_PORT}:3000
environment:
- API_URL=http://api:8080
- IDP_URL=http://idp:8081
healthcheck:
test: wget --quiet --spider http://127.0.0.1:3000/index.html || exit 1
depends_on:
- idp
- api
restart: on-failure
webdav:
image: voltaserve/webdav
build:
context: ./webdav
ports:
- ${VOLTASERVE_WEBDAV_PORT}:8082
environment:
- PORT=8082
- IDP_URL=http://idp:8081
- API_URL=http://api:8080
- REDIS_ADDRESS=redis:6379
- S3_URL=minio:9000
healthcheck:
test: wget --quiet --spider http://127.0.0.1:8082/v3/health || exit 1
depends_on:
- idp
- api
restart: on-failure
conversion:
image: voltaserve/conversion
build:
context: ./conversion
ports:
- ${VOLTASERVE_CONVERSION_PORT}:8083
environment:
- PORT=8083
- ENABLE_INSTALLER=true
- API_URL=http://api:8080
- LANGUAGE_URL=http://language:8084
- MOSAIC_URL=http://mosaic:8085
- S3_URL=minio:9000
healthcheck:
test: wget --quiet --spider http://127.0.0.1:8083/v3/health || exit 1
depends_on:
- api
- minio
restart: on-failure
language:
image: voltaserve/language
build:
context: ./language
ports:
- ${VOLTASERVE_LANGUAGE_PORT}:8084
healthcheck:
test: wget --quiet --spider http://127.0.0.1:8084/v3/health || exit 1
restart: on-failure
mosaic:
image: voltaserve/mosaic
build:
context: ./mosaic
ports:
- ${VOLTASERVE_MOSAIC_PORT}:8085
environment:
- S3_URL=minio:9000
healthcheck:
test: wget --quiet --spider http://127.0.0.1:8085/v3/health || exit 1
restart: on-failure
console:
image: voltaserve/console
build:
context: ./console
dockerfile: Dockerfile
ports:
- ${VOLTASERVE_CONSOLE_PORT}:8086
environment:
- PORT=8086
- HOST=0.0.0.0
- POSTGRES_URL=cockroach
- POSTGRES_PORT=26257
- POSTGRES_NAME=voltaserve
- POSTGRES_USER=voltaserve
- WORKERS=4
- SECURITY_JWT_SIGNING_KEY=586cozl1x9m6zmu4fg8iwi6ajazguehcm9qdfgd5ndo2pc3pcn
- SECURITY_CORS_ORIGINS=http://localhost:3000
- JWT_ALGORITHM=HS256
- URL=localhost
- API_URL=http://api:8080
- IDP_URL=http://idp:8081
- WEBDAV_URL=http://webdav:8082
- CONVERSION_URL=http://conversion:8083
- LANGUAGE_URL=http://language:8084
- MOSAIC_URL=http://mosaic:8085
healthcheck:
test: wget --quiet --spider http://127.0.0.1:8086/liveness || exit 1
depends_on:
- api
- idp
- webdav
- conversion
- language
- mosaic
- cockroach
restart: on-failure
migrations:
image: voltaserve/migrations
build:
context: ./migrations
environment:
- DATABASE_URL=postgresql://voltaserve@cockroach:26257/voltaserve
depends_on:
- cockroach
restart: on-failure