This is a minimal Nuxt3 template that successfully builds and can be deployed to Fly.io. It's designed to be a starting point for new projects that need to be deployed to Fly.io.
- Minimal Nuxt3 setup with Node 20
- Optimized Dockerfile for Fly.io deployment
- GitHub Actions workflow for building (with optional deployment)
- Fly.io configuration
- Node.js 20+
- npm
- Git
- GitHub CLI (for automated setup)
- Fly.io account and CLI installed (optional for deployment)
This template includes scripts to automate the setup process:
Test the template locally without creating a GitHub repository:
./test-local.sh
Create a new GitHub repository and test the template with GitHub Actions:
./test-github-actions.sh
Test the template using an existing GitHub repository:
./test-existing-repo.sh
Create a new project from this template and set it up on GitHub:
./create-github-project.sh
- Clone this template
- Install dependencies:
npm install
- Start the development server:
npm run dev
- Build the application:
npm run build
- Deploy to Fly.io:
fly deploy
- Uncomment the Fly.io deployment steps in
.github/workflows/deploy.yml
- Add your Fly.io API token as a secret in your GitHub repository
- Push your changes to the main branch
- GitHub Actions will build and deploy to Fly.io
fly.toml
: Configure your Fly.io application settingsDockerfile
: Configure the Docker build process.github/workflows/deploy.yml
: Configure the GitHub Actions workflow
- Missing package-lock.json: Make sure to commit your package-lock.json file to the repository
- Nuxt build fails: Check your Nuxt configuration and dependencies
- Fly.io deployment fails: Check your Fly.io configuration and credentials
MIT