|
4 | 4 |
|
5 | 5 | This template is a customer relationship management list project developed using Python Django framework, offering a starting point to help you quickly build your customer management system. We use PostgreSQL as the database. We have prepared all the essential files for deployment. By spending less than 10 minutes setting up the environment, as detailed in the prerequisites, and executing the commands in our step-by-step guide, your website will be ready to go live to the world! |
6 | 6 |
|
7 | | -## NOTE |
| 7 | +> [!NOTE] |
| 8 | +This sample showcases how you could deploy a full-stack application with Defang and Django. However, it deploys Postgres as a Defang service. Defang [services](https://12factor.net/processes) are ephemeral and should not be used to run stateful workloads in production as they will be reset on every deployment. For production use cases you should use a managed database like RDS, Aiven, or others. If you stick to Django's default SQLite database, your stored data will be lost on every deployment, and in some other situations. In the future, Defang will help you provision and connect to managed databases. |
8 | 9 |
|
9 | | -This sample showcases how you could deploy a full-stack application with Defang and Django. However, it deploys postgres as a defang service. Defang [services](https://12factor.net/processes) are ephemeral and should not be used to run stateful workloads in production as they will be reset on every deployment. For production use cases you should use a managed database like RDS, Aiven, or others. If you stick to Rail's default SQLite database, your stored data will be lost on every deployment, and in some other situations. In the future, Defang will help you provision and connect to managed databases. |
| 10 | +## Prerequisites |
10 | 11 |
|
11 | | -## Essential Setup Files |
| 12 | +1. Download [Defang CLI](https://github.com/DefangLabs/defang) |
| 13 | +2. (Optional) If you are using [Defang BYOC](https://docs.defang.io/docs/concepts/defang-byoc) authenticate with your cloud provider account |
| 14 | +3. (Optional for local development) [Docker CLI](https://docs.docker.com/engine/install/) |
12 | 15 |
|
13 | | -1. A [Dockerfile](https://docs.docker.com/develop/develop-images/dockerfile_best-practices/) to describe the basic image of your applications. |
14 | | -2. A [docker-compose file](https://docs.defang.io/docs/concepts/compose) to define and run multi-container Docker applications. |
15 | | -3. A [.dockerignore](https://docs.docker.com/build/building/context/#dockerignore-files) file to comply with the size limit (10MB). |
| 16 | +## Development |
16 | 17 |
|
17 | | -## Prerequisite |
| 18 | +To run the application locally, you can use the following command: |
18 | 19 |
|
19 | | -1. Download [Defang CLI](https://github.com/DefangLabs/defang) |
20 | | -2. If you are using [Defang BYOC](https://docs.defang.io/docs/concepts/defang-byoc), make sure you have properly [authenticated your AWS account](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html) |
21 | | - Plus, make sure that you have properly set your environment variables like `AWS_PROFILE`, `AWS_REGION`, `AWS_ACCESS_KEY_ID`, and `AWS_SECRET_ACCESS_KEY`. |
| 20 | +```bash |
| 21 | +docker compose up --build |
| 22 | +``` |
| 23 | + |
| 24 | +## Configuration |
| 25 | + |
| 26 | +For this sample, you will need to provide the following [configuration](https://docs.defang.io/docs/concepts/configuration): |
| 27 | + |
| 28 | +> Note that if you are using the 1-click deploy option, you can set these values as secrets in your GitHub repository and the action will automatically deploy them for you. |
| 29 | +
|
| 30 | +### `POSTGRES_PASSWORD` |
| 31 | +```bash |
| 32 | +defang config set POSTGRES_PASSWORD |
| 33 | +``` |
| 34 | + |
| 35 | +## Deployment |
| 36 | + |
| 37 | +> [!NOTE] |
| 38 | +> Download [Defang CLI](https://github.com/DefangLabs/defang) |
| 39 | +
|
| 40 | +### Defang Playground |
| 41 | + |
| 42 | +Deploy your application to the Defang Playground by opening up your terminal and typing: |
| 43 | +```bash |
| 44 | +defang compose up |
| 45 | +``` |
| 46 | + |
| 47 | +### BYOC (AWS) |
22 | 48 |
|
23 | | -## A Step-by-Step Guide for Deployment |
| 49 | +If you want to deploy to your own cloud account, you can use Defang BYOC: |
24 | 50 |
|
25 | | -1. Open the terminal and type `defang login` |
26 | | -2. Type `defang compose up` in the CLI |
27 | | -3. Now your application will be launched |
| 51 | +1. [Authenticate your AWS account](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html), and check that you have properly set your environment variables like `AWS_PROFILE`, `AWS_REGION`, `AWS_ACCESS_KEY_ID`, and `AWS_SECRET_ACCESS_KEY`. |
| 52 | +2. Run in a terminal that has access to your AWS environment variables: |
| 53 | + ```bash |
| 54 | + defang --provider=aws compose up |
| 55 | + ``` |
28 | 56 |
|
29 | 57 | --- |
30 | 58 |
|
|
0 commit comments