bigcapital icon indicating copy to clipboard operation
bigcapital copied to clipboard

Self Host Change Default from MySQL to MariaDB

Open SyberSin opened this issue 11 months ago • 4 comments

Hello,

First off thank you for building this as its much needed in the space, but it has been a nightmare to self host with no luck so far, I'm hoping somebody can help me out.

I'm very close to getting it working except the database migration is looking for a mysql docker instead of mariadb docker.

I already have a docker instance of maria, redis, mongo, etc running on my unraid server and I want to use those. How can I change the migration docker variable from mysql to maria?

The logs keep saying nc: bad address 'mysql' (If I install a mysql docker it works, but I'm trying to use maria instead.)

This is my new updated docker compose for unraid using the external service dockers.

The DB_HOST variable is set to the correct maria docker but it appears it is not using that variable for the migration, by default it looks for mysql.

# This is a production version of the Bigcapital docker-compose.yml file.

version: '3.3'

services:
  nginx:
    container_name: bigcapital-nginx-gateway
    build:
      context: /mnt/user/appdata/bigcapital/docker/nginx
      args:
        - SERVER_PROXY_PORT=3000
        - WEB_SSL=false
        - SELF_SIGNED=false
    volumes:
      - ./data/logs/nginx/:/var/log/nginx
      - ./docker/certbot/certs/:/var/certs
    ports:
      - '${PUBLIC_PROXY_PORT:-80}:80'
      - '${PUBLIC_PROXY_SSL_PORT:-443}:443'
    tty: true
    depends_on:
      - server
      - webapp
    deploy:
      restart_policy:
        condition: unless-stopped
    networks:
      - falcon

  webapp:
    container_name: bigcapital-webapp
    image: ghcr.io/bigcapitalhq/webapp:latest
    deploy:
      restart_policy:
        condition: unless-stopped
    networks:
      - falcon

  server:
    container_name: bigcapital-server
    image: ghcr.io/bigcapitalhq/server:latest
    expose:
      - '3000'
    deploy:
      restart_policy:
        condition: unless-stopped
    networks:
      - falcon
    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=${DB_HOST}
      - 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://192.168.1.26:27017/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}

      # Gotenberg (Pdf generator)
      - GOTENBERG_URL=${GOTENBERG_URL}
      - GOTENBERG_DOCS_URL=${GOTENBERG_DOCS_URL}

  database_migration:
    container_name: bigcapital-database-migration
    build:
      context: ./
      dockerfile: docker/migration/Dockerfile
    networks:
      - falcon
    environment:
      # Database
      - DB_HOST=${DB_HOST}
      - DB_USER=${DB_USER}
      - DB_PASSWORD=${DB_PASSWORD}
      - DB_CHARSET=${DB_CHARSET}
      - SYSTEM_DB_NAME=${SYSTEM_DB_NAME}
      # Tenants databases
      - TENANT_DB_NAME_PERFIX=${TENANT_DB_NAME_PERFIX}
  
networks:
  falcon:
    name: falcon
    external: true

SyberSin avatar Mar 12 '24 02:03 SyberSin