mirror of
https://github.com/frappe/frappe_docker.git
synced 2024-11-09 23:00:56 +00:00
b22cb0040d
Former-commit-id: 219cd2b14a
128 lines
3.7 KiB
Markdown
128 lines
3.7 KiB
Markdown
# frappe_docker
|
|
|
|
Containerizing the frappe bench installation for a development environment
|
|
|
|
## Getting Started
|
|
|
|
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
|
|
|
|
### Prerequisites
|
|
|
|
What things you need to install the software and how to install them
|
|
|
|
```
|
|
Docker
|
|
docker-compose
|
|
```
|
|
|
|
### Installing
|
|
|
|
A step by step series of examples that tell you have to get a development env running
|
|
#### 1. Installation Pre-requisites
|
|
|
|
- Installing Docker Community Edition
|
|
|
|
```
|
|
Follow the steps given in [here](https://docs.docker.com/engine/installation)
|
|
|
|
The Docker version used by us is Docker version 17.06.0-ce, build 02c1d87
|
|
```
|
|
- Installing docker-compose(only for Linux users)
|
|
|
|
```
|
|
Follow the steps given in (Docker for Mac, Docker for Windows, and Docker Toolbox include Docker Compose) [here](https://docs.docker.com/compose/install/)
|
|
|
|
The docker-compose version used by us is docker-compose version 1.14.0, build c7bdf9e
|
|
```
|
|
|
|
#### 2. Build the container and install bench
|
|
|
|
* Make sure your logged in as root. Build the container and install bench inside the container as a **non root** user
|
|
source build-container.sh
|
|
Note: Please do not remove the bench directory the above commands will create
|
|
|
|
#### Basic Usage
|
|
* Starting docker containers
|
|
This command can be used to start containers
|
|
|
|
docker-compose start
|
|
|
|
* Accessing the frappe container via CLI
|
|
|
|
./start-container.sh
|
|
|
|
* Set the db host for bench(points bench to the mariadb container)
|
|
|
|
bench set-mariadb-host mariadb
|
|
|
|
* Create a new bench
|
|
|
|
The init command will create a bench directory with frappe framework
|
|
installed. It will be setup for periodic backups and auto updates once
|
|
a day.
|
|
|
|
bench init frappe-bench && cd frappe-bench
|
|
|
|
* Add a site
|
|
|
|
Frappe apps are run by frappe sites and you will have to create at least one
|
|
site. The new-site command allows you to do that.
|
|
|
|
bench new-site site1.local
|
|
|
|
* Add apps
|
|
|
|
The get-app command gets remote frappe apps from a remote git repository and installs them. Example: [erpnext](https://github.com/frappe/erpnext)
|
|
|
|
bench get-app erpnext https://github.com/frappe/erpnext
|
|
|
|
* Install apps
|
|
|
|
To install an app on your new site, use the bench `install-app` command.
|
|
|
|
bench --site site1.local install-app erpnext
|
|
|
|
* Exiting the frappe container and stopping all the containers gracefully
|
|
exit
|
|
|
|
docker-compose stop
|
|
|
|
* Removing docker containers
|
|
|
|
docker-compose rm
|
|
|
|
* Removing dangling volumes
|
|
The volume frappe on your local machine is shared by the host(your local machine) and the frappe container.
|
|
Please do not delete this volume from your local machine. Any changes made in this directory will reflect on both
|
|
the container and the host. The below command specifies how to remain dangling volumes which may be taking up
|
|
unecessary space on your host.
|
|
|
|
docker volume rm $(docker volume ls -f dangling=true -q)
|
|
|
|
To login to Frappe / ERPNext, open your browser and go to `[your-external-ip]:8000`, probably `localhost:8000`
|
|
|
|
The default username is "Administrator" and password is what you set when you created the new site.
|
|
|
|
## Built With
|
|
|
|
* [Docker](https://www.docker.com/)
|
|
|
|
## Contributing
|
|
|
|
Feel free to contribute to this project and make the containers better
|
|
|
|
## Authors
|
|
|
|
* **Vishal Seshagiri**
|
|
|
|
See also the list of [contributors](https://github.com/your/project/contributors) who participated in this project.
|
|
|
|
## License
|
|
|
|
This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details
|
|
|
|
## Acknowledgments
|
|
|
|
* Hat tip to anyone who's code was used - [Pratik Vyas](https://github.com/pdvyas)
|
|
* Inspiration - [Rushabh Mehta](https://github.com/rmehta)
|