docker-stacks/firefly-iii/docker-compose.yml

51 lines
1.3 KiB
YAML

version: '3.8'
services:
app:
image: 'fireflyiii/core:${IMAGE_TAG:-latest}'
hostname: app
container_name: firefly_iii_core
restart: always
volumes:
- '${UPLOAD_DIR:-./upload}:/var/www/html/storage/upload'
env_file: .env
networks:
- firefly_iii
ports:
- '${HTTP_BIND_ADDR:-127.0.0.1}:${HTTP_BIND_PORT:-8392}:8080/tcp'
depends_on:
- db
db:
image: mariadb:lts
hostname: db
container_name: firefly_iii_db
restart: always
env_file: .env
environment:
MYSQL_RANDOM_ROOT_PASSWORD: 'yes'
MYSQL_USER: '${DB_USERNAME:-firefly}'
MYSQL_PASSWORD: '${DB_PASSWORD}'
MYSQL_DATABASE: '${DB_DATABASE:-firefly}'
networks:
- firefly_iii
volumes:
- '${DB_DIR:-./db}:/var/lib/mysql'
cron:
#
# To make this work, set STATIC_CRON_TOKEN in your .env file or as an environment variable and replace REPLACEME below
# The STATIC_CRON_TOKEN must be *exactly* 32 characters long
#
image: alpine
restart: always
container_name: firefly_iii_cron
env_file: .env
command: sh -c "echo \"0 3 * * * wget -qO- http://app:8080/api/v1/cron/${STATIC_CRON_TOKEN}\" | crontab - && crond -f -L /dev/stdout"
networks:
- firefly_iii
networks:
firefly_iii:
driver: bridge