[![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 `git clone ssh://git@githaven.org:2222/Shiloh/frappe_docker.git` sites = [erp.sprinklersnorthwest.com] email = support@lasthourhosting.org `cd frappe_docker` `cp example.env .env` Write inside of env: f"DB_PASSWORD={db_pass}\n", f"SITE_ADMIN_PASS={admin_pass}\n", `APPS_JSON_BASE64=$(base64 -w 0 ./apps.json)` `sudo docker build \ --build-arg=FRAPPE_PATH=https://github.com/frappe/frappe \ --build-arg=FRAPPE_BRANCH=version-15 \ --build-arg=PYTHON_VERSION=3.11.6 \ --build-arg=NODE_VERSION=18.18.2 \ --build-arg=APPS_JSON_BASE64=$APPS_JSON_BASE64 \ --tag=githaven.org/shiloh/frappe_docker:production \ --file=images/custom/Containerfile \ --rm \ --no-cache \ .` `sudo docker login githaven.org` setup credential service to hide password `sudo docker push githaven.org/shiloh/frappe_docker:production` https://docs.gitea.com/packages/packages/container `sudo python3 easy-installer.py --prod --email support@lasthourhosting.org --site erp.sprinklersnorthwest.com` `bench use` should already be done by the installer. Create a project through the dashboard with the sidebar, then login with the admin account and view the projects page through the other dashboard, you should see edits. `sudo docker compose -p frappe exec -it backend bash` To update erpnext, add any commits you want to use to the "production" branch of the erpnext repo on githaven. Then ensure the "backend" container has git repositories in the frappe and erpnext apps: `cd ~/frappe-bench/apps/erpnext` `git init` `git remote add upstream ` `git fetch upstream production` `git checkout production --force` `git clean -fd` Then pull the latest erpnext, and it will be updated. # 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).