mirror of
https://github.com/cytopia/devilbox.git
synced 2024-12-21 13:47:47 +00:00
88 lines
2.5 KiB
Markdown
88 lines
2.5 KiB
Markdown
# Devilbox Documentation
|
|
|
|
[Home](https://github.com/cytopia/devilbox) |
|
|
Overview |
|
|
[Configuration](Configuration.md) |
|
|
[Usage](Usage.md) |
|
|
[Updating](Updating.md) |
|
|
[Info](Info.md) |
|
|
[PHP Projects](PHP_Projects.md) |
|
|
[Emails](Emails.md) |
|
|
[Logs](Logs.md) |
|
|
[Intranet](Intranet.md) |
|
|
[FAQ](FAQ.md)
|
|
|
|
----
|
|
|
|
## Overview
|
|
|
|
![Devilbox](img/devilbox-dash.png)
|
|
|
|
This is a brief overview to get you started as quick as possible. For in-depth documentation use the navigation above.
|
|
|
|
|
|
### Install, Configure and Start
|
|
|
|
```shell
|
|
# Get the soures
|
|
$ git clone https://github.com/cytopia/devilbox
|
|
$ cd devilbox
|
|
|
|
# Create and customize the config file
|
|
$ cp env-example .env
|
|
$ vim .env
|
|
|
|
# Start your container
|
|
$ docker-compose up
|
|
```
|
|
|
|
### Create projects
|
|
|
|
Inside the `.env` file you will find two important variables:
|
|
1. `HOST_PATH_HTTPD_DATADIR`
|
|
2. `TLD_SUFFIX`
|
|
|
|
The first one defines the root path for all your projects and the second one defines your desired domain suffix (default: `loc`). Inside the `HOST_PATH_HTTPD_DATADIR` folder you will have to create the following generic directory structure: `<project-dir>/htdocs`. Files from the `htdocs` folder are then served via `http://<project-dir>.<TLD_SUFFIX>`.
|
|
|
|
**TL;DR (easy)**
|
|
|
|
- Assuming `TLD_SUFFIX` equals `loc`
|
|
- Assuming `HOST_PATH_HTTPD_DATADIR` equals `/shared/httpd/`
|
|
- Assuming desired project name equals `my-new-project`
|
|
- `mkdir -p /shared/httpd/my-new-project/htdocs`
|
|
- `echo "127.0.0.1 my-new-project.loc" | sudo tee --append /etc/hosts`
|
|
- `curl http://my-new-project.loc`
|
|
-
|
|
|
|
|
|
**TL;DR (pro)**
|
|
|
|
- `export project=my-new-project`
|
|
- `. .env`
|
|
- `mkdir -p ${HOST_PATH_HTTPD_DATADIR}/${project}/htdocs`
|
|
- `echo "127.0.0.1 ${project}.${TLD_SUFFIX}" | sudo tee --append /etc/hosts`
|
|
- `curl http://${project}.${TLD_SUFFIX}`
|
|
|
|
Here is a more complete example for the directory structure:
|
|
```
|
|
project1/
|
|
htdocs/
|
|
project2/
|
|
htdocs/
|
|
some-random-name/
|
|
htdocs -> ./some-dir/ # <-- symlinks are also possible
|
|
some-dir/
|
|
my-website.com/
|
|
htdocs -> /shared/httpd/site.com/ # <-- symlinks are also possible
|
|
```
|
|
|
|
You will then have to extend `/etc/hosts` with your created foldernames plus the tld suffix:
|
|
```
|
|
127.0.0.1 project1.loc
|
|
127.0.0.1 project2.loc
|
|
127.0.0.1 some-random-name.loc
|
|
127.0.0.1 my-website.com.loc
|
|
```
|
|
|
|
Contents inside the `htdocs` folder will be server via the configured domain automatically. So in order to access project2's htdoc folder go to `http://project2.loc` (assuming `TLD_SUFFIX` was `loc`)
|