services: mysql: image: ${MYSQL_IMAGE:-mysql:8} restart: ${INVOICENINJA_RESTART:-unless-stopped} volumes: - ${VOL_PATH:-/data}/invoiceninja/mysql:/var/lib/mysql environment: - MYSQL_DATABASE=${DB_DATABASE:-ninja} - MYSQL_USER=${DB_USERNAME:-ninja} - MYSQL_PASSWORD=${DB_PASSWORD:-ChangeThisPassword} - MYSQL_ROOT_PASSWORD=${DB_ROOT_PASSWORD:-ChangeThisPassword} networks: - internal redis: image: ${REDIS_IMAGE:-redis:alpine} restart: ${INVOICENINJA_RESTART:-unless-stopped} networks: - internal app: image: ${INVOICENINJA_IMAGE:-invoiceninja/invoiceninja-debian:latest} restart: ${INVOICENINJA_RESTART:-unless-stopped} volumes: - ${VOL_PATH:-/data}/invoiceninja/public:/var/www/html/public - ${VOL_PATH:-/data}/invoiceninja/storage:/var/www/html/storage environment: - APP_URL=${APP_URL:-http://localhost:8000} - APP_KEY=${APP_KEY:-ChangeThisPassword} - APP_ENV=${APP_ENV:-production} - APP_DEBUG=${APP_DEBUG:-false} - REQUIRE_HTTPS=${REQUIRE_HTTPS:-false} - PHANTOMJS_PDF_GENERATION=${PHANTOMJS_PDF_GENERATION:-false} - PDF_GENERATOR=${PDF_GENERATOR:-snappdf} - TRUSTED_PROXIES=${TRUSTED_PROXIES:-*} - CACHE_DRIVER=${CACHE_DRIVER:-redis} - QUEUE_CONNECTION=${QUEUE_CONNECTION:-redis} - SESSION_DRIVER=${SESSION_DRIVER:-redis} - REDIS_HOST=${REDIS_HOST:-redis} - REDIS_PASSWORD=${REDIS_PASSWORD:-null} - REDIS_PORT=${REDIS_PORT:-6379} - FILESYSTEM_DISK=${FILESYSTEM_DISK:-debian_docker} - DB_CONNECTION=${DB_CONNECTION:-mysql} - DB_HOST=${DB_HOST:-mysql} - DB_PORT=${DB_PORT:-3306} - DB_DATABASE=${DB_DATABASE:-ninja} - DB_USERNAME=${DB_USERNAME:-ninja} - DB_PASSWORD=${DB_PASSWORD:-ChangeThisPassword} - IN_USER_EMAIL=${IN_USER_EMAIL:-admin@example.com} - IN_PASSWORD=${IN_PASSWORD:-ChangeThisPassword} - MAIL_MAILER=${MAIL_MAILER:-log} - MAIL_HOST=${MAIL_HOST:-smtp.mailtrap.io} - MAIL_PORT=${MAIL_PORT:-2525} - MAIL_USERNAME=${MAIL_USERNAME:-null} - MAIL_PASSWORD=${MAIL_PASSWORD:-null} - MAIL_ENCRYPTION=${MAIL_ENCRYPTION:-null} - MAIL_FROM_ADDRESS=${MAIL_FROM_ADDRESS:-user@example.com} - MAIL_FROM_NAME=${MAIL_FROM_NAME:-Self Hosted User} - NORDIGEN_SECRET_ID=${NORDIGEN_SECRET_ID:-} - NORDIGEN_SECRET_KEY=${NORDIGEN_SECRET_KEY:-} - IS_DOCKER=${IS_DOCKER:-true} - SCOUT_DRIVER=${SCOUT_DRIVER:-null} networks: - internal depends_on: - mysql - redis nginx: image: ${NGINX_IMAGE:-nginx:alpine} restart: ${INVOICENINJA_RESTART:-unless-stopped} volumes: - ${VOL_PATH:-/data}/invoiceninja/nginx:/etc/nginx/conf.d:ro - ${VOL_PATH:-/data}/invoiceninja/public:/var/www/html/public:ro - ${VOL_PATH:-/data}/invoiceninja/storage:/var/www/html/storage:ro ports: - "${INVOICENINJA_PORT:-8000}:80" networks: - proxy - internal depends_on: - app networks: proxy: external: true internal: