commit 0312fe08e6fc741890c0336cf7a46cd39fe95852 Author: mrjk Date: Tue Nov 1 00:14:08 2022 +0000 Add: Finance apps diff --git a/README.md b/README.md new file mode 100644 index 0000000..18358f6 --- /dev/null +++ b/README.md @@ -0,0 +1,5 @@ +# Extra stacks + + +For me only at this point + diff --git a/finance/firefly3/README.md b/finance/firefly3/README.md new file mode 100644 index 0000000..30f6e83 --- /dev/null +++ b/finance/firefly3/README.md @@ -0,0 +1,14 @@ +# App + +Based on work of: https://github.com/firefly-iii/docker.git + + +# Tags to do: + +Exporter +https://github.com/kinduff/firefly_iii_exporter + +Toolbox: +pip install firefly-cli + + diff --git a/finance/firefly3/docker-compose.debug.yml b/finance/firefly3/docker-compose.debug.yml new file mode 100644 index 0000000..00a12dc --- /dev/null +++ b/finance/firefly3/docker-compose.debug.yml @@ -0,0 +1,4 @@ +services: + app: + environment: + APP_DEBUG: 'true' diff --git a/finance/firefly3/docker-compose.fidi.yml b/finance/firefly3/docker-compose.fidi.yml new file mode 100644 index 0000000..614b82c --- /dev/null +++ b/finance/firefly3/docker-compose.fidi.yml @@ -0,0 +1,29 @@ +services: + + fidi: + image: fireflyiii/data-importer:latest + restart: always + env_file: vars.fidi.env + environment: + FIREFLY_III_URL: http://app:8080 + VANITY_URL: $app_prot://$app_fqdn + # FIREFLY_III_ACCESS_TOKEN: + # FIREFLY_III_CLIENT_ID: + # + # NORDIGEN_ID + # NORDIGEN_KEY + # NORDIGEN_SANDBOX + # + # SPECTRE_APP_ID + # SPECTRE_SECRET + # + # VERIFY_TLS_SECURITY + # APP_DEBUG + # LOG_LEVEL=debug + # TRUSTED_PROXIES + # TZ + # EXPECT_SECURE_URL + ports: + - 8081:8080 + depends_on: + - app diff --git a/finance/firefly3/docker-compose.yml b/finance/firefly3/docker-compose.yml new file mode 100644 index 0000000..ef46362 --- /dev/null +++ b/finance/firefly3/docker-compose.yml @@ -0,0 +1,32 @@ +version: '3.3' + +services: + app: + image: fireflyiii/core:latest + restart: always + volumes: + - $app_dir_data/upload:/var/www/html/storage/upload + environment: + APP_URL: $app_prot://$app_fqdn + #APP_KEY: $app_token + TRUSTED_PROXIES: '**' + env_file: ./vars.env + #ports: + # - 80:8080 + depends_on: + - db + db: + image: mariadb + hostname: fireflyiiidb + restart: always + environment: + - MYSQL_RANDOM_ROOT_PASSWORD=yes + - MYSQL_USER=firefly + - MYSQL_PASSWORD=secret_firefly_password + - MYSQL_DATABASE=firefly + volumes: + - $app_dir_db_data:/var/lib/mysql + + #volumes: + # firefly_iii_upload: + # firefly_iii_db: diff --git a/finance/firefly3/vars.env b/finance/firefly3/vars.env new file mode 100644 index 0000000..a00366c --- /dev/null +++ b/finance/firefly3/vars.env @@ -0,0 +1,302 @@ +# You can leave this on "local". If you change it to production most console commands will ask for extra confirmation. +# Never set it to "testing". +APP_ENV=local + +# Set to true if you want to see debug information in error screens. +APP_DEBUG=false + +# This should be your email address. +# If you use Docker or similar, you can set this variable from a file by using SITE_OWNER_FILE +SITE_OWNER=mail@example.com + +# The encryption key for your sessions. Keep this very secure. +# Change it to a string of exactly 32 chars or use something like `php artisan key:generate` to generate it. +# If you use Docker or similar, you can set this variable from a file by using APP_KEY_FILE +# +# Avoid the "#" character in your APP_KEY, it may break things. +# +APP_KEY=SomeRandomStringOf32CharsExactly + +# Firefly III will launch using this language (for new users and unauthenticated visitors) +# For a list of available languages: https://github.com/firefly-iii/firefly-iii/tree/main/resources/lang +# +# If text is still in English, remember that not everything may have been translated. +DEFAULT_LANGUAGE=en_US + +# The locale defines how numbers are formatted. +# by default this value is the same as whatever the language is. +DEFAULT_LOCALE=equal + +# Change this value to your preferred time zone. +# Example: Europe/Amsterdam +# For a list of supported time zones, see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones +TZ=Europe/Amsterdam + +# TRUSTED_PROXIES is a useful variable when using Docker and/or a reverse proxy. +# Set it to ** and reverse proxies work just fine. +TRUSTED_PROXIES= + +# The log channel defines where your log entries go to. +# Several other options exist. You can use 'single' for one big fat error log (not recommended). +# Also available are 'syslog', 'errorlog' and 'stdout' which will log to the system itself. +# A rotating log option is 'daily', creates 5 files that (surprise) rotate. +# A cool option is 'papertrail' for cloud logging +# Default setting 'stack' will log to 'daily' and to 'stdout' at the same time. +LOG_CHANNEL=stack + +# +# Used when logging to papertrail: +# +PAPERTRAIL_HOST= +PAPERTRAIL_PORT= + +# Log level. You can set this from least severe to most severe: +# debug, info, notice, warning, error, critical, alert, emergency +# If you set it to debug your logs will grow large, and fast. If you set it to emergency probably +# nothing will get logged, ever. +APP_LOG_LEVEL=notice + +# Audit log level. +# Set this to "emergency" if you dont want to store audit logs, leave on info otherwise. +AUDIT_LOG_LEVEL=info + +# Database credentials. Make sure the database exists. I recommend a dedicated user for Firefly III +# For other database types, please see the FAQ: https://docs.firefly-iii.org/support/faq +# If you use Docker or similar, you can set these variables from a file by appending them with _FILE +# Use "pgsql" for PostgreSQL +# Use "mysql" for MySQL and MariaDB. +# Use "sqlite" for SQLite. +DB_CONNECTION=mysql +DB_HOST=db +DB_PORT=3306 +DB_DATABASE=firefly +DB_USERNAME=firefly +DB_PASSWORD=secret_firefly_password +# leave empty or omit when not using a socket connection +DB_SOCKET= + +# MySQL supports SSL. You can configure it here. +# If you use Docker or similar, you can set these variables from a file by appending them with _FILE +MYSQL_USE_SSL=false +MYSQL_SSL_VERIFY_SERVER_CERT=true +# You need to set at least of these options +MYSQL_SSL_CAPATH=/etc/ssl/certs/ +MYSQL_SSL_CA= +MYSQL_SSL_CERT= +MYSQL_SSL_KEY= +MYSQL_SSL_CIPHER= + +# PostgreSQL supports SSL. You can configure it here. +# If you use Docker or similar, you can set these variables from a file by appending them with _FILE +PGSQL_SSL_MODE=prefer +PGSQL_SSL_ROOT_CERT=null +PGSQL_SSL_CERT=null +PGSQL_SSL_KEY=null +PGSQL_SSL_CRL_FILE=null + +# more PostgreSQL settings +PGSQL_SCHEMA=public + +# If you're looking for performance improvements, you could install memcached or redis +CACHE_DRIVER=file +SESSION_DRIVER=file + +# If you set either of the options above to 'redis', you might want to update these settings too +# If you use Docker or similar, you can set REDIS_HOST_FILE, REDIS_PASSWORD_FILE or +# REDIS_PORT_FILE to set the value from a file instead of from an environment variable + +# can be tcp, unix or http +REDIS_SCHEME=tcp + +# use only when using 'unix' for REDIS_SCHEME. Leave empty otherwise. +REDIS_PATH= + +# use only when using 'tcp' or 'http' for REDIS_SCHEME. Leave empty otherwise. +REDIS_HOST=127.0.0.1 +REDIS_PORT=6379 + +# Use only with Redis 6+ with proper ACL set. Leave empty otherwise. +REDIS_USERNAME= +REDIS_PASSWORD= + +# always use quotes and make sure redis db "0" and "1" exists. Otherwise change accordingly. +REDIS_DB="0" +REDIS_CACHE_DB="1" + +# Cookie settings. Should not be necessary to change these. +# If you use Docker or similar, you can set COOKIE_DOMAIN_FILE to set +# the value from a file instead of from an environment variable +# Setting samesite to "strict" may give you trouble logging in. +COOKIE_PATH="/" +COOKIE_DOMAIN= +COOKIE_SECURE=false +COOKIE_SAMESITE=lax + +# If you want Firefly III to email you, update these settings +# For instructions, see: https://docs.firefly-iii.org/advanced-installation/email +# If you use Docker or similar, you can set these variables from a file by appending them with _FILE +MAIL_MAILER=log +MAIL_HOST=null +MAIL_PORT=2525 +MAIL_FROM=changeme@example.com +MAIL_USERNAME=null +MAIL_PASSWORD=null +MAIL_ENCRYPTION=null + +# Other mail drivers: +# If you use Docker or similar, you can set these variables from a file by appending them with _FILE +MAILGUN_DOMAIN= +MAILGUN_SECRET= + +# If you are on EU region in mailgun, use api.eu.mailgun.net, otherwise use api.mailgun.net +# If you use Docker or similar, you can set this variable from a file by appending it with _FILE +MAILGUN_ENDPOINT=api.mailgun.net + +# If you use Docker or similar, you can set these variables from a file by appending them with _FILE +MANDRILL_SECRET= +SPARKPOST_SECRET= + +# Firefly III can send you the following messages. +SEND_REGISTRATION_MAIL=true +SEND_ERROR_MESSAGE=true +SEND_LOGIN_NEW_IP_WARNING=true + +# These messages contain (sensitive) transaction information: +SEND_REPORT_JOURNALS=true + +# Set this value to true if you want to set the location +# of certain things, like transactions. Since this involves an external service, it's optional +# and disabled by default. +ENABLE_EXTERNAL_MAP=false + +# The map will default to this location: +MAP_DEFAULT_LAT=51.983333 +MAP_DEFAULT_LONG=5.916667 +MAP_DEFAULT_ZOOM=6 + +# +# Firefly III authentication settings +# + +# +# Firefly III supports a few authentication methods: +# - 'web' (default, uses built in DB) +# - 'remote_user_guard' for Authelia etc +# Read more about these settings in the documentation. +# https://docs.firefly-iii.org/advanced-installation/authentication +# +# LDAP is no longer supported :( +# +AUTHENTICATION_GUARD=web + +# +# Remote user guard settings +# +AUTHENTICATION_GUARD_HEADER=REMOTE_USER +AUTHENTICATION_GUARD_EMAIL= + +# +# Extra authentication settings +# +CUSTOM_LOGOUT_URL= + +# You can disable the X-Frame-Options header if it interferes with tools like +# Organizr. This is at your own risk. Applications running in frames run the risk +# of leaking information to their parent frame. +DISABLE_FRAME_HEADER=false + +# You can disable the Content Security Policy header when you're using an ancient browser +# or any version of Microsoft Edge / Internet Explorer (which amounts to the same thing really) +# This leaves you with the risk of not being able to stop XSS bugs should they ever surface. +# This is at your own risk. +DISABLE_CSP_HEADER=false + +# If you wish to track your own behavior over Firefly III, set valid analytics tracker information here. +# Nobody uses this except for me on the demo site. But hey, feel free to use this if you want to. +# Do not prepend the TRACKER_URL with http:// or https:// +# The only tracker supported is Matomo. +# You can set the following variables from a file by appending them with _FILE: +TRACKER_SITE_ID= +TRACKER_URL= + +# +# Firefly III supports webhooks. These are security sensitive and must be enabled manually first. +# +ALLOW_WEBHOOKS=false + +# +# The static cron job token can be useful when you use Docker and wish to manage cron jobs. +# 1. Set this token to any 32-character value (this is important!). +# 2. Use this token in the cron URL instead of a user's command line token. +# +# For more info: https://docs.firefly-iii.org/firefly-iii/advanced-installation/cron/ +# +# You can set this variable from a file by appending it with _FILE +# +STATIC_CRON_TOKEN= + +# You can fine tune the start-up of a Docker container by editing these environment variables. +# Use this at your own risk. Disabling certain checks and features may result in lost of inconsistent data. +# However if you know what you're doing you can significantly speed up container start times. +# Set each value to true to enable, or false to disable. + +# Set this to true to build all locales supported by Firefly III. +# This may take quite some time (several minutes) and is generally not recommended. +# If you wish to change or alter the list of locales, start your Docker container with +# `docker run -v locale.gen:/etc/locale.gen -e DKR_BUILD_LOCALE=true` +# and make sure your preferred locales are in your own locale.gen. +DKR_BUILD_LOCALE=false + +# Check if the SQLite database exists. Can be skipped if you're not using SQLite. +# Won't significantly speed up things. +DKR_CHECK_SQLITE=true + +# Run database creation and migration commands. Disable this only if you're 100% sure the DB exists +# and is up to date. +DKR_RUN_MIGRATION=true + +# Run database upgrade commands. Disable this only when you're 100% sure your DB is up-to-date +# with the latest fixes (outside of migrations!) +DKR_RUN_UPGRADE=true + +# Verify database integrity. Includes all data checks and verifications. +# Disabling this makes Firefly III assume your DB is intact. +DKR_RUN_VERIFY=true + +# Run database reporting commands. When disabled, Firefly III won't go over your data to report current state. +# Disabling this should have no impact on data integrity or safety but it won't warn you of possible issues. +DKR_RUN_REPORT=true + +# Generate OAuth2 keys. +# When disabled, Firefly III won't attempt to generate OAuth2 Passport keys. This won't be an issue, IFF (if and only if) +# you had previously generated keys already and they're stored in your database for restoration. +DKR_RUN_PASSPORT_INSTALL=true + +# Leave the following configuration vars as is. +# Unless you like to tinker and know what you're doing. +APP_NAME=FireflyIII +BROADCAST_DRIVER=log +QUEUE_DRIVER=sync +CACHE_PREFIX=firefly +PUSHER_KEY= +IPINFO_TOKEN= +PUSHER_SECRET= +PUSHER_ID= +DEMO_USERNAME= +DEMO_PASSWORD= +IS_HEROKU=false +FIREFLY_III_LAYOUT=v1 + +# +# If you have trouble configuring your Firefly III installation, DON'T BOTHER setting this variable. +# It won't work. It doesn't do ANYTHING. Don't believe the lies you read online. I'm not joking. +# This configuration value WILL NOT HELP. +# +# Notable exception to this rule is Synology, which, according to some users, will use APP_URL to rewrite stuff. +# +# This variable is ONLY used in some of the emails Firefly III sends around. Nowhere else. +# So when configuring anything WEB related this variable doesn't do anything. Nothing +# +# If you're stuck I understand you get desperate but look SOMEWHERE ELSE. +# +APP_URL=http://localhost diff --git a/finance/firefly3/vars.fidi.env b/finance/firefly3/vars.fidi.env new file mode 100644 index 0000000..9e15827 --- /dev/null +++ b/finance/firefly3/vars.fidi.env @@ -0,0 +1,236 @@ +# +# Where is Firefly III? +# +# 1) Make sure you ADD http:// or https:// +# 2) Make sure you REMOVE any trailing slash from the end of the URL. +# 3) In case of Docker, refer to the internal IP of your Firefly III installation. +# +# This value is not mandatory. But it is very useful. +# +# This variable can be set from a file if you append it with _FILE +# +FIREFLY_III_URL= + +# +# Imagine Firefly III can be reached at "http://172.16.0.2:8082" (internal Docker network or something). +# But you have a fancy URL: "https://personal-finances.bill.microsoft.com/" +# +# In those cases, you can overrule the URL so when the data importer links back to Firefly III, it uses the correct URL. +# +# 1) Make sure you ADD http:// or https:// +# 2) Make sure you REMOVE any trailing slash from the end of the URL. +# +# IF YOU SET THIS VALUE, YOU MUST ALSO SET THE FIREFLY_III_URL +# +# This variable can be set from a file if you append it with _FILE +# +VANITY_URL= + +# +# Set your Firefly III Personal Access Token +# You can find create a Personal Access Token on the /profile page (at the bottom) +# +# - Do not use the "command line token". That's the WRONG one. +# - Do not use "APP_KEY". That's the WRONG one. +# +# This value is not mandatory to set. Instructions will follow if you omit this field. +# +# This variable can be set from a file if you append it with _FILE +# +FIREFLY_III_ACCESS_TOKEN= + +# +# You can also use a public client ID. This is available in Firefly III 5.4.0-alpha.3 and higher. +# This is a number (1, 2, 3). If you use the client ID, you can leave the access token empty and vice versa. +# +# This value is not mandatory to set. Instructions will follow if you omit this field. +# +# This variable can be set from a file if you append it with _FILE +# +FIREFLY_III_CLIENT_ID= + +# +# Nordigen information. +# The key and ID can be set from a file if you append it with _FILE +# +NORDIGEN_ID= +NORDIGEN_KEY= +NORDIGEN_SANDBOX=false + +# +# Spectre information +# +# The ID and secret can be set from a file if you append it with _FILE +SPECTRE_APP_ID= +SPECTRE_SECRET= + +# +# Use cache. No need to do this. +# +USE_CACHE=false + +# +# If set to true, the data import will not complain about running into duplicates. +# This will give you cleaner import mails if you run regular imports. +# +# Of course, if something goes wrong *because* the transaction is a duplicate you will +# NEVER know unless you start digging in your log files. So be careful with this. +# +IGNORE_DUPLICATE_ERRORS=false + +# +# Auto import settings. Due to security constraints, you MUST enable each feature individually. +# You must also set a secret. The secret is used for the web routes. +# +# The auto-import secret must be a string of at least 16 characters. +# Visit this page for inspiration: https://www.random.org/passwords/?num=1&len=16&format=html&rnd=new +# +# Submit it using ?secret=X +# +# This variable can be set from a file if you append it with _FILE +# +AUTO_IMPORT_SECRET= + +# +# Is the /autoimport even endpoint enabled? +# By default it's disabled, and the secret alone will not enable it. +# +CAN_POST_AUTOIMPORT=false + +# +# Is the /autoupload endpoint enabled? +# By default it's disabled, and the secret alone will not enable it. +# +CAN_POST_FILES=false + +# +# Import directory white list. You need to set this before the auto importer will accept a directory to import from. +# +# This variable can be set from a file if you append it with _FILE +# +IMPORT_DIR_WHITELIST= + +# +# When you're running Firefly III under a (self-signed) certificate, +# the data importer may have trouble verifying the TLS connection. +# +# You have a few options to make sure the data importer can connect +# to Firefly III: +# - 'true': will verify all certificates. The most secure option and the default. +# - 'file.pem': refer to a file (you must provide it) to your custom root or intermediate certificates. +# - 'false': will verify NO certificates. Not very secure. +VERIFY_TLS_SECURITY=true + +# +# If you want, you can set a directory here where the data importer will look for import configurations. +# This is a separate setting from the /import directory that the auto-import uses. +# Setting this variable isn't necessary. The default value is "storage/configurations". +# +# This variable can be set from a file if you append it with _FILE +# +JSON_CONFIGURATION_DIR= + +# +# Time out when connecting with Firefly III. +# π*10 seconds is usually fine. +# +CONNECTION_TIMEOUT=31.41 + +# The following variables can be useful when debugging the application +APP_ENV=local +APP_DEBUG=false +LOG_CHANNEL=stack + +# Log level. You can set this from least severe to most severe: +# debug, info, notice, warning, error, critical, alert, emergency +# If you set it to debug your logs will grow large, and fast. If you set it to emergency probably +# nothing will get logged, ever. +LOG_LEVEL=debug + +# TRUSTED_PROXIES is a useful variable when using Docker and/or a reverse proxy. +# Set it to ** and reverse proxies work just fine. +TRUSTED_PROXIES= + +# +# Time zone +# +TZ=Europe/Amsterdam + +# +# Use ASSET_URL when you're running the data importer in a sub-directory. +# +ASSET_URL= + +# +# Email settings. +# The data importer can send you a message with all errors, warnings and messages +# after a successful import. This is disabled by default +# +ENABLE_MAIL_REPORT=false + +# +# Force Firefly III URL to be secure? +# +# +EXPECT_SECURE_URL=false + +# If enabled, define which mailer you want to use. +# Options include: smtp, mailgun, postmark, sendmail, log, array +# Amazon SES is not supported. +# log = drop mails in the logs instead of sending them +# array = debug mailer that does nothing. +MAIL_MAILER= + + +# where to send the report? +MAIL_DESTINATION=noreply@example.com + +# other mail settings +# These variables can be set from a file if you append it with _FILE +MAIL_FROM_ADDRESS=noreply@example.com +MAIL_HOST=smtp.mailtrap.io +MAIL_PORT=2525 +MAIL_USERNAME=username +MAIL_PASSWORD=password +MAIL_ENCRYPTION=null + +# Extra settings depending on your mail configuration above. +# These variables can be set from a file if you append it with _FILE +MAILGUN_DOMAIN= +MAILGUN_SECRET= +MAILGUN_ENDPOINT= +POSTMARK_TOKEN= + +# +# You probably won't need to change these settings. +# +BROADCAST_DRIVER=log +CACHE_DRIVER=file +QUEUE_CONNECTION=sync +SESSION_DRIVER=file +SESSION_LIFETIME=120 +IS_EXTERNAL=false + +REDIS_HOST=127.0.0.1 +REDIS_PASSWORD=null +REDIS_PORT=6379 + +# always use quotes +REDIS_DB="0" +REDIS_CACHE_DB="1" + +# The only tracker supported is Matomo. +# This is used on the public instance over at https://data-importer.firefly-iii.org +TRACKER_SITE_ID= +TRACKER_URL= + + +APP_NAME=DataImporter + +# +# The APP_URL environment variable is NOT used anywhere. +# Don't bother setting it to fix your reverse proxy problems. It won't help. +# Don't open issues telling me it doesn't help because it's not supposed to. +# Laravel uses this to generate links on the command line, which is a feature the CVS importer does not use. +# +APP_URL=http://localhost diff --git a/finance/firefly3/vars.yml b/finance/firefly3/vars.yml new file mode 100644 index 0000000..372b0fb --- /dev/null +++ b/finance/firefly3/vars.yml @@ -0,0 +1,2 @@ +traefik_svc_ident: app +traefik_svc_port: 8080 diff --git a/finance/invoiceninja5/config/nginx/in-vhost.conf b/finance/invoiceninja5/config/nginx/in-vhost.conf new file mode 100644 index 0000000..5cdb7d4 --- /dev/null +++ b/finance/invoiceninja5/config/nginx/in-vhost.conf @@ -0,0 +1,27 @@ +server { + listen 80 default_server; + server_name _; + + client_max_body_size 100M; + + root /var/www/app/public/; + index index.php; + + location / { + try_files $uri $uri/ /index.php?$query_string; + } + + location = /favicon.ico { access_log off; log_not_found off; } + location = /robots.txt { access_log off; log_not_found off; } + + location ~ \.php$ { + fastcgi_split_path_info ^(.+\.php)(/.+)$; + fastcgi_pass app:9000; + fastcgi_index index.php; + include fastcgi_params; + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + fastcgi_intercept_errors off; + fastcgi_buffer_size 16k; + fastcgi_buffers 4 16k; + } +} diff --git a/finance/invoiceninja5/docker-compose.yml b/finance/invoiceninja5/docker-compose.yml new file mode 100644 index 0000000..62b20a6 --- /dev/null +++ b/finance/invoiceninja5/docker-compose.yml @@ -0,0 +1,113 @@ +version: '3.7' + +networks: + front: + db: + +services: + + server: + image: nginx + volumes: + # Vhost configuration + #- ./config/caddy/Caddyfile:/etc/caddy/Caddyfiledocker-com + - ${app_dir_template}/config/nginx/in-vhost.conf:/etc/nginx/conf.d/in-vhost.conf:ro + - ${app_dir_data}/public:/var/www/app/public:ro + #depends_on: + # - app + # Run webserver nginx on port 80 + # Feel free to modify depending what port is already occupied + #ports: + # - "80:80" + # #- "443:443" + networks: + - front + #extra_hosts: + # - "in5.localhost:192.168.0.124 " #host and ip + + app: + image: invoiceninja/invoiceninja:5.5 + environment: + APP_URL: $app_prot://$app_fqdn + APP_KEY: base64:wWabbQX7N+kRZFEmnm80YaAqPLCPAuVPqK+40Kkhnh0= + APP_ENV: production + APP_DEBUG: false + REQUIRE_HTTPS: false + API_SECRET: + PHANTOMJS_PDF_GENERATION: false + PDF_GENERATOR: snappdf + TRUSTED_PROXIES: '*' + + IN_USER_EMAIL: $app_admin_email + IN_PASSWORD: $app_admin_passwd + + DB_HOST: $app_db_host + DB_PORT: $app_db_port + DB_DATABASE: $app_db_name + DB_USERNAME: $app_db_user + DB_PASSWORD: $app_db_passwd + restart: always + volumes: + #- ./config/hosts:/etc/hosts:ro + - $app_dir_data/public:/var/www/app/public:rw,delegated + - $app_dir_data/storage:/var/www/app/storage:rw,delegated + #depends_on: + # - db + networks: + - db + - front + #extra_hosts: + # - "in5.localhost:192.168.0.124 " #host and ip + + db: + image: $img_mysql8_name:$img_mysql8_version +# When running on ARM64 use MariaDB instead of MySQL +# image: mariadb:10.4 +# For auto DB backups comment out image and use the build block below +# build: +# context: ./config/mysql +#ports: + #- "3305:3306" + restart: always + #env_file: env + environment: + MYSQL_ROOT_PASSWORD: ninjaAdm1nPassword + MYSQL_HOST: $app_db_host + MYSQL_PORT: $app_db_port + MYSQL_DATABASE: $app_db_name + MYSQL_USER: $app_db_user + MYSQL_PASSWORD: $app_db_passwd + volumes: + - $app_dir_db_data:/var/lib/mysql:rw,delegated + + # remove comments for next 4 lines if you want auto sql backups + #- ./docker/mysql/bak:/backups:rw + #- ./config/mysql/backup-script:/etc/cron.daily/daily:ro + #- ./config/mysql/backup-script:/etc/cron.weekly/weekly:ro + #- ./config/mysql/backup-script:/etc/cron.monthly/monthly:ro + networks: + - db + #extra_hosts: + # - "in5.localhost:192.168.0.124 " #host and ip + + # THIS IS ONLY A VALID CONFIGURATION FOR IN 4. DO NOT USE FOR IN 5. + # cron: + # image: invoiceninja/invoiceninja:alpine-4 + # volumes: + # - ./docker/app/public:/var/www/app/public:rw,delegated + # - ./docker/app/storage:/var/www/app/storage:rw,delegated + # - ./docker/app/public/logo:/var/www/app/public/logo:rw,delegated + # entrypoint: | + # /bin/sh -c 'sh -s <