[![Build Stable](https://github.com/frappe/frappe_docker/actions/workflows/build_stable.yml/badge.svg)](https://github.com/frappe/frappe_docker/actions/workflows/build_stable.yml) [![Build Develop](https://github.com/frappe/frappe_docker/actions/workflows/build_develop.yml/badge.svg)](https://github.com/frappe/frappe_docker/actions/workflows/build_develop.yml) Everything about [Frappe](https://github.com/frappe/frappe) and [ERPNext](https://github.com/frappe/erpnext) in containers. # Getting Started To get started you need [Docker](https://docs.docker.com/get-docker/), [docker-compose](https://docs.docker.com/compose/), and [git](https://docs.github.com/en/get-started/getting-started-with-git/set-up-git) setup on your machine. For Docker basics and best practices refer to Docker's [documentation](http://docs.docker.com). After that, clone this repo: ```sh git clone https://github.com/frappe/frappe_docker cd frappe_docker ``` ### Try in Play With Docker Try in PWD Wait for 5 minutes for ERPNext site to be created or check `create-site` container logs before opening browser on port 8080. (username: `Administrator`, password: `admin`) # Documentation ### [Production](#production) - [List of containers](docs/list-of-containers.md) - [Single Compose Setup](docs/single-compose-setup.md) - [Environment Variables](docs/environment-variables.md) - [Single Server Example](docs/single-server-example.md) - [Setup Options](docs/setup-options.md) - [Site Operations](docs/site-operations.md) - [Backup and Push Cron Job](docs/backup-and-push-cronjob.md) - [Port Based Multi Tenancy](docs/port-based-multi-tenancy.md) - [Migrate from multi-image setup](docs/migrate-from-multi-image-setup.md) - [running on linux/mac](docs/setup_for_linux_mac.md) ### [Custom Images](#custom-images) - [Custom Apps](docs/custom-apps.md) - [Build Version 10 Images](docs/build-version-10-images.md) ### [Development](#development) - [Development using containers](docs/development.md) - [Bench Console and VSCode Debugger](docs/bench-console-and-vscode-debugger.md) - [Connect to localhost services](docs/connect-to-localhost-services-from-containers-for-local-app-development.md) ### [Troubleshoot](docs/troubleshoot.md) ### Shiloh Setup based on: https://raw.githubusercontent.com/frappe/bench/develop/easy-install.py clone frappe-docker repo sites = [erp.sprinklersnorthwest.com] email = support@lathourhosting.org admin_pass db_pass `cd frappe-docker` `cp .env.example .env` Write inside of env: f"ERPNEXT_VERSION={erpnext_version}\n", f"DB_PASSWORD={db_pass}\n", "DB_HOST=db\n", "DB_PORT=3306\n", "REDIS_CACHE=redis-cache:6379\n", "REDIS_QUEUE=redis-queue:6379\n", "REDIS_SOCKETIO=redis-socketio:6379\n", f"LETSENCRYPT_EMAIL={email}\n", f"SITE_ADMIN_PASS={admin_pass}\n", f"SITES={quoted_sites}\n", `sudo docker compose --project-name brotherton -f compose.yaml -f overrides/compose.mariadb.yaml -f overrides/compose.redis.yaml -f overrides/compose.https.yaml --env-file .env config` Make images/production/Containerfile available as a package on githaven? need to replace the erpnext repo argument inside it. inside of compose.yaml, replace "image: frappe/erpnext" with the above package. `sudo docker compose -p brotherton -f compose.yaml up -d` The "erpnext" in this command is probably fine, I think the bench get-app gets the erpnext repository and puts it into an erpnext "app", regardless of what the erpnext repo env variable is. `sudo docker compose -p brotherton exec backend bench new-site sitename --no-mariadb-socket --db-root-password db_pass --admin-password admin_pass --install-app erpnext --set-default` # Contributing If you want to contribute to this repo refer to [CONTRIBUTING.md](CONTRIBUTING.md) This repository is only for container related stuff. You also might want to contribute to: - [Frappe framework](https://github.com/frappe/frappe#contributing), - [ERPNext](https://github.com/frappe/erpnext#contributing), - [Frappe Bench](https://github.com/frappe/bench).