Skip to content

Commit da0c3cc

Browse files
committed
✨ Add firefly
1 parent 14fa3ee commit da0c3cc

File tree

3 files changed

+359
-0
lines changed

3 files changed

+359
-0
lines changed

firefly/.env.tmpl

+313
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,313 @@
1+
DOMAIN=example.com
2+
3+
# You can leave this on "local". If you change it to production most console commands will ask for extra confirmation.
4+
# Never set it to "testing".
5+
APP_ENV=local
6+
7+
# Set to true if you want to see debug information in error screens.
8+
APP_DEBUG=false
9+
10+
# This should be your email address.
11+
# If you use Docker or similar, you can set this variable from a file by using SITE_OWNER_FILE
12+
13+
14+
# The encryption key for your sessions. Keep this very secure.
15+
# Change it to a string of exactly 32 chars or use something like `php artisan key:generate` to generate it.
16+
# If you use Docker or similar, you can set this variable from a file by using APP_KEY_FILE
17+
#
18+
# Avoid the "#" character in your APP_KEY, it may break things.
19+
#
20+
APP_KEY="t3ggW92EqAxoSu!$Hrnk*ZUq*rNGPH*$"
21+
22+
# Firefly III will launch using this language (for new users and unauthenticated visitors)
23+
# For a list of available languages: https://github.com/firefly-iii/firefly-iii/tree/main/resources/lang
24+
#
25+
# If text is still in English, remember that not everything may have been translated.
26+
DEFAULT_LANGUAGE=en_US
27+
28+
# The locale defines how numbers are formatted.
29+
# by default this value is the same as whatever the language is.
30+
DEFAULT_LOCALE=equal
31+
32+
# Change this value to your preferred time zone.
33+
# Example: Europe/Amsterdam
34+
# For a list of supported time zones, see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
35+
TZ=Europe/Berlin
36+
37+
# TRUSTED_PROXIES is a useful variable when using Docker and/or a reverse proxy.
38+
# Set it to ** and reverse proxies work just fine.
39+
TRUSTED_PROXIES=**
40+
41+
# The log channel defines where your log entries go to.
42+
# Several other options exist. You can use 'single' for one big fat error log (not recommended).
43+
# Also available are 'syslog', 'errorlog' and 'stdout' which will log to the system itself.
44+
# A rotating log option is 'daily', creates 5 files that (surprise) rotate.
45+
# A cool option is 'papertrail' for cloud logging
46+
# Default setting 'stack' will log to 'daily' and to 'stdout' at the same time.
47+
LOG_CHANNEL=stack
48+
49+
#
50+
# Used when logging to papertrail:
51+
#
52+
PAPERTRAIL_HOST=
53+
PAPERTRAIL_PORT=
54+
55+
# Log level. You can set this from least severe to most severe:
56+
# debug, info, notice, warning, error, critical, alert, emergency
57+
# If you set it to debug your logs will grow large, and fast. If you set it to emergency probably
58+
# nothing will get logged, ever.
59+
APP_LOG_LEVEL=notice
60+
61+
# Audit log level.
62+
# Set this to "emergency" if you dont want to store audit logs, leave on info otherwise.
63+
AUDIT_LOG_LEVEL=info
64+
65+
# Database credentials. Make sure the database exists. I recommend a dedicated user for Firefly III
66+
# For other database types, please see the FAQ: https://docs.firefly-iii.org/support/faq
67+
# If you use Docker or similar, you can set these variables from a file by appending them with _FILE
68+
# Use "pgsql" for PostgreSQL
69+
# Use "mysql" for MySQL and MariaDB.
70+
# Use "sqlite" for SQLite.
71+
DB_CONNECTION=mysql
72+
DB_HOST=fireflyiii-db
73+
DB_PORT=3306
74+
DB_DATABASE=firefly
75+
DB_USERNAME=firefly
76+
DB_PASSWORD='2QtFN$RniYsfgniAq2^apFTd4QgMLHWQ&FHCvAH%yo*atTv9W@g2Yr7WrKNgs$nUR^YVzQvfnVkdfFTTN24*AdK9apfQGQ$&ha6m4^8Qs4GH7&Ai5poV!SzrXtCDUTmP'
77+
# leave empty or omit when not using a socket connection
78+
DB_SOCKET=
79+
80+
# MySQL supports SSL. You can configure it here.
81+
# If you use Docker or similar, you can set these variables from a file by appending them with _FILE
82+
MYSQL_USE_SSL=false
83+
MYSQL_SSL_VERIFY_SERVER_CERT=true
84+
# You need to set at least of these options
85+
MYSQL_SSL_CAPATH=/etc/ssl/certs/
86+
MYSQL_SSL_CA=
87+
MYSQL_SSL_CERT=
88+
MYSQL_SSL_KEY=
89+
MYSQL_SSL_CIPHER=
90+
91+
# PostgreSQL supports SSL. You can configure it here.
92+
# If you use Docker or similar, you can set these variables from a file by appending them with _FILE
93+
PGSQL_SSL_MODE=prefer
94+
PGSQL_SSL_ROOT_CERT=null
95+
PGSQL_SSL_CERT=null
96+
PGSQL_SSL_KEY=null
97+
PGSQL_SSL_CRL_FILE=null
98+
99+
# more PostgreSQL settings
100+
PGSQL_SCHEMA=public
101+
102+
# If you're looking for performance improvements, you could install memcached or redis
103+
CACHE_DRIVER=file
104+
SESSION_DRIVER=file
105+
106+
# If you set either of the options above to 'redis', you might want to update these settings too
107+
# If you use Docker or similar, you can set REDIS_HOST_FILE, REDIS_PASSWORD_FILE or
108+
# REDIS_PORT_FILE to set the value from a file instead of from an environment variable
109+
110+
# can be tcp, unix or http
111+
REDIS_SCHEME=tcp
112+
113+
# use only when using 'unix' for REDIS_SCHEME. Leave empty otherwise.
114+
REDIS_PATH=
115+
116+
# use only when using 'tcp' or 'http' for REDIS_SCHEME. Leave empty otherwise.
117+
REDIS_HOST=127.0.0.1
118+
REDIS_PORT=6379
119+
120+
# Use only with Redis 6+ with proper ACL set. Leave empty otherwise.
121+
REDIS_USERNAME=
122+
REDIS_PASSWORD=
123+
124+
# always use quotes and make sure redis db "0" and "1" exists. Otherwise change accordingly.
125+
REDIS_DB="0"
126+
REDIS_CACHE_DB="1"
127+
128+
# Cookie settings. Should not be necessary to change these.
129+
# If you use Docker or similar, you can set COOKIE_DOMAIN_FILE to set
130+
# the value from a file instead of from an environment variable
131+
# Setting samesite to "strict" may give you trouble logging in.
132+
COOKIE_PATH="/"
133+
COOKIE_DOMAIN=
134+
COOKIE_SECURE=false
135+
COOKIE_SAMESITE=lax
136+
137+
# If you want Firefly III to email you, update these settings
138+
# For instructions, see: https://docs.firefly-iii.org/advanced-installation/email
139+
# If you use Docker or similar, you can set these variables from a file by appending them with _FILE
140+
MAIL_MAILER=log
141+
MAIL_HOST=null
142+
MAIL_PORT=2525
143+
144+
MAIL_USERNAME=null
145+
MAIL_PASSWORD=null
146+
MAIL_ENCRYPTION=null
147+
148+
# Other mail drivers:
149+
# If you use Docker or similar, you can set these variables from a file by appending them with _FILE
150+
MAILGUN_DOMAIN=
151+
MAILGUN_SECRET=
152+
153+
# If you are on EU region in mailgun, use api.eu.mailgun.net, otherwise use api.mailgun.net
154+
# If you use Docker or similar, you can set this variable from a file by appending it with _FILE
155+
MAILGUN_ENDPOINT=api.mailgun.net
156+
157+
# If you use Docker or similar, you can set these variables from a file by appending them with _FILE
158+
MANDRILL_SECRET='37yc9XRYB^XowqByAMDZRVHxDhu$pRPhzsAM6y7#%QU3NPd#K8CEn!zLjWUHt3SnuD3^gL!xp9oUdCVAzop&sgpH6dRkPKGEnf&ZqUG@VeVKH56HiHN^&DDcEhruHAHU'
159+
SPARKPOST_SECRET='t5zqAmi2gTpzA*y*eL*LBGKLq^$wDt$Gy8@2f4Cr!$6V^Hh4SE36@g%P347okcViUhn$8y2$$tDCTc^ngVCTxn^wSDsr9bMCJdGp*Vv4PdrGy8LaZCNibPfZAm$pdEhE'
160+
161+
# Firefly III can send you the following messages.
162+
SEND_REGISTRATION_MAIL=true
163+
SEND_ERROR_MESSAGE=true
164+
SEND_LOGIN_NEW_IP_WARNING=true
165+
166+
# These messages contain (sensitive) transaction information:
167+
SEND_REPORT_JOURNALS=true
168+
169+
# Set this value to true if you want to set the location
170+
# of certain things, like transactions. Since this involves an external service, it's optional
171+
# and disabled by default.
172+
ENABLE_EXTERNAL_MAP=false
173+
174+
# The map will default to this location:
175+
MAP_DEFAULT_LAT=51.983333
176+
MAP_DEFAULT_LONG=5.916667
177+
MAP_DEFAULT_ZOOM=6
178+
179+
#
180+
# Firefly III authentication settings
181+
#
182+
183+
#
184+
# Firefly III supports a few authentication methods:
185+
# - 'web' (default, uses built in DB)
186+
# - 'remote_user_guard' for Authelia etc
187+
# Read more about these settings in the documentation.
188+
# https://docs.firefly-iii.org/advanced-installation/authentication
189+
#
190+
# LDAP is no longer supported :(
191+
#
192+
AUTHENTICATION_GUARD=web
193+
194+
#
195+
# Remote user guard settings
196+
#
197+
AUTHENTICATION_GUARD_HEADER=REMOTE_USER
198+
AUTHENTICATION_GUARD_EMAIL=
199+
200+
#
201+
# Firefly III generates a basic keypair for your OAuth tokens.
202+
# If you want, you can overrule the key with your own (secure) value.
203+
# It's also possible to set PASSPORT_PUBLIC_KEY_FILE or PASSPORT_PRIVATE_KEY_FILE
204+
# if you're using Docker secrets or similar solutions for secret management
205+
#
206+
PASSPORT_PRIVATE_KEY=
207+
PASSPORT_PUBLIC_KEY=
208+
209+
#
210+
# Extra authentication settings
211+
#
212+
CUSTOM_LOGOUT_URL=
213+
214+
# You can disable the X-Frame-Options header if it interferes with tools like
215+
# Organizr. This is at your own risk. Applications running in frames run the risk
216+
# of leaking information to their parent frame.
217+
DISABLE_FRAME_HEADER=false
218+
219+
# You can disable the Content Security Policy header when you're using an ancient browser
220+
# or any version of Microsoft Edge / Internet Explorer (which amounts to the same thing really)
221+
# This leaves you with the risk of not being able to stop XSS bugs should they ever surface.
222+
# This is at your own risk.
223+
DISABLE_CSP_HEADER=false
224+
225+
# If you wish to track your own behavior over Firefly III, set valid analytics tracker information here.
226+
# Nobody uses this except for me on the demo site. But hey, feel free to use this if you want to.
227+
# Do not prepend the TRACKER_URL with http:// or https://
228+
# The only tracker supported is Matomo.
229+
# You can set the following variables from a file by appending them with _FILE:
230+
TRACKER_SITE_ID=
231+
TRACKER_URL=
232+
233+
#
234+
# Firefly III supports webhooks. These are security sensitive and must be enabled manually first.
235+
#
236+
ALLOW_WEBHOOKS=false
237+
238+
#
239+
# The static cron job token can be useful when you use Docker and wish to manage cron jobs.
240+
# 1. Set this token to any 32-character value (this is important!).
241+
# 2. Use this token in the cron URL instead of a user's command line token.
242+
#
243+
# For more info: https://docs.firefly-iii.org/firefly-iii/advanced-installation/cron/
244+
#
245+
# You can set this variable from a file by appending it with _FILE
246+
#
247+
STATIC_CRON_TOKEN=
248+
249+
# You can fine tune the start-up of a Docker container by editing these environment variables.
250+
# Use this at your own risk. Disabling certain checks and features may result in lots of inconsistent data.
251+
# However if you know what you're doing you can significantly speed up container start times.
252+
# Set each value to true to enable, or false to disable.
253+
254+
# Set this to true to build all locales supported by Firefly III.
255+
# This may take quite some time (several minutes) and is generally not recommended.
256+
# If you wish to change or alter the list of locales, start your Docker container with
257+
# `docker run -v locale.gen:/etc/locale.gen -e DKR_BUILD_LOCALE=true`
258+
# and make sure your preferred locales are in your own locale.gen.
259+
DKR_BUILD_LOCALE=false
260+
261+
# Check if the SQLite database exists. Can be skipped if you're not using SQLite.
262+
# Won't significantly speed up things.
263+
DKR_CHECK_SQLITE=true
264+
265+
# Run database creation and migration commands. Disable this only if you're 100% sure the DB exists
266+
# and is up to date.
267+
DKR_RUN_MIGRATION=true
268+
269+
# Run database upgrade commands. Disable this only when you're 100% sure your DB is up-to-date
270+
# with the latest fixes (outside of migrations!)
271+
DKR_RUN_UPGRADE=true
272+
273+
# Verify database integrity. Includes all data checks and verifications.
274+
# Disabling this makes Firefly III assume your DB is intact.
275+
DKR_RUN_VERIFY=true
276+
277+
# Run database reporting commands. When disabled, Firefly III won't go over your data to report current state.
278+
# Disabling this should have no impact on data integrity or safety but it won't warn you of possible issues.
279+
DKR_RUN_REPORT=true
280+
281+
# Generate OAuth2 keys.
282+
# When disabled, Firefly III won't attempt to generate OAuth2 Passport keys. This won't be an issue, IFF (if and only if)
283+
# you had previously generated keys already and they're stored in your database for restoration.
284+
DKR_RUN_PASSPORT_INSTALL=true
285+
286+
# Leave the following configuration vars as is.
287+
# Unless you like to tinker and know what you're doing.
288+
APP_NAME=FireflyIII
289+
BROADCAST_DRIVER=log
290+
QUEUE_DRIVER=sync
291+
CACHE_PREFIX=firefly
292+
PUSHER_KEY=
293+
IPINFO_TOKEN=
294+
PUSHER_SECRET=
295+
PUSHER_ID=
296+
DEMO_USERNAME=
297+
DEMO_PASSWORD=
298+
IS_HEROKU=false
299+
FIREFLY_III_LAYOUT=v1
300+
301+
#
302+
# If you have trouble configuring your Firefly III installation, DON'T BOTHER setting this variable.
303+
# It won't work. It doesn't do ANYTHING. Don't believe the lies you read online. I'm not joking.
304+
# This configuration value WILL NOT HELP.
305+
#
306+
# Notable exception to this rule is Synology, which, according to some users, will use APP_URL to rewrite stuff.
307+
#
308+
# This variable is ONLY used in some of the emails Firefly III sends around. Nowhere else.
309+
# So when configuring anything WEB related this variable doesn't do anything. Nothing
310+
#
311+
# If you're stuck I understand you get desperate but look SOMEWHERE ELSE.
312+
#
313+
APP_URL=http://localhost

firefly/README.md

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# Firefly III

firefly/docker-compose.yml

+45
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
version: "3.3"
2+
3+
services:
4+
###############################################
5+
#### fireflyiii #####
6+
###############################################
7+
fireflyiii:
8+
image: fireflyiii/core:latest
9+
container_name: fireflyiii
10+
restart: unless-stopped
11+
env_file: .env
12+
volumes:
13+
- ./data/upload:/var/www/html/storage/upload
14+
networks:
15+
- fireflyiii-backend
16+
- proxy
17+
labels:
18+
- "traefik.enable=true" #<== Enable traefik
19+
- "traefik.http.routers.fireflyiii-secured.rule=Host(`finance.${DOMAIN}`)" #<== Set domain
20+
- "traefik.http.routers.fireflyiii-secured.entrypoints=websecure" #<== Set entry point for HTTPS
21+
- "traefik.http.routers.fireflyiii-secured.tls.certresolver=mytlschallenge" #<== Set certsresolvers for https
22+
- "traefik.http.routers.fireflyiii-secured.middlewares=authelia" #<== Add Authelia middlewares to protect login
23+
- "traefik.http.routers.fireflyiii-secured.service=fireflyiii-service" #<== Set service
24+
- "traefik.http.services.fireflyiii-service.loadbalancer.server.port=8080" #<== Set target port on container
25+
26+
fireflyiii-db:
27+
image: mariadb
28+
container_name: fireflyiii-db
29+
hostname: ${DB_HOST}
30+
restart: always
31+
environment:
32+
- MYSQL_RANDOM_ROOT_PASSWORD=yes
33+
- MYSQL_USER=${DB_USERNAME}
34+
- MYSQL_PASSWORD=${DB_PASSWORD}
35+
- MYSQL_DATABASE=${DB_DATABASE}
36+
volumes:
37+
- ./data/db:/var/lib/mysql
38+
networks:
39+
- fireflyiii-backend
40+
41+
networks:
42+
proxy:
43+
external: true
44+
fireflyiii-backend:
45+
name: proxy-backend

0 commit comments

Comments
 (0)