Introduction
To develop and host on Square Cloud, it’s essential to follow a structured sequence of configurations and prerequisites. This technical guide will cover the entire process, from initial setup to production deployment.Prerequisites
- Square Cloud Account: Hosting platform for your application. Register through the signup page using your email.
- Active Paid Plan: Ensures dedicated resources and optimized performance for your application. Check our available plans and choose the most suitable for your needs.
Wondering how much RAM and CPU your plan needs to host Django applications?
Don't worry, we're here to help. Our Standard plan offers 4GB of RAM and 4vCPU, which should be sufficient for most Django applications. However, if you are working on a larger project and seeking extra stability, we recommend considering our Pro plan. With additional resources, you can maintain stability even during demand spikes. To purchase, simply click here.
Don't worry, we're here to help. Our Standard plan offers 4GB of RAM and 4vCPU, which should be sufficient for most Django applications. However, if you are working on a larger project and seeking extra stability, we recommend considering our Pro plan. With additional resources, you can maintain stability even during demand spikes. To purchase, simply click here.
Creating project
To create a Django application, you need to have Python and pip installed on your system before following the steps.Installing library
With Python and pip installed, you can create a new Django project. First, install Django using pip:Developing project
Create a new Python file (e.g.,app.py) and add the following code to create a basic Django application:
app.py
requirements.txt
Standard file used in Python projects to list all the external libraries and dependencies that your project needs. Each line in this file specifies a package to be installed using pip, the Python package manager.
pyproject.toml
A modern configuration file for Python projects that can specify build system requirements and project metadata. It is used by tools like Poetry to manage dependencies and packaging.
Choosing a production server
Django’s built-in development server is not suitable for production use. Instead, we recommend using a production-ready WSGI server like Gunicorn.Deploying
After preparing your project files, you can now upload them to Square Cloud and host your project. To do so, create a ZIP file containing all your project files.If you have a Django project that needs to apply migrations, make sure to apply them before deploying to Square Cloud.
You can do this by running the following command in your local environment:
You can do this by running the following command in your local environment:
What port should I use for my server?
You should use port 80 for your server. Port 80 is the default port for HTTP traffic, which is handled by Square Cloud to route it to 443, HTTPS, for a secure connection.
Make sure to configure it before compressing and uploading your project.
You should use port 80 for your server. Port 80 is the default port for HTTP traffic, which is handled by Square Cloud to route it to 443, HTTPS, for a secure connection.
Make sure to configure it before compressing and uploading your project.
Via dashboard
1
Access the Upload Page
Access the upload page and upload your project zip file.
2
Configure Your Environment
After uploading your zip, you will need to configure the name, main file or runtime environment and other settings for your project.
If you are uploading a web project, make sure to select "Web Publication" and set a subdomain to your project.
If you are uploading a web project, make sure to select "Web Publication" and set a subdomain to your project.
3
Deploy Your Project
Finally, click on the "Deploy" button to host your project on Square Cloud.
After deployment, you can monitor your project's status and logs from the dashboard.
After deployment, you can monitor your project's status and logs from the dashboard.

Via CLI
To use this method, you need to create a config file namedsquarecloud.app in the root directory of your project. This file will contain the necessary configuration for your project.
Learn more about: how to create the configuration file for Square Cloud.
The squarecloud.app file is a configuration file that will be used to configure your application; it will be used to define your environment.
1
Install the CLI
First, you need to have the CLI installed in your environment. If you don't have it yet, run the following command in your terminal:If you already have it, we recommend updating it. To do this, run the following command in your terminal:
- Windows
- Linux, macOS, and WSL
2
Authenticate
Now, to authenticate and use other CLI commands, you will find your authorization key here by clicking on "Request API Key". After obtaining your authorization key, run the following command:
3
Upload Your Project
Finally, to deploy your application to Square Cloud using the CLI, you need to run the following command:Or if you created the zip manually, you can use:
Additional Resources
For more information about Django and its tools, visit the official Django documentation. There, you will find detailed guides, tutorials, and API documentation to help you make the most of Django.Troubleshooting
Custom Domain
To use a custom domain (e.g.,
mysite.com) instead of the default URL https://mysite.squareweb.app/, you need the Standard plan or higher. The subdomain is defined by the SUBDOMAIN field in the configuration file. See: How to set up your custom domain.Minimum RAM Requirements
Minimum: 512MB RAM for simple websites/APIs. For sites with frameworks (Next.JS, React, Vue, Angular, etc.), we always recommend at least 1GB RAM. For larger applications, use more RAM to avoid LACK_OF_RAM error and ensure performance.
Could not find this site.
Check if the subdomain/domain matches what's configured in the SUBDOMAIN field or in the custom domain settings. If you just uploaded the site, wait up to 60 seconds for Square to enable first access.

Site took too long to respond...
Check if you correctly configured port 80 and host 0.0.0.0 in the application. We recommend using Square's forced environment variables: PORT and HOST from the 
.env file.

