|
2 | 2 |
|
3 | 3 | An opinionated Laravel Forge CLI tool. |
4 | 4 |
|
5 | | -## Installation |
| 5 | +## Documentation |
6 | 6 |
|
7 | | -```sh |
8 | | -git clone https://github.com/beyondcode/forge-cli.git # clone repo to a local folder |
9 | | -cd forge-cli # change into the created directory |
10 | | -composer install # install dependencies |
11 | | -``` |
12 | | - |
13 | | -You can then use it from this folder like so: |
14 | | - |
15 | | -```sh |
16 | | -./forge-cli login |
17 | | -``` |
18 | | - |
19 | | -Or make sure this folder is in your `$PATH`, by adding the full path of the `forge-cli` folder to the `$PATH` variable in your `.bashrc` / `.bash_profile` etc. |
20 | | - |
21 | | -### Update |
22 | | - |
23 | | -```sh |
24 | | -git pull # sync with the latest code |
25 | | -composer update # update dependencies |
26 | | -``` |
27 | | - |
28 | | -## Usage |
29 | | - |
30 | | -Use `forge login` to create a Forge API Token that will be used for future API requests. |
31 | | - |
32 | | -To link an existing project with Laravel Forge, call `forge init {environment}`. |
33 | | -This command can also create a new site on Forge if you want. |
34 | | - |
35 | | -## Multiple environments |
36 | | - |
37 | | -To store and manage the configuration of multiple environments, such as staging, dev and production, you can pass the environment to all Forge CLI commands. |
38 | | -It always defaults to `production`: |
39 | | - |
40 | | -``` |
41 | | -forge init staging |
42 | | -forge env:pull dev |
43 | | -forge env:push dev |
44 | | -# etc. |
45 | | -``` |
46 | | - |
47 | | -## env files |
48 | | - |
49 | | -You can pull down the environment file that is currently used on Forge using `forge env:pull`. |
50 | | -This will write a file called `.env.forge.[environment]`. |
51 | | - |
52 | | -To push this file to Forge again, call `forge env:push`. |
53 | | - |
54 | | -## nginx config |
55 | | - |
56 | | -You can pull down the site nginx configuration file using `forge nginx:pull`. |
57 | | -This will write a file called `nginx-forge-[environment].conf`. |
58 | | - |
59 | | -To push this file to Forge again, call `forge nginx:push`. |
60 | | - |
61 | | -You can also deploy the current Forge project again by running `forge deploy`. |
62 | | -If you add the `--update-script` option, this will use the deployment script configured in your `forge.yml` file and update it prior to deploying your site. |
63 | | - |
64 | | -## Syncing configuration |
65 | | - |
66 | | -Once you have made changes to your `forge.yml` file, use the `forge config:push` command to synchronize your local settings to Forge. |
67 | | - |
68 | | -## Rebooting the server or services |
69 | | - |
70 | | -You can reboot the server or services by using the following commands: |
71 | | - |
72 | | -* `forge reboot:server` - reboot the server |
73 | | -* `forge reboot:nginx` - reboot Nginx |
74 | | -* `forge reboot:mysql` - reboot MySQL |
75 | | -* `forge reboot:postgres` - reboot Postgres |
76 | | - |
77 | | -Every `reboot` command requires confirmation, which you can provide by adding the `--confirm` option. |
78 | | - |
79 | | -**IMPORTANT:** Please remember that rebooting the server or services may cause temporary downtime! |
80 | | -Running the command will only _initiate_ the reboot process. It is up to you to perform whatever steps |
81 | | -are necessary to confirm that the server or service has properly rebooted. |
| 7 | +You can find the documentation on the [official project website](https://beyondco.de/docs/forge-cli/). |
82 | 8 |
|
83 | 9 | ## Contributing |
84 | 10 |
|
|
0 commit comments