mirror of
https://github.com/Dokploy/templates.git
synced 2026-06-15 20:25:24 +02:00
* feat: add BigCapital template * Refactor docker-compose.yml to use ports instead of expose Removed container names and exposed sections for services. Updated to use ports instead of expose for webapp, server, mysql, mongo, redis, and gotenberg services. --------- Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
153 lines
4.1 KiB
YAML
153 lines
4.1 KiB
YAML
services:
|
|
webapp:
|
|
image: bigcapitalhq/webapp:latest
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- server
|
|
ports:
|
|
- '80'
|
|
|
|
|
|
server:
|
|
image: bigcapitalhq/server:latest
|
|
restart: unless-stopped
|
|
depends_on:
|
|
mysql:
|
|
condition: service_healthy
|
|
mongo:
|
|
condition: service_started
|
|
redis:
|
|
condition: service_started
|
|
ports:
|
|
- '3000'
|
|
|
|
environment:
|
|
# Mail
|
|
- MAIL_HOST=${MAIL_HOST}
|
|
- MAIL_USERNAME=${MAIL_USERNAME}
|
|
- MAIL_PASSWORD=${MAIL_PASSWORD}
|
|
- MAIL_PORT=${MAIL_PORT}
|
|
- MAIL_SECURE=${MAIL_SECURE}
|
|
- MAIL_FROM_NAME=${MAIL_FROM_NAME}
|
|
- MAIL_FROM_ADDRESS=${MAIL_FROM_ADDRESS}
|
|
# Database
|
|
- DB_HOST=mysql
|
|
- DB_USER=${DB_USER}
|
|
- DB_PASSWORD=${DB_PASSWORD}
|
|
- DB_CHARSET=${DB_CHARSET}
|
|
# System database
|
|
- SYSTEM_DB_NAME=${SYSTEM_DB_NAME}
|
|
# Tenants databases
|
|
- TENANT_DB_NAME_PERFIX=${TENANT_DB_NAME_PERFIX}
|
|
# Authentication
|
|
- JWT_SECRET=${JWT_SECRET}
|
|
# MongoDB
|
|
- MONGODB_DATABASE_URL=mongodb://mongo/bigcapital
|
|
# Application
|
|
- BASE_URL=${BASE_URL}
|
|
# Agendash
|
|
- AGENDASH_AUTH_USER=${AGENDASH_AUTH_USER}
|
|
- AGENDASH_AUTH_PASSWORD=${AGENDASH_AUTH_PASSWORD}
|
|
# Sign-up restrictions
|
|
- SIGNUP_DISABLED=${SIGNUP_DISABLED}
|
|
- SIGNUP_ALLOWED_DOMAINS=${SIGNUP_ALLOWED_DOMAINS}
|
|
- SIGNUP_ALLOWED_EMAILS=${SIGNUP_ALLOWED_EMAILS}
|
|
# Sign-up email confirmation
|
|
- SIGNUP_EMAIL_CONFIRMATION=${SIGNUP_EMAIL_CONFIRMATION}
|
|
# Gotenberg (Pdf generator)
|
|
- GOTENBERG_URL=${GOTENBERG_URL}
|
|
- GOTENBERG_DOCS_URL=${GOTENBERG_DOCS_URL}
|
|
# Exchange Rate
|
|
- EXCHANGE_RATE_SERVICE=${EXCHANGE_RATE_SERVICE}
|
|
- OPEN_EXCHANGE_RATE_APP_ID=${OPEN_EXCHANGE_RATE_APP_ID}
|
|
# Bank Sync
|
|
- BANKING_CONNECT=${BANKING_CONNECT}
|
|
# Plaid
|
|
- PLAID_ENV=${PLAID_ENV}
|
|
- PLAID_CLIENT_ID=${PLAID_CLIENT_ID}
|
|
- PLAID_SECRET=${PLAID_SECRET}
|
|
- PLAID_LINK_WEBHOOK=${PLAID_LINK_WEBHOOK}
|
|
# Lemon Squeez
|
|
- LEMONSQUEEZY_API_KEY=${LEMONSQUEEZY_API_KEY}
|
|
- LEMONSQUEEZY_STORE_ID=${LEMONSQUEEZY_STORE_ID}
|
|
- LEMONSQUEEZY_WEBHOOK_SECRET=${LEMONSQUEEZY_WEBHOOK_SECRET}
|
|
- HOSTED_ON_BIGCAPITAL_CLOUD=${HOSTED_ON_BIGCAPITAL_CLOUD}
|
|
# New Relic metrics tracking
|
|
- NEW_RELIC_DISTRIBUTED_TRACING_ENABLED=${NEW_RELIC_DISTRIBUTED_TRACING_ENABLED}
|
|
- NEW_RELIC_LOG=${NEW_RELIC_LOG}
|
|
- NEW_RELIC_AI_MONITORING_ENABLED=${NEW_RELIC_AI_MONITORING_ENABLED}
|
|
- NEW_RELIC_CUSTOM_INSIGHTS_EVENTS_MAX_SAMPLES_STORED=${NEW_RELIC_CUSTOM_INSIGHTS_EVENTS_MAX_SAMPLES_STORED}
|
|
- NEW_RELIC_SPAN_EVENTS_MAX_SAMPLES_STORED=${NEW_RELIC_SPAN_EVENTS_MAX_SAMPLES_STORED}
|
|
- NEW_RELIC_LICENSE_KEY=${NEW_RELIC_LICENSE_KEY}
|
|
- NEW_RELIC_APP_NAME=${NEW_RELIC_APP_NAME}
|
|
# S3
|
|
- S3_REGION=${S3_REGION}
|
|
- S3_ACCESS_KEY_ID=${S3_ACCESS_KEY_ID}
|
|
- S3_SECRET_ACCESS_KEY=${S3_SECRET_ACCESS_KEY}
|
|
- S3_ENDPOINT=${S3_ENDPOINT}
|
|
- S3_BUCKET=${S3_BUCKET}
|
|
|
|
mysql:
|
|
image: mariadb:10.11
|
|
restart: unless-stopped
|
|
environment:
|
|
- MYSQL_DATABASE=${SYSTEM_DB_NAME}
|
|
- MYSQL_USER=${DB_USER}
|
|
- MYSQL_PASSWORD=${DB_PASSWORD}
|
|
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
|
|
volumes:
|
|
- mysql:/var/lib/mysql
|
|
ports:
|
|
- '3306'
|
|
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "mysqladmin ping -h localhost -u root -p$$MYSQL_ROOT_PASSWORD || exit 1"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
start_period: 30s
|
|
|
|
mongo:
|
|
image: mongo:7
|
|
restart: unless-stopped
|
|
ports:
|
|
- '27017'
|
|
volumes:
|
|
- mongo:/data/db
|
|
|
|
|
|
redis:
|
|
image: redis:7-alpine
|
|
restart: unless-stopped
|
|
ports:
|
|
- '6379'
|
|
volumes:
|
|
- redis:/data
|
|
|
|
healthcheck:
|
|
test: ["CMD", "redis-cli", "ping"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
|
|
gotenberg:
|
|
image: gotenberg/gotenberg:7
|
|
restart: unless-stopped
|
|
ports:
|
|
- '9000'
|
|
|
|
|
|
volumes:
|
|
mysql:
|
|
name: bigcapital_mysql
|
|
driver: local
|
|
mongo:
|
|
name: bigcapital_mongo
|
|
driver: local
|
|
redis:
|
|
name: bigcapital_redis
|
|
driver: local
|
|
|
|
|
|
|