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