[docs] remove docs folder 💥, update docs app to frappe.io (#5682)
* [docs] build docs from app specified in hooks
* [docs] remove docs folder 💥
|
Before Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 74 KiB |
|
Before Width: | Height: | Size: 24 KiB |
|
Before Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 24 KiB |
|
Before Width: | Height: | Size: 154 KiB |
|
Before Width: | Height: | Size: 151 KiB |
|
Before Width: | Height: | Size: 67 KiB |
|
Before Width: | Height: | Size: 88 KiB |
|
Before Width: | Height: | Size: 71 KiB |
|
Before Width: | Height: | Size: 126 KiB |
|
Before Width: | Height: | Size: 102 KiB |
|
Before Width: | Height: | Size: 66 KiB |
|
Before Width: | Height: | Size: 57 KiB |
|
Before Width: | Height: | Size: 78 KiB |
|
Before Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 258 KiB |
|
Before Width: | Height: | Size: 850 KiB |
|
Before Width: | Height: | Size: 82 KiB |
|
Before Width: | Height: | Size: 234 KiB |
|
Before Width: | Height: | Size: 423 KiB |
|
Before Width: | Height: | Size: 170 KiB |
|
Before Width: | Height: | Size: 173 KiB |
|
Before Width: | Height: | Size: 141 KiB |
|
Before Width: | Height: | Size: 621 KiB |
|
Before Width: | Height: | Size: 52 KiB |
|
Before Width: | Height: | Size: 126 KiB |
|
Before Width: | Height: | Size: 197 KiB |
|
Before Width: | Height: | Size: 213 KiB |
|
Before Width: | Height: | Size: 135 KiB |
|
Before Width: | Height: | Size: 124 KiB |
|
Before Width: | Height: | Size: 88 KiB |
|
Before Width: | Height: | Size: 300 KiB |
|
Before Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 60 KiB |
|
Before Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 68 KiB |
|
Before Width: | Height: | Size: 93 KiB |
|
Before Width: | Height: | Size: 88 KiB |
|
Before Width: | Height: | Size: 61 KiB |
|
Before Width: | Height: | Size: 77 KiB |
|
Before Width: | Height: | Size: 78 KiB |
|
Before Width: | Height: | Size: 59 KiB |
|
Before Width: | Height: | Size: 83 KiB |
|
Before Width: | Height: | Size: 2.9 KiB |
|
Before Width: | Height: | Size: 342 KiB |
|
Before Width: | Height: | Size: 158 KiB |
|
Before Width: | Height: | Size: 95 KiB |
|
Before Width: | Height: | Size: 41 KiB |
|
Before Width: | Height: | Size: 75 KiB |
|
Before Width: | Height: | Size: 71 KiB |
|
Before Width: | Height: | Size: 36 KiB |
|
Before Width: | Height: | Size: 94 KiB |
|
Before Width: | Height: | Size: 125 KiB |
|
Before Width: | Height: | Size: 59 KiB |
|
Before Width: | Height: | Size: 68 KiB |
|
Before Width: | Height: | Size: 65 KiB |
|
Before Width: | Height: | Size: 85 KiB |
|
Before Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 45 KiB |
|
Before Width: | Height: | Size: 141 KiB |
|
Before Width: | Height: | Size: 93 KiB |
|
Before Width: | Height: | Size: 144 KiB |
|
Before Width: | Height: | Size: 94 KiB |
|
Before Width: | Height: | Size: 68 KiB |
|
Before Width: | Height: | Size: 42 KiB |
|
Before Width: | Height: | Size: 61 KiB |
|
Before Width: | Height: | Size: 72 KiB |
|
Before Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 71 KiB |
|
Before Width: | Height: | Size: 72 KiB |
|
Before Width: | Height: | Size: 83 KiB |
|
Before Width: | Height: | Size: 76 KiB |
|
Before Width: | Height: | Size: 24 KiB |
|
Before Width: | Height: | Size: 141 KiB |
|
Before Width: | Height: | Size: 77 KiB |
|
Before Width: | Height: | Size: 6.3 KiB |
|
Before Width: | Height: | Size: 125 KiB |
|
Before Width: | Height: | Size: 51 KiB |
|
|
@ -1,25 +0,0 @@
|
|||
# Frappe Framework
|
||||
|
||||
### Tutorials, API documentation and Model Reference
|
||||
|
||||
Frappe is a full stack web application framework written in Python,
|
||||
Javascript, HTML/CSS with MySQL as the backend. It was built for ERPNext
|
||||
but is pretty generic and can be used to build database driven apps.
|
||||
|
||||
The key differece in Frappe compared to other frameworks is that in Frappe
|
||||
meta-data is also treated as data and is used to build front-ends
|
||||
very easily. Frappe comes with a full blown admin UI called the **Desk**
|
||||
that handles forms, navigation, lists, menus, permissions, file attachment
|
||||
and much more out of the box.
|
||||
|
||||
Frappe also has a plug-in architecture that can be used to build plugins
|
||||
to ERPNext.
|
||||
|
||||
Frappe Framework was designed to build [ERPNext](https://erpnext.com), an open source
|
||||
ERP for managing small and medium sized businesses.
|
||||
|
||||
[Get started with the Tutorial](/docs/user/)
|
||||
|
||||
### Feedback
|
||||
|
||||
You're encouraged to help improve the quality of this documentation, by sending a pull request on the [GitHub Repository](https://github.com/frappe/erpnext). If you would like to have a discussion regarding the documentation, you can do so [at the forum](https://discuss.erpnext.com).
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
# Adding Custom Domains to your Site
|
||||
|
||||
You can add **multiple custom domains** for your site, just run:
|
||||
|
||||
bench setup add-domain [desired-domain]
|
||||
|
||||
On running the command you will be asked for which site you want to set the custom domain for.
|
||||
|
||||
You can also setup SSL for your custom domain by using the options:
|
||||
|
||||
--ssl-certificate [path-to-certificate]
|
||||
--ssl-certificate-key [path-to-certificate-key]
|
||||
|
||||
Example:
|
||||
|
||||
bench setup add-domain custom.erpnext.com --ssl-certificate /etc/letsencrypt/live/erpnext.cert --ssl-certificate-key /etc/letsencrypt/live/erpnext.key
|
||||
|
||||
Domain configuration is stored in the respective site's site_config.json
|
||||
|
||||
"domains": [
|
||||
{
|
||||
"ssl_certificate": "/etc/letsencrypt/live/erpnext.cert",
|
||||
"domain": "erpnext.com",
|
||||
"ssl_certificate_key": "/etc/letsencrypt/live/erpnext.key"
|
||||
}
|
||||
],
|
||||
|
||||
**You will need to regenerate the nginx configuration by runnning `bench setup nginx` and reload the nginx service put your custom domain in effect**
|
||||
|
|
@ -1,46 +0,0 @@
|
|||
# Configuring HTTPS
|
||||
|
||||
### Get the required files
|
||||
|
||||
You can get a SSL certificate from a trusted Certificate Authority or generate your own. For self signed certificates the browser will show a warning that the certificate is not trusted. [Here's a tutorial for using Let's Encrypt to get a free SSL Certificate](lets-encrypt-ssl-setup.html)
|
||||
|
||||
The files required are
|
||||
|
||||
* Certificate (usually with extension .crt)
|
||||
* Decrypted private key
|
||||
|
||||
If you have multiple certificates (primary and intermediate), you will have to concatenate them. For example,
|
||||
|
||||
cat your_certificate.crt CA.crt >> certificate_bundle.crt
|
||||
|
||||
Also make sure that your private key is not world readable. Generally, it is owned and readable only by root
|
||||
|
||||
chown root private.key
|
||||
chmod 600 private.key
|
||||
|
||||
### Move the two files to an appropriate location
|
||||
|
||||
mkdir /etc/nginx/conf.d/ssl
|
||||
mv private.key /etc/nginx/conf.d/ssl/private.key
|
||||
mv certificate_bundle.crt /etc/nginx/conf.d/ssl/certificate_bundle.crt
|
||||
|
||||
### Setup nginx config
|
||||
|
||||
Set the paths to the certificate and private key for your site
|
||||
|
||||
bench set-ssl-certificate site1.local /etc/nginx/conf.d/ssl/certificate_bundle.crt
|
||||
bench set-ssl-key site1.local /etc/nginx/conf.d/ssl/private.key
|
||||
|
||||
### Generate nginx config
|
||||
|
||||
bench setup nginx
|
||||
|
||||
### Reload nginx
|
||||
|
||||
sudo service nginx reload
|
||||
|
||||
or
|
||||
|
||||
systemctl reload nginx # for CentOS 7
|
||||
|
||||
Now that you have configured SSL, all HTTP traffic will be redirected to HTTPS
|
||||
|
|
@ -1,33 +0,0 @@
|
|||
# Diagnosing The Scheduler
|
||||
|
||||
<!-- markdown -->
|
||||
|
||||
If you're experiencing delays in scheduled jobs or they don't seem to run, you can run the several commands to diagnose the issue.
|
||||
|
||||
### `bench doctor`
|
||||
|
||||
This will output the following in order:
|
||||
- Scheduler Status per site
|
||||
- Number of Workers
|
||||
- Pending Tasks
|
||||
|
||||
|
||||
Desirable output:
|
||||
|
||||
Workers online: 0
|
||||
-----None Jobs-----
|
||||
|
||||
### `bench --site [site-name] show-pending-jobs`
|
||||
|
||||
This will output the following in order:
|
||||
- Queue
|
||||
- Tasks within Queue
|
||||
|
||||
Desirable output:
|
||||
|
||||
-----Pending Jobs-----
|
||||
|
||||
|
||||
### `bench purge-jobs`
|
||||
|
||||
This will remove all pending jobs from all queues
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
# Guides
|
||||
|
||||
|
||||
|
||||
{index}
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
configuring-https
|
||||
lets-encrypt-ssl-setup
|
||||
diagnosing-the-scheduler
|
||||
how-to-change-host-name-from-localhost
|
||||
manual-setup
|
||||
setup-multitenancy
|
||||
setup-production
|
||||
setup-ssl
|
||||
stop-production-and-start-development
|
||||
updating
|
||||
setting-limits
|
||||
|
|
@ -1,101 +0,0 @@
|
|||
# Using Let's Encrypt to setup HTTPS
|
||||
|
||||
##Prequisites
|
||||
|
||||
1. You need to have a DNS Multitenant Setup
|
||||
2. Your site should be accessible via a valid domain
|
||||
3. You need root permissions on your server
|
||||
|
||||
**Note : Let's Encrypt Certificates expire every three months**
|
||||
|
||||
## Using Bench Command
|
||||
|
||||
Just run:
|
||||
|
||||
sudo -H bench setup lets-encrypt [site-name]
|
||||
|
||||
You will be faced with several prompts, respond to them accordingly. This command will also add an entry to the crontab of the user that will attempt to renew the certificate every month.
|
||||
|
||||
### Custom Domains
|
||||
|
||||
You can setup Let's Encrypt for [custom domains](adding-custom-domains.html) as well. Just use the `--custom-domain` option
|
||||
|
||||
sudo -H bench setup lets-encrypt [site-name] --custom-domain [custom-domain]
|
||||
|
||||
### Renew Certificates
|
||||
|
||||
To renew certificates manually you can use:
|
||||
|
||||
sudo bench renew-lets-encrypt
|
||||
|
||||
<hr>
|
||||
|
||||
## Manual Method
|
||||
### Download the appropriate Certbot-auto script into /opt
|
||||
|
||||
https://certbot.eff.org/
|
||||
|
||||
### Stop nginx service
|
||||
|
||||
$ sudo service nginx stop
|
||||
|
||||
### Run Certbot
|
||||
|
||||
$ ./opt/certbot-auto certonly --standalone
|
||||
|
||||
After letsencrypt initializes, you will be prompted for some information. This exact prompts may vary depending on if you've used Let's Encrypt before, but we'll step you through the first time.
|
||||
|
||||
At the prompt, enter an email address that will be used for notices and lost key recovery:
|
||||
|
||||

|
||||
|
||||
Then you must agree to the Let's Encrypt Subscribe Agreement. Select Agree:
|
||||
|
||||

|
||||
|
||||
Then enter your domain name(s). Note that if you want a single cert to work with multiple domain names (e.g. example.com and www.example.com), be sure to include all of them:
|
||||
|
||||

|
||||
|
||||
### Certificate Files
|
||||
|
||||
After obtaining the cert, you will have the following PEM-encoded files:
|
||||
|
||||
* **cert.pem**: Your domain's certificate
|
||||
* **chain.pem**: The Let's Encrypt chain certificate
|
||||
* **fullchain.pem**: cert.pem and chain.pem combined
|
||||
* **privkey.pem**: Your certificate's private key
|
||||
|
||||
|
||||
These certificates are stored under `/etc/letsencrypt/live/example.com` folder
|
||||
|
||||
### Configure the certificates for your site(s)
|
||||
|
||||
Go to your erpnext sites site_config.json
|
||||
|
||||
$ cd frappe-bench/sites/{{site_name}}
|
||||
|
||||
Add the following two lines to your site_config.json
|
||||
|
||||
"ssl_certificate": "/etc/letsencrypt/live/example.com/fullchain.pem",
|
||||
"ssl_certificate_key": "/etc/letsencrypt/live/example.com/privkey.pem"
|
||||
|
||||
|
||||
Regenerate the nginx configuration
|
||||
|
||||
$ bench setup nginx
|
||||
|
||||
Restart the nginx server
|
||||
|
||||
$ sudo service nginx restart
|
||||
|
||||
---
|
||||
|
||||
### Auto renewal (experimental)
|
||||
|
||||
Login as root or a user with superuser privileges, run `crontab -e` and enter:
|
||||
|
||||
|
||||
# renew letsencrypt certificates on 1st monday of every month and get an email if it gets executed
|
||||
MAILTO="mail@example.com"
|
||||
0 0 1-7 * * [ "$(date '+\%a')" = "Mon" ] && sudo service nginx stop && /opt/certbot-auto renew && sudo service nginx start
|
||||
|
|
@ -1,81 +0,0 @@
|
|||
# Manual Setup
|
||||
|
||||
Manual Setup
|
||||
--------------
|
||||
|
||||
Install pre-requisites,
|
||||
|
||||
* [Python 2.7](https://www.python.org/download/releases/2.7/)
|
||||
* [MariaDB](https://mariadb.org/)
|
||||
* [Redis](http://redis.io/topics/quickstart)
|
||||
* [WKHTMLtoPDF with patched QT](http://wkhtmltopdf.org/downloads.html) (required for pdf generation)
|
||||
|
||||
[Installing pre-requisites on OSX](https://github.com/frappe/bench/wiki/Installing-Bench-Pre-requisites-on-MacOSX)
|
||||
|
||||
Install bench as a *non root* user,
|
||||
|
||||
git clone https://github.com/frappe/bench bench-repo
|
||||
sudo pip install -e bench-repo
|
||||
|
||||
Note: Please do not remove the bench directory the above commands will create
|
||||
|
||||
|
||||
Migrating from existing installation
|
||||
------------------------------------
|
||||
|
||||
If want to migrate from ERPNext version 3, follow the instructions [here](https://github.com/frappe/bench/wiki/Migrating-from-ERPNext-version-3)
|
||||
|
||||
If want to migrate from the old bench, follow the instructions [here](https://github.com/frappe/bench/wiki/Migrating-from-old-bench)
|
||||
|
||||
|
||||
Basic Usage
|
||||
===========
|
||||
|
||||
* 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 apps
|
||||
|
||||
The get-app command gets and installs frappe apps. Examples:
|
||||
|
||||
- [erpnext](https://github.com/frappe/erpnext)
|
||||
- [erpnext_shopify](https://github.com/frappe/erpnext_shopify)
|
||||
- [paypal_integration](https://github.com/frappe/paypal_integration)
|
||||
|
||||
bench get-app erpnext https://github.com/frappe/erpnext
|
||||
|
||||
* Add 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
|
||||
|
||||
* Start bench
|
||||
|
||||
To start using the bench, use the `bench start` command
|
||||
|
||||
bench start
|
||||
|
||||
To login to Frappe / ERPNext, open your browser and go to `localhost:8000`
|
||||
|
||||
The default user name is "Administrator" and password is what you set when you created the new site.
|
||||
|
||||
|
||||
Setting Up ERPNext
|
||||
==================
|
||||
|
||||
To install ERPNext, simply run:
|
||||
```
|
||||
bench install-app erpnext
|
||||
```
|
||||
|
||||
You can now either use `bench start` or [setup the bench for production use](setup-production.html)
|
||||
|
||||
|
||||
|
||||