docs: improve and organize docs (#791)

* docs: improve and organize docs

* docs: improve setup options
This commit is contained in:
Revant Nandgaonkar
2022-05-02 05:47:53 +05:30
committed by GitHub
parent 9f502c8538
commit e362c26fc1
8 changed files with 87 additions and 53 deletions

View File

@@ -4,6 +4,11 @@ Make sure you've cloned this repository and switch to the directory before execu
Commands will generate YAML as per the environment for setup.
## Prerequisites
- [docker](https://docker.com/get-started)
- [docker compose v2](https://docs.docker.com/compose/cli-command)
## Setup Environment Variables
Copy the example docker environment file to `.env`:
@@ -16,48 +21,71 @@ Note: To know more about environment variable [read here](./images-and-compose-f
## Generate docker-compose.yml for variety of setups
Notes:
- Make sure to replace `<project-name>` with the desired name you wish to set for the project.
- This setup is not to be used for development. A complete development environment is available [here](../development)
### Store the yaml files
YAML files generated by `docker compose config` command can be stored in a directory. We will create a directory called `gitops` in the user's home.
```shell
mkdir ~/gitops
```
You can make the directory into a private git repo which stores the yaml and secrets. It can help in tracking changes.
Instead of `docker compose config`, you can directly use `docker compose up` to start the containers and skip storing the yamls in `gitops` directory.
### Setup Frappe without proxy and external MariaDB and Redis
In this case make sure you've set `DB_HOST`, `DB_PORT`, `REDIS_CACHE`, `REDIS_QUEUE` and `REDIS_SOCKETIO`
environment variables or the `configurator` will fail.
```sh
# Generate YAML
docker-compose -f compose.yaml -f overrides/compose.noproxy.yaml config > ~/gitops/docker-compose.yml
docker compose -f compose.yaml -f overrides/compose.noproxy.yaml config > ~/gitops/docker-compose.yml
# Start containers
docker-compose --project-name <project-name> -f ~/gitops/docker-compose.yml up -d
docker compose --project-name <project-name> -f ~/gitops/docker-compose.yml up -d
```
### Setup ERPNext with proxy and external MariaDB and Redis
In this case make sure you've set `DB_HOST`, `DB_PORT`, `REDIS_CACHE`, `REDIS_QUEUE` and `REDIS_SOCKETIO`
environment variables or the `configurator` will fail.
```sh
# Generate YAML
docker-compose -f compose.yaml \
docker compose -f compose.yaml \
-f overrides/compose.proxy.yaml \
-f overrides/compose.erpnext.yaml \
config > ~/gitops/docker-compose.yml
# Start containers
docker-compose --project-name <project-name> -f ~/gitops/docker-compose.yml up -d
docker compose --project-name <project-name> -f ~/gitops/docker-compose.yml up -d
```
### Setup Frappe using containerized MariaDB and Redis with Letsencrypt certificates.
```sh
# Generate YAML
docker-compose -f compose.yaml \
docker compose -f compose.yaml \
-f overrides/compose.mariadb.yaml \
-f overrides/compose.redis.yaml \
-f overrides/compose.https.yaml \
config > ~/gitops/docker-compose.yml
# Start containers
docker-compose --project-name <project-name> -f ~/gitops/docker-compose.yml up -d
docker compose --project-name <project-name> -f ~/gitops/docker-compose.yml up -d
```
### Setup ERPNext using containerized MariaDB and Redis with Letsencrypt certificates.
```sh
# Generate YAML
docker-compose -f compose.yaml \
docker compose -f compose.yaml \
-f overrides/compose.erpnext.yaml \
-f overrides/compose.mariadb.yaml \
-f overrides/compose.redis.yaml \
@@ -65,13 +93,12 @@ docker-compose -f compose.yaml \
config > ~/gitops/docker-compose.yml
# Start containers
docker-compose --project-name <project-name> -f ~/gitops/docker-compose.yml up -d
docker compose --project-name <project-name> -f ~/gitops/docker-compose.yml up -d
```
Notes:
## Create first site
- Make sure to replace `<project-name>` with the desired name you wish to set for the project.
- This setup is not to be used for development. A complete development environment is available [here](../development)
After starting containers, the first site needs to be created. Refer [site operations](./site-operations.md#setup-new-site).
## Updating Images
@@ -82,15 +109,21 @@ Switch to the root of the `frappe_docker` directory before running the following
nano .env
# Pull new images
docker-compose -f compose.yaml \
docker compose -f compose.yaml \
-f overrides/compose.erpnext.yaml \
# ... your other overrides
config > ~/gitops/docker-compose.yml
docker-compose --project-name <project-name> -f ~/gitops/docker-compose.yml pull
docker compose --project-name <project-name> -f ~/gitops/docker-compose.yml pull
# Stop containers
docker compose --project-name <project-name> -f ~/gitops/docker-compose.yml down
# Remove assets volume for repopulation
docker volume rm <name of assets volume>
# Restart containers
docker-compose --project-name <project-name> -f ~/gitops/docker-compose.yml up -d
docker compose --project-name <project-name> -f ~/gitops/docker-compose.yml up -d
```
To migrate sites refer [site operations](./site-operations.md#migrate-site)