######################################## ## 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