Browse Source

Added readme to explain project setup.

master
Daniel Sissom 2 months ago
parent
commit
0b21b71ddc
Signed by: djsissom GPG Key ID: 2C30FFB796852389
1 changed files with 83 additions and 0 deletions
  1. + 83
    - 0
      README.md

+ 83
- 0
README.md

@ -0,0 +1,83 @@
Example Web Server/Site Template
================================
-------------------------------------------------
Project Layout
-------------------------------------------------
## Project Working Copy
```
~/Projects/Web/example.com/ # git repo (git ignore www)
|
|- docker-compose.yml
|
|- service/
| |
| |- docker-compose.yml
|
|- www/ # git repo (git ignore build)
| |
| |- Makefile
| |
| |- index.pug
| |
| |- build/ # git repo (if not building target on server, e.g. static GitHub pages)
| | |
| | |- index.html
| |
| |- config/
```
## Project Collaboration
```
git@examplecodehost.com:organization/example.com.git
git@examplecodehost.com:organization/www.example.com.git
```
## Server Deployment
```
/usr/local/src/web/example.com/
|
|- server/ # bare git repo
|
|- www/ # bare git repo
```
```
/srv/dev/example.com/
/srv/beta/example.com/
/srv/prod/example.com/
```
In build upstream bare repo (webserver:/usr/local/src/web/example.com/www/), run:
# chown root:srv .
# chmod g+ws .
# setfacl -d -m g::rwx .
# git init --bare --shared=group
# git config receive.denyCurrentBranch updateInstead
# git config receive.denyNonFastForwards false
?(# git config core.sharedRepository true) # if needed because of missing init option
Set upstream and push branches to new bare repo, then run:
# git worktree add /srv/prod/example.com/www master
# git worktree add /srv/beta/example.com/www release
# git worktree add /srv/dev/example.com/www dev
# chmod -R g+w .
# chmod g+w /srv/*/example.com/www
# chown -R root:srv .
# chmod -R g+swX .
# chown root:srv /srv/prod/example.com/www
# chmod g+swX /srv/prod/example.com/www
# chown root:srv /srv/beta/example.com/www
# chmod g+swX /srv/beta/example.com/www
# chown root:srv /srv/dev/example.com/www
# chmod g+swX /srv/dev/example.com/www
and add your user (on the server) to the srv group.

Loading…
Cancel
Save