This repository contains the configuration for running a Mealie recipe manager instance on Fly.io.
Here are some brief instructions on how to deploy your own instance:
- Install the Fly.io CLI
- Fork and clone this repository
- (Optional) Set up your SMTP password:
fly secrets set SMTP_PASSWORD="your-password-here"
- Deploy the application:
fly deploy
Afterwards, dive into fly.toml to customize the configuration to your liking.
The server is configured with:
- Auto-scaling enabled (0-1 instances)
- 512MB RAM
- 1 shared CPU
- TLS encryption
- MailerSend SMTP for email notifications
- European timezone (Berlin)
- Signup disabled (first user after setup creates an admin account)
- Custom domain
The application uses a persistent volume mount for data storage:
- Mount point:
/app/data - Auto-extends when 80% full
- Increases in 1GB increments
- Maximum size: 3GB
The application automatically deploys to Fly.io when changes are pushed to the main branch. To set this up:
- Create a Fly.io API token
fly tokens create deploy --name "GitHub Actions - deploy"- Add the token as a GitHub secret named
FLY_API_TOKEN
gh secret set FLY_API_TOKEN💡 Tip: You can combine the token creation and secret setting in one command:
gh secret set FLY_API_TOKEN -b $(fly tokens create deploy --name "GitHub Actions - deploy")