infrastructure/firefly3/docker-compose.yml

67 lines
1.7 KiB
YAML

version: '3.3'
services:
app:
image: fireflyiii/core:${firefly_version:-latest}
restart: unless-stopped
volumes:
- firefly_iii_upload:/var/www/html/storage/upload
env_file: .env
environment:
- APP_KEY=${APP_KEY:-SomeRandomStringOf32CharsExactly}
- MAIL_PASSWORD=${MAIL_PASSWORD:-null}
- STATIC_CRON_TOKEN=${STATIC_CRON_TOKEN:-SomeRandomStringOf32CharsExactly}
- VIRTUAL_HOST=firefly.jfreudenberger.de # the domain where the service should be reached
- VIRTUAL_PORT=8080 # the port the service listens in the container
- LETSENCRYPT_HOST=firefly.jfreudenberger.de # the same domain as VIRTUAL_HOST; this enables ssl
depends_on:
- db
networks:
- firefly
- db
- webproxy
- smtp_relay
db:
image: postgres:${postgres_version:-14}
restart: unless-stopped
environment:
- POSTGRES_USER=firefly
- POSTGRES_PASSWORD=firefly
- POSTGRES_DB=firefly
volumes:
- firefly_iii_db:/var/lib/postgresql/data
networks:
- db
cron:
image: alpine
restart: unless-stopped
command: sh -c "echo \"0 3 * * * wget -qO- http://app:8080/api/v1/cron/${STATIC_CRON_TOKEN:-SomeRandomStringOf32CharsExactly}\" | crontab - && crond -f -L /dev/stdout"
networks:
- firefly
fints-importer:
image: benkl/firefly-iii-fints-importer
restart: unless-stopped
volumes:
- importer-configurations:/app/configurations
ports:
- 8080:8080
networks:
- firefly
volumes:
firefly_iii_upload:
firefly_iii_db:
importer-configurations:
networks:
firefly:
db:
webproxy:
external:
name: webproxy
smtp_relay:
external:
name: smtp_relay