You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Daniel Sissom 0b21b71ddc
Added readme to explain project setup.
1 month ago
service Initial commit. Added placeholders. 11 months ago
.env Added simple nginx webserver and traefik routing. 11 months ago
.gitignore Initial commit. Added placeholders. 11 months ago
README.md Added readme to explain project setup. 1 month ago
docker-compose.yml Added simple nginx webserver and traefik routing. 11 months ago

README.md

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.