“Firefly III” ist ein (selbstgehosteter) Manager für Ihre persönlichen Finanzen. Er hilft Ihnen, den Überblick über Ihre Ausgaben und Einnahmen zu behalten, so dass Sie weniger ausgeben und mehr sparen können. Firefly III unterstützt die Verwendung von Budgets, Kategorien und Tags. Mit einer Reihe von externen Tools können Sie Daten importieren. Außerdem stehen Ihnen viele übersichtliche Finanzberichte zur Verfügung.
Firefly III soll Ihnen Einblick in und Kontrolle über Ihre Finanzen geben. Geld sollte nützlich sein, nicht beängstigend. Sie sollten in der Lage sein, zu sehen, wohin es fließt, Ihre Ausgaben zu spüren und zu… wow, ich übertreibe, nicht wahr?
Aber Sie verstehen schon: Es ist Ihr Geld. Das sind Ihre Ausgaben. Halten Sie sie davon ab, Sie zu kontrollieren. Ich habe dieses Tool entwickelt, weil ich anfing, Geld zu hassen. Geld zu haben, kein Geld zu haben, Rechnungen mit Geld zu bezahlen - Sie verstehen, was ich meine. Aber jetzt nicht mehr. Ich möchte mich “sicher” fühlen, egal wie hoch mein Kontostand ist. Und ich hoffe, dieses Tool kann Ihnen helfen. Ich weiß, dass es mir hilft. Zweck
Firefly III auf dem iPad
Persönliches Finanzmanagement ist ziemlich schwierig, und jeder hat seinen eigenen Ansatz dazu. Manche Leute machen Budgets, andere begrenzen ihren Geldfluss, indem sie ihre Kreditkarten wegwerfen, wieder andere versuchen, ihren aktuellen Geldfluss zu erhöhen. Es gibt unzählige Möglichkeiten, Geld zu sparen und zu verdienen. Firefly III basiert auf dem Prinzip, dass Sie, wenn Sie wissen, wohin Ihr Geld fließt, verhindern können, dass es dorthin fließt.
Indem Sie Ihre Ausgaben und Einnahmen im Auge behalten, können Sie Ihr Budget entsprechend planen und Geld sparen. Hören Sie auf, von Gehaltsscheck zu Gehaltsscheck zu leben, sondern geben Sie sich den finanziellen Spielraum, den Sie brauchen.
Mehr über den Zweck von Firefly III erfahren Sie in der documentation.
Siehe auch unsere News, die einige Erklärungen und Screenshots enthält. Die Installation dort ist Docker-basiert, du diesen Weg bevorzugst.
pacman -S composer php-sodium
See also php installation
nano /etc/php/php.ini
extension=bcmath extension=curl extension=gd extension=iconv extension=intl extension=pdo_mysql extension=sodium extension=zip
systemctl restart php-fpm.service
Siehe neueste Versions Nummer und ändere den Befehl wie folgt:
cd /srv/http composer create-project grumpydictator/firefly-iii --no-dev --prefer-dist firefly-iii 5.7.18 chown -R http: firefly-iii/ chmod -R 775 firefly-iii/storage
Siehe auch dazu redis und erstelle einen user und database.
Hier werden nur die wichtigsten aufgeführt. Änder den Rest nach deinen Bedürfnissen:
nano .env
TRUSTED_PROXIES=** DB_CONNECTION=mysql DB_DATABASE=firefly DB_USERNAME=firefly DB_PASSWORD=PASSWORD DB_SOCKET=/run/mysqld/mysqld.sock CACHE_DRIVER=redis SESSION_DRIVER=redis REDIS_SCHEME=unix REDIS_PATH=/run/redis/redis.sock # Leave it empty REDIS_HOST= REDIS_PORT= REDIS_PASSWORD=yourPASSWORD REDIS_DB="0" REDIS_CACHE_DB="1" APP_URL=https:/firefly.home
Erstelle das Update-Skript in /srv/http
:
nano update_firefly.sh
#!/bin/bash # Modify next line to where your firefly-iii instance is installed to. cd /srv/http # Remove old version of firefly-iii rm -r firefly-iii-old # Get latest version of firefly latestversion=$(curl -s https://api.github.com/repos/firefly-iii/firefly-iii/releases/latest | grep -oP '"tag_name": "\K(.*)(?=")') # Install latest version yes | composer create-project grumpydictator/firefly-iii --no-dev --prefer-dist firefly-iii-updated $latestversion cp firefly-iii/.env firefly-iii-updated/.env cp firefly-iii/storage/upload/* firefly-iii-updated/storage/upload/ cp firefly-iii/storage/export/* firefly-iii-updated/storage/export/ cd firefly-iii-updated rm -rf bootstrap/cache/* php artisan cache:clear php artisan migrate --seed php artisan firefly-iii:upgrade-database php artisan passport:install php artisan cache:clear # Serve next version, make sure rights are ok, restart nginx cd .. mv firefly-iii firefly-iii-old mv firefly-iii-updated firefly-iii sleep 10 cd firefly-iii php artisan cache:clear sleep 10 cd .. chown -R http: firefly-iii sleep 10 chmod -R 775 firefly-iii/storage sleep 10 systemctl restart nginx.service
chmod u+x update_firefly.sh ./update_firefly.sh
Dieser Datenimporteur ist ein Universalimporteur, d.h. er kann aus allen erdenklichen Quellen importieren. Und wenn er das nicht kann, dann schreiben Sie mir eine Nachricht und lassen Sie mich Ihre Lieblingsdatenquelle hinzufügen.
Der Datenimport unterstützt eine Vielzahl von Quellen:
Da es für einen armen Open-Source-Entwickler wie mich sehr schwierig ist, maßgeschneiderte sichere Verbindungen zu jeder einzelnen Bank aufzubauen, habe ich die Hilfe von zwei Unternehmen in Anspruch genommen, die dieses Rätsel bereits gelöst haben. Sie können nicht genug Anerkennung bekommen:
Wenn diese Institute Ihr Finanzinstitut nicht unterstützen, können Sie sicher sein, dass Sie trotzdem CSV-Dateien importieren können. Andere Formate sind noch in Planung. Das sollte Ihre Bedürfnisse abdecken.
Siehe neueste Versions Nummer und ändere den Befehl wie folgt:
cd /srv/http composer create-project firefly-iii/data-importer --no-dev --prefer-dist firefly-iii-data-importer 0.9.17 chown -R http: firefly-iii-data-importer/ chmod -R 775 firefly-iii-data-importer/storage
Gehe zu deinem https://firefly.home/profile und erstelle ein neuen Access Token und nenne es `Importer` oder wie immer du willst.
Siehe auch dazu redis.
Hier werden nur die wichtigsten aufgeführt. Änder den Rest nach deinen Bedürfnissen:
nano .env
FIREFLY_III_URL=https://firefly.home FIREFLY_III_ACCESS_TOKE=yourTOKEN TRUSTED_PROXIES=** REDIS_SCHEME=unix REDIS_PATH=/run/redis/redis.sock # Leave it empty REDIS_HOST= REDIS_PORT= REDIS_PASSWORD=yourPASSWORD REDIS_DB="0" REDIS_CACHE_DB="1" APP_URL=https://firefly-import.home
Erstelle das Update-Skript in /srv/http
:
nano update_firefly-importer.sh
#!/bin/bash # Modify next line to where your firefly-iii instance is installed to. cd /srv/http # Remove old version of firefly-iii rm -r firefly-iii-data-importer-old # Get latest version of firefly latestversion=$(curl -s https://api.github.com/repos/firefly-iii/data-importer/releases/latest | grep -oP '"tag_name": "\K(.*)(?=")') # Install latest version yes | composer create-project firefly-iii/data-importer --no-dev --prefer-dist firefly-iii-data-importer-updated $latestversion cp firefly-iii-data-importer/.env firefly-iii-data-importer-updated/.env cp firefly-iii-data-importer/storage/configurations/*.json firefly-iii-data-importer-updated/storage/configurations/ # Serve next version, make sure rights are ok, restart nginx mv firefly-iii-data-importer firefly-iii-data-importer-old mv firefly-iii-data-importer-updated firefly-iii-data-importer sleep 10 chown -R http: firefly-iii-data-importer/ sleep 10 chmod -R 775 firefly-iii-data-importer/storage sleep 10 systemctl restart nginx.service
chmod u+x update_firefly-importer.sh ./update_firefly-importer.sh
nano /etc/nginx/sites-available/firefly.home
server { listen 80; server_name firefly.home; rewrite ^ https://$host$request_uri? permanent; } server { listen 443 ssl http2; server_name firefly.home; ssl_certificate /etc/nginx/ssl/firefly.home.crt; ssl_certificate_key /etc/nginx/ssl/firefly.home.key; include conf.d/ssl-params.conf; root /srv/http/firefly-iii/public; index index.html index.htm index.php; location / { try_files $uri /index.php$is_args$args; autoindex on; sendfile off; } location ~ \.php$ { fastcgi_pass unix:/run/php-fpm/php-fpm.sock; fastcgi_index index.php; fastcgi_read_timeout 240; # fastcgi_param SCRIPT_FILENAME /srv/http/firefly-iii/public/index.php; include fastcgi_params; fastcgi_split_path_info ^(.+.php)(/.+)$; fastcgi_param modHeadersAvailable true; fastcgi_param SCRIPT_FILENAME $request_filename; } access_log /var/log/nginx/firefly-access.log; error_log /var/log/nginx/firefly_error.log; }
nano /etc/nginx/sites-available/firefly-importer.home
server { listen 80; server_name firefly-importer.home; rewrite ^ https://$host$request_uri? permanent; } server { listen 443 ssl http2; server_name firefly-importer.home; ssl_certificate /etc/nginx/ssl/firefly-importer.home.crt; ssl_certificate_key /etc/nginx/ssl/firefly-importer.home.key; include conf.d/ssl-params.conf; root /srv/http/firefly-iii-data-importer/public; index index.html index.htm index.php; location / { try_files $uri /index.php$is_args$args; autoindex on; sendfile off; } location ~ \.php$ { fastcgi_pass unix:/run/php-fpm/php-fpm.sock; fastcgi_index index.php; fastcgi_read_timeout 240; # fastcgi_param SCRIPT_FILENAME /srv/http/firefly-iii-data-importer/public/index.php; include fastcgi_params; fastcgi_split_path_info ^(.+.php)(/.+)$; fastcgi_param modHeadersAvailable true; fastcgi_param SCRIPT_FILENAME $request_filename; client_max_body_size 64M; fastcgi_buffer_size 128k; fastcgi_buffers 4 256k; fastcgi_busy_buffers_size 256k; } access_log /var/log/nginx/firefly-importer-access.log; error_log /var/log/nginx/firefly-importer_error.log; }
# Firefly III 0 3 * * * /usr/bin/php /srv/http/firefly-iii/artisan firefly-iii:cron