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: - '${WEB_BIND_ADDR:-127.0.0.1}:${WEB_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