Firefly III Data Importer and cronjob for Firefly III (#570)
This commit is contained in:
parent
08e1fe60c0
commit
514c3a551d
36
apps/firefly-iii-data-importer/config.json
Normal file
36
apps/firefly-iii-data-importer/config.json
Normal file
|
@ -0,0 +1,36 @@
|
|||
{
|
||||
"$schema": "../schema.json",
|
||||
"name": "Firefly III Data Importer",
|
||||
"available": true,
|
||||
"exposable": true,
|
||||
"port": 8116,
|
||||
"tipi_version": 2,
|
||||
"version": "version-1.2.2",
|
||||
"id": "firefly-iii-data-importer",
|
||||
"categories": ["finance"],
|
||||
"description": "",
|
||||
"short_desc": "The Firefly III Data Importer can import data into Firefly III",
|
||||
"author": "JC5",
|
||||
"website": "https://www.firefly-iii.org/",
|
||||
"source": "https://github.com/firefly-iii/data-importer",
|
||||
"form_fields": [
|
||||
{
|
||||
"type": "text",
|
||||
"label": "Firefly III URL",
|
||||
"required": false,
|
||||
"env_variable": "FIREFLY_III_URL"
|
||||
},
|
||||
{
|
||||
"type": "number",
|
||||
"label": "Firefly III Public Client ID",
|
||||
"required": false,
|
||||
"env_variable": "FIREFLY_III_CLIENT_ID"
|
||||
},
|
||||
{
|
||||
"type": "text",
|
||||
"label": "Firefly III OAuth Access Token",
|
||||
"required": false,
|
||||
"env_variable": "FIREFLY_III_ACCESS_TOKEN"
|
||||
}
|
||||
]
|
||||
}
|
47
apps/firefly-iii-data-importer/docker-compose.yml
Normal file
47
apps/firefly-iii-data-importer/docker-compose.yml
Normal file
|
@ -0,0 +1,47 @@
|
|||
version: '3.9'
|
||||
|
||||
services:
|
||||
ff-iii-importer:
|
||||
image: fireflyiii/data-importer:version-1.2.2
|
||||
container_name: firefly-iii-importer
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- ${APP_PORT}:8080
|
||||
environment:
|
||||
- FIREFLY_III_URL=${FIREFLY_III_URL}
|
||||
- FIREFLY_III_ACCESS_TOKEN=${FIREFLY_III_ACCESS_TOKEN}
|
||||
- FIREFLY_III_CLIENT_ID=${FIREFLY_III_CLIENT_ID}
|
||||
- TZ=${TZ}
|
||||
- TRUSTED_PROXIES=**
|
||||
- VERIFY_TLS_SECURITY=false
|
||||
- APP_ENV=local
|
||||
- APP_DEBUG=false
|
||||
- LOG_CHANNEL=stack
|
||||
- LOG_LEVEL=info
|
||||
networks:
|
||||
- tipi_main_network
|
||||
labels:
|
||||
# Main
|
||||
traefik.enable: true
|
||||
traefik.http.middlewares.ff-iii-importer-web-redirect.redirectscheme.scheme: https
|
||||
traefik.http.services.ff-iii-importer.loadbalancer.server.port: 8080
|
||||
# Web
|
||||
traefik.http.routers.ff-iii-importer-insecure.rule: Host(`${APP_DOMAIN}`)
|
||||
traefik.http.routers.ff-iii-importer-insecure.entrypoints: web
|
||||
traefik.http.routers.ff-iii-importer-insecure.service: ff-iii-importer
|
||||
traefik.http.routers.ff-iii-importer-insecure.middlewares: ff-iii-importer-web-redirect
|
||||
# Websecure
|
||||
traefik.http.routers.ff-iii-importer.rule: Host(`${APP_DOMAIN}`)
|
||||
traefik.http.routers.ff-iii-importer.entrypoints: websecure
|
||||
traefik.http.routers.ff-iii-importer.service: ff-iii-importer
|
||||
traefik.http.routers.ff-iii-importer.tls.certresolver: myresolver
|
||||
# Local domain
|
||||
traefik.http.routers.ff-iii-importer-local-insecure.rule: Host(`firefly-iii-data-importer.${LOCAL_DOMAIN}`)
|
||||
traefik.http.routers.ff-iii-importer-local-insecure.entrypoints: web
|
||||
traefik.http.routers.ff-iii-importer-local-insecure.service: ff-iii-importer
|
||||
traefik.http.routers.ff-iii-importer-local-insecure.middlewares: ff-iii-importer-web-redirect
|
||||
# Local domain secure
|
||||
traefik.http.routers.ff-iii-importer-local.rule: Host(`firefly-iii-data-importer.${LOCAL_DOMAIN}`)
|
||||
traefik.http.routers.ff-iii-importer-local.entrypoints: websecure
|
||||
traefik.http.routers.ff-iii-importer-local.service: ff-iii-importer
|
||||
traefik.http.routers.ff-iii-importer-local.tls: true
|
32
apps/firefly-iii-data-importer/metadata/description.md
Normal file
32
apps/firefly-iii-data-importer/metadata/description.md
Normal file
|
@ -0,0 +1,32 @@
|
|||
# Firefly III Data Importer
|
||||
"Firefly III" is a (self-hosted) manager for your personal finances. It can help you keep track of your expenses and income, so you can spend less and save more. The **data importer** is built to help you import transactions into Firefly III. It is separated from Firefly III for security and maintenance reasons.
|
||||
|
||||
The data importer does not connect to your bank directly. Instead, it uses [Nordigen](https://nordigen.com/en/coverage/) and [SaltEdge](https://www.saltedge.com/products/spectre/countries) to connect to over 6000 banks worldwide. These services are free for Firefly III users, but require registration. Keep in mind these services have their own privacy and data usage policies.
|
||||
|
||||
The data importer can import CSV files you've downloaded from your bank.
|
||||
|
||||
You can run the data importer once, for a bulk import. You can also run it regularly to keep up with new transactions.
|
||||
|
||||
Eager to get started? Go to [the documentation](https://docs.firefly-iii.org/data-importer)!
|
||||
|
||||
## Features
|
||||
|
||||
* Import from over 6000 banks
|
||||
* Import over the command line for easy automation
|
||||
* Import over an API for easy automation
|
||||
* Use rules and data mapping for transaction clarity
|
||||
|
||||
Many more features are listed in the [documentation](https://docs.firefly-iii.org/data-importer).
|
||||
|
||||
## Who's it for?
|
||||
|
||||
This application is for people who want to track their finances, keep an eye on their money **without having to upload their financial records to the cloud**. You're a bit tech-savvy, you like open source software, and you don't mind tinkering with (self-hosted) servers.
|
||||
|
||||
## Need help?
|
||||
|
||||
If you need support using Firefly III or the associated tools, come find us!
|
||||
|
||||
- [GitHub Discussions for questions and support](https://github.com/firefly-iii/firefly-iii/discussions/)
|
||||
- [Gitter.im for a good chat and a quick answer](https://gitter.im/firefly-iii/firefly-iii)
|
||||
- [GitHub Issues for bugs and issues](https://github.com/firefly-iii/firefly-iii/issues)
|
||||
- [Follow me around for news and updates on Mastodon](https://fosstodon.org/@ff3)
|
BIN
apps/firefly-iii-data-importer/metadata/logo.jpg
Normal file
BIN
apps/firefly-iii-data-importer/metadata/logo.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 33 KiB |
|
@ -4,8 +4,8 @@
|
|||
"available": true,
|
||||
"exposable": true,
|
||||
"port": 8115,
|
||||
"tipi_version": 4,
|
||||
"version": "version-5.7.11",
|
||||
"tipi_version": 5,
|
||||
"version": "version-6.0.10",
|
||||
"id": "firefly-iii",
|
||||
"categories": ["finance"],
|
||||
"description": "",
|
||||
|
@ -33,6 +33,13 @@
|
|||
"max": 32,
|
||||
"label": "Database password",
|
||||
"env_variable": "MYSQL_PASSWORD"
|
||||
},
|
||||
{
|
||||
"type": "random",
|
||||
"min": 32,
|
||||
"max": 32,
|
||||
"label": "Random key",
|
||||
"env_variable": "STATIC_CRON_TOKEN"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
@ -2,7 +2,7 @@ version: "3.9"
|
|||
|
||||
services:
|
||||
firefly-iii:
|
||||
image: fireflyiii/core:version-5.7.11
|
||||
image: fireflyiii/core:version-6.0.10
|
||||
container_name: firefly-iii
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
|
@ -16,6 +16,7 @@ services:
|
|||
- APP_DEBUG=false
|
||||
- SITE_OWNER=${EMAIL}
|
||||
- APP_KEY=${APP_KEY}
|
||||
- STATIC_CRON_TOKEN=${STATIC_CRON_TOKEN}
|
||||
- TZ=${TZ}
|
||||
- TRUSTED_PROXIES=**
|
||||
|
||||
|
@ -82,3 +83,10 @@ services:
|
|||
- ${APP_DATA_DIR}/data/db:/var/lib/mysql
|
||||
networks:
|
||||
- tipi_main_network
|
||||
|
||||
firefly-iii-cron:
|
||||
container_name: firefly-iii-cron
|
||||
image: alpine
|
||||
command: sh -c "echo \"0 3 * * * wget -qO- http://${APP_DOMAIN}/api/v1/cron/${STATIC_CRON_TOKEN}\" | crontab - && crond -f -L /dev/stdout"
|
||||
networks:
|
||||
- tipi_main_network
|
||||
|
|
Loading…
Reference in New Issue
Block a user