dreadlabs / vantomas
A TYPO3.CMS project encapsulating the website www.van-tomas.
Installs: 17
Dependents: 0
Suggesters: 0
Security: 0
Stars: 5
Watchers: 3
Forks: 2
Open Issues: 3
Type:project
Requires
- php: >=5.5.9
- arg/tagcloud: *@dev
- dreadlabs/app-migration-typo3: ~0.1.3
- dreadlabs/vantomas-website: 7.0.0
- league/html-to-markdown: ~4.2.0
- michelf/php-markdown: ~1.6.0
- symfony/yaml: ~2.8.1
- typo3-ter/realurl: ~2.1.4
- typo3-ter/vhs: 3.1.0
- typo3/cms: ~7.6
- vlucas/phpdotenv: ~2.2.0
Requires (Dev)
- dreadlabs/typo3-build: dev-master
Suggests
- apigen/apigen: Smart and Readable Documentation for your PHP project http://apigen.org
- dev-master
- 3.6.x-dev
- 3.6.14
- 3.6.13
- 3.6.12
- 3.6.11
- 3.6.10
- 3.6.9
- 3.6.8
- 3.6.7
- 3.6.6
- 3.6.5
- 3.6.4
- 3.6.3
- 3.6.2
- 3.6.1
- 3.6.0
- 3.5.x-dev
- 3.5.2
- 3.5.1
- 3.5.0
- 3.5.0-beta
- 3.4.2
- 3.4.1
- 3.4.0
- 3.4.0-beta
- 3.3.0
- 3.3.0-beta.2
- 3.3.0-beta.1
- 3.3.0-beta
- 3.2.0
- 3.2.0-beta
- 3.1.1
- 3.1.0
- 3.1.0-beta.1
- 3.1.0-beta
- 3.0.1
- 3.0.1-beta.3
- 3.0.1-beta.2
- 3.0.1-beta.1
- 3.0.1-beta
- 3.0.0
- 3.0.0-beta
- v2.0
- v1.0
- dev-test
This package is not auto-updated.
Last update: 2020-01-20 03:27:49 UTC
README
A TYPO3.CMS project encapsulating the website www.van-tomas.de
Build status
Table of contents
- Prerequisites
- Installation
- Build
- Release
- Syncing
- Running phinx migration from cli
- Todo
- How to...
- License
Prerequisites
To run the project locally, make sure you have installed VirtualBox and vagrant.
Please activate ssh agent forwarding and SSH key authentification on the remote server if you want to make use of database/file syncing or rsync deployment.
The provision, build, downsync and deploy processes uses ansible
.
Please ensure it's installed on your host machine.
TL;DR
- VirtualBox ~5.0.10
- vagrant ~1.7.4
- ansible ~1.9.4
.env file
The project is operating with environment files in order to separate code from
configuration. See the file .env.dist
shipped with this project, adjust to your
needs and ensure it will be available from the project root directory.
For more information, read the Config section of the "The Twelve Factor App" manifest. For a controversial consideration, please read Environment Variables Considered Harmful for Your Secrets.
Installation
~ $ php composer.phar create-project -s dev dreadlabs/vantomas
~ $ cd vantomas
~ $ vagrant up
Hint: to re-run provision, you can do so by executing one of the following commands:
~ $ vagrant provision
or
~ $ ansible-playbook ./.ansible/playbooks/provision.yml
Build
~ $ ansible-playbook .ansible/playbooks/build.yml
Release
The release defaults to Pull releases with Travis.
You can Push release if you're not using a Continuous Integration system.
Syncing
Please read the Release Inventory chapter and make sure you created proper inventory groups as they are important also for downsyncing data from remotes.
After that you're able to downsync database and files with the following command:
~$ ansible-playbook .ansible/playbooks/downsync-data.yml -i .ansible/inventories/nicknack_<testing|production>
You can split the process further down with using tags targeting a specific part of the downsync:
~$ ansible-playbook .ansible/playbooks/downsync-data.yml -i .ansible/inventories/nicknack --limit <production|testing> [-t <database|files>]
Import via:
~$ .script/console db -h db <Database name> -e "SET names 'utf8'; SOURCE /app/data/db/<dump name>.sql;"
Running phinx migration from cli
The phinx.yml
makes usage of the environment variables described in the .env file
section. To source the variables and execute phinx you can issue one of the following commands:
# posix shell
#
# The -a switch exports all variables, so that they are available to the program.
#
# @source: http://serverfault.com/a/540484
#
~ $ sh -ac '. ./.env; vendor/bin/phinx command [options] [arguments]'
# bash
#
# @source: http://stackoverflow.com/a/30969768
#
~ $ bash -c 'set -o allexport; source .env; vendor/bin/phinx command [options] [arguments]'
Todo
Evaluate integration of http://serverfault.com/a/316100 (ssh-keygen / ssh-keyscan for ~/.ssh/known_hosts)
How to...
-
...see what hosts would be affected by a playbook before I run it?
ansible-playbook playbook.yml --list-hosts
-
...compare remote and local directory to check rsync deployment
diff <(ssh user@host ls -R /path/to/remote/folder/) <(ls -R /path/of/local/folder/) > diff.log
-
...get the latest annotated tag which targets only the current commit in the current branch?
git describe --exact-match --abbrev=0
License
The following directories and their contents are Copyright Thomas Juhnke. You may not reuse anything therein without my permission:
- src/vantomas/Resources/Public/Images/ (except child folders)
Photo credit src/vantomas/Resources/Public/Images/sleeping-kittens.jpg
:
sleeping kittens by Jimmy B, CC licensed
All other directories and files are GPL v2 Licensed. Feel free to use the HTML and CSS as you please. If you do use them, a link back to http://github.com/dreadwarrior/vantomas would be appreciated, but is not required.