Commit 84711a5d authored by Dmitrii Poddubnyi's avatar Dmitrii Poddubnyi
Browse files

Documented docker setup

parent de918446
Pipeline #6615 passed with stages
in 3 minutes and 11 seconds
......@@ -7,11 +7,12 @@ EasyQuickImport is a tool that helps you import invoices, bills, transactions,
customers and vendors into QuickBooks Desktop in multiple currencies in bulk.
### Features
- **Invoices, bills, transactions (General Journal entries), customers, and vendors import in csv, xlsx, xls formats.**
- **Multicurrency support with NON-USD base currency**. The currency of your accounts is automatically detected
from the imported Chart of accounts.
- **Import of Journal Entries transactions, Single-line Invoices and bills**. Import creates customers, and vendors automatically.
- **Supported formats: csv, xlsx, xls**
- **Multicurrency support**. The base currency can be USD, EUR or anything else. The currency of all your accounts is detected automatically
(after you import the Chart of accounts).
- **Cross Currency Transactions**. Transfer between accounts of different currencies goes through the Undeposited
funds account. The Undeposited funds balance remains zero because EasyQuickImport uses the accurate historical exchange rate.
funds account. EasyQuickImport doesn't affect the Undeposited funds balance because it uses the accurate historical exchange rate.
- **Historical exchange rate**. EasyQuickImport automatically obtains the exchange rate from European Central Bank
on a given date for any currency for each transaction. You can use [other exchange rate sources](https://github.com/florianv/exchanger) as well.
- **Multi-tenancy**: if you have multiple company files on the same computer, you can add them all to EasyQuickImport.
......@@ -56,6 +57,78 @@ When it's done don't forget to specify the password that you defined in EasyQuic
## How to install EasyQuickImport
### Docker setup
Here is docker-compose example with [traefik v1.7](https://doc.traefik.io/traefik/v1.7/)
1. Create `docker-compose.yml` with the following content:
```yaml
version: '3.3'
services:
php:
image: registry.dev.trackmage.com/karser/easyquickimport/app_php
environment:
APP_ENV: 'prod'
DATABASE_URL: 'mysql://eqi:pass123@mysql:3306/easyquickimport?serverVersion=mariadb-10.2.22'
MAILER_DSN: 'smtp://localhost'
# MAILER_DSN: 'ses://ACCESS_KEY:SECRET_KEY@default?region=eu-west-1'
# MAILER_DSN: 'ses+smtp://ACCESS_KEY:SECRET_KEY@default?region=eu-west-1'
DOMAIN: 'your-domain.com'
depends_on:
- mysql
networks:
- backend
nginx:
image: registry.dev.trackmage.com/karser/easyquickimport/app_nginx
depends_on:
- php
networks:
- backend
- webproxy
labels:
- "traefik.backend=easyquickimport-nginx"
- "traefik.docker.network=webproxy"
- "traefik.frontend.rule=Host:your-domain.com"
- "traefik.enable=true"
- "traefik.port=80"
mysql:
image: leafney/alpine-mariadb:10.2.22
environment:
MYSQL_ROOT_PWD: 'pass123'
MYSQL_USER: 'eqi'
MYSQL_USER_PWD: 'pass123'
MYSQL_USER_DB: 'easyquickimport'
volumes:
- ./db_data/:/var/lib/mysql
networks:
- backend
networks:
backend:
webproxy:
external: true
```
2. Tweak the environment variables and run
```
docker-compose up -d
```
3. Check the logs and make sure migrations executed
```
docker-compose logs -f
```
4. Create a user
```
docker-compose exec php bin/console app:create-user user@example.com --password pass123
The user has been created with id 1
```
5. Done! Now open `https://your-domain.com` and log in with the user you just created.
### Development setup
1. Clone the repo
```
git clone https://github.com/karser/EasyQuickImport.git
......
......@@ -14,7 +14,7 @@
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="//matomo.dev.trackmage.com/";
var u="//vega.dev.trackmage.com/";
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '4']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment