commit cf953278779d206ae9678763e481762869d699ff Author: Travis Vasceannie Date: Mon Dec 8 00:34:32 2025 +0000 x diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..643c8cb --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,87 @@ +version: "3.8" + +services: + app: + image: fireflyiii/core:latest + # hostname: app + volumes: + - firefly_iii_upload:/var/www/html/storage/upload + env_file: stack.env + networks: + - net + - public + # ports: + # - "80:8080" + depends_on: + - db + deploy: + replicas: 1 + restart_policy: + condition: any + delay: 5s + max_attempts: 3 + placement: + constraints: + - node.hostname == crackbox + labels: + - "traefik.enable=true" + - "traefik.http.routers.fireflies.rule=Host(`fireflies.lab`)" + - "traefik.http.routers.fireflies.entrypoints=web" + - "traefik.http.routers.fireflies.tls=false" + - "traefik.http.services.fireflies.loadbalancer.server.port=8080" + - "traefik.swarm.network=public" + + db: + image: mariadb:lts + # hostname: db + # env_file: .env + networks: + - net + volumes: + - firefly_iii_db:/var/lib/mysql + deploy: + replicas: 1 + restart_policy: + condition: any + delay: 5s + max_attempts: 3 + placement: + constraints: + - node.hostname == crackbox + + cron: + # To make this work, set STATIC_CRON_TOKEN in your .env file or as an environment variable + # The STATIC_CRON_TOKEN must be *exactly* 32 characters long + image: alpine + # env_file: .env + command: > + sh -c "apk add tzdata && + (ln -s /usr/share/zoneinfo/$$TZ /etc/localtime || true) && + echo \"0 3 * * * wget -qO- http://app:8080/api/v1/cron/$$STATIC_CRON_TOKEN;echo\" | crontab - && + crond -f -L /dev/stdout" + networks: + - net + depends_on: + - app + deploy: + replicas: 1 + restart_policy: + condition: any + delay: 5s + max_attempts: 3 + placement: + constraints: + - node.hostname == crackbox + +volumes: + firefly_iii_upload: + name: firefly_iii_upload + firefly_iii_db: + name: firefly_iii_db + +networks: + net: + driver: overlay + attachable: true + public: + external: true diff --git a/stack.env b/stack.env new file mode 100644 index 0000000..303eaaf --- /dev/null +++ b/stack.env @@ -0,0 +1,103 @@ +APP_ENV=production +APP_DEBUG=false +SITE_OWNER=travis.vas@gmail.com +APP_KEY=9b04b3d166e506dc9756aca5b8d82f55 +DEFAULT_LANGUAGE=en_US +DEFAULT_LOCALE=equal +TZ=America/New_york +TRUSTED_PROXIES=* +LOG_CHANNEL=stack +APP_LOG_LEVEL=notice +AUDIT_LOG_LEVEL=emergency +AUDIT_LOG_CHANNEL= +PAPERTRAIL_HOST= +PAPERTRAIL_PORT= +DB_CONNECTION=mysql +DB_HOST=db +DB_PORT=3306 +DB_DATABASE=firefly +DB_USERNAME=firefly +DB_PASSWORD=squirtle123456 +DB_SOCKET= +MYSQL_USE_SSL=false +MYSQL_SSL_VERIFY_SERVER_CERT=true +MYSQL_SSL_CAPATH=/etc/ssl/certs/ +MYSQL_SSL_CA= +MYSQL_SSL_CERT= +MYSQL_SSL_KEY= +MYSQL_SSL_CIPHER= +PGSQL_SSL_MODE=prefer +PGSQL_SSL_ROOT_CERT=null +PGSQL_SSL_CERT=null +PGSQL_SSL_KEY=null +PGSQL_SSL_CRL_FILE=null +PGSQL_SCHEMA=public +CACHE_DRIVER=file +SESSION_DRIVER=file +REDIS_SCHEME=tcp +REDIS_PATH= +REDIS_HOST=192.168.50.210 +REDIS_PORT=6379 +REDIS_USERNAME= +REDIS_PASSWORD= +REDIS_DB="8" +REDIS_CACHE_DB="9" +COOKIE_PATH="/" +COOKIE_DOMAIN= +COOKIE_SECURE=false +COOKIE_SAMESITE=lax +MAIL_MAILER=log +MAIL_HOST=null +MAIL_PORT=2525 +MAIL_FROM=changeme@example.com +MAIL_USERNAME=null +MAIL_PASSWORD=null +MAIL_ENCRYPTION=null +MAIL_SENDMAIL_COMMAND= +MAIL_ALLOW_SELF_SIGNED=false +MAIL_VERIFY_PEER=true +MAIL_VERIFY_PEER_NAME=true +MAILGUN_DOMAIN=thingswithstuff.io +MAILGUN_SECRET=5092859788e1304d7b28901fe41bd6a7-51afd2db-b4b55a79 +MAILGUN_ENDPOINT=api.mailgun.net +MANDRILL_SECRET= +SPARKPOST_SECRET= +MAILERSEND_API_KEY= +SEND_ERROR_MESSAGE=true +SEND_REPORT_JOURNALS=true +ENABLE_EXTERNAL_MAP=false +ENABLE_EXCHANGE_RATES=false +ENABLE_EXTERNAL_RATES=false +MAP_DEFAULT_LAT=51.983333 +MAP_DEFAULT_LONG=5.916667 +MAP_DEFAULT_ZOOM=6 +VALID_URL_PROTOCOLS= +AUTHENTICATION_GUARD=web +AUTHENTICATION_GUARD_HEADER=REMOTE_USER +AUTHENTICATION_GUARD_EMAIL= +PASSPORT_PRIVATE_KEY= +PASSPORT_PUBLIC_KEY= +CUSTOM_LOGOUT_URL= +DISABLE_FRAME_HEADER=false +DISABLE_CSP_HEADER=false +TRACKER_SITE_ID= +TRACKER_URL= +REPORT_ERRORS_ONLINE=false +ALLOW_WEBHOOKS=false +STATIC_CRON_TOKEN=c6b72d0bcfac1fb9939b57511cbaf4d8 +DKR_CHECK_SQLITE=true +APP_NAME=FireflyIII +BROADCAST_DRIVER=log +QUEUE_DRIVER=sync +CACHE_PREFIX=firefly +PUSHER_KEY= +IPINFO_TOKEN= +PUSHER_SECRET= +PUSHER_ID= +DEMO_USERNAME= +DEMO_PASSWORD= +USE_RUNNING_BALANCE=true +FIREFLY_III_LAYOUT=v1 +QUERY_PARSER_IMPLEMENTATION=new +APP_URL=http://fireflies.lab +MARIADB_ROOT_PASSWORD=squirtle123456 \ No newline at end of file