> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fly.io/llms.txt
> Use this file to discover all available pages before exploring further.

# The Basics

If you are running a small/simple application making use of a higher level framework like
[Next.js](/js/frameworks/nextjs/) or [Remix](/js/frameworks/remix) the information provided on these pages may be useful as background information.

Other applications using things like [Express](https://expressjs.com/), [Fastify](https://fastify.dev/),
or even [http.server](https://nodejs.org/api/http.html#class-httpserver) may require additional set up.

These guides will help you get through the basics of setting up your JavaScript application with pieces of infrastructure commonly found in medium-to-high complexity JavaScript applications.

## Installing flyctl and logging in

In order to start working with Fly.io, you will need `flyctl`, our CLI app for managing apps. If you've already installed it, carry on. If not, hop over to [our installation guide](/flyctl/install). Once that's installed you'll want to [log in to Fly](/getting-started/sign-up-sign-in).

Once you have logged on, below are a number of topics.  Review the ones you want, and in review them in any order.  Once you are ready, run:

```bash theme={null}
fly deploy
```

## Dockerfiles

Get started by generating a Dockerfile used to build and deploy your application.

## Dependencies

Installing needed dependencies, and addressing common problems.

## Databases

Connecting your application to a database.

## Volumes

Local persistent storage for Fly machines.

## Object Storage

Provision a Tigris Bucket and access it via a S3Client

## Listening Ports

Connecting your application to the internet.

## Secrets

Making credentials available to your production

## Scaling

Scaling your application to meet demand
