t3kit / t3kit-starter
Starter point for t3kit project. t3kit and TYPO3 dependencies, folder structure, custom site configurations, local environment based on Docker, CI/CD configs
Installs: 414
Dependents: 0
Suggesters: 0
Security: 0
Stars: 3
Watchers: 7
Forks: 4
Open Issues: 7
Language:CSS
Type:project
Requires
- helhum/typo3-console: ^7.0.2
- t3kit/t3kit: dev-master
- typo3-local/theme-newcustomproject: dev-master
- typo3/cms-about: ^11.5.8
- typo3/cms-adminpanel: ^11.5.8
- typo3/cms-backend: ^11.5.8
- typo3/cms-belog: ^11.5.8
- typo3/cms-beuser: ^11.5.8
- typo3/cms-core: ^11.5.8
- typo3/cms-dashboard: ^11.5.8
- typo3/cms-extbase: ^11.5.8
- typo3/cms-extensionmanager: ^11.5.8
- typo3/cms-felogin: ^11.5.8
- typo3/cms-filelist: ^11.5.8
- typo3/cms-filemetadata: ^11.5.8
- typo3/cms-fluid: ^11.5.8
- typo3/cms-form: ^11.5.8
- typo3/cms-frontend: ^11.5.8
- typo3/cms-impexp: ^11.5.8
- typo3/cms-info: ^11.5.8
- typo3/cms-install: ^11.5.8
- typo3/cms-linkvalidator: ^11.5.8
- typo3/cms-lowlevel: ^11.5.8
- typo3/cms-opendocs: ^11.5.8
- typo3/cms-recordlist: ^11.5.8
- typo3/cms-recycler: ^11.5.8
- typo3/cms-redirects: ^11.5.8
- typo3/cms-reports: ^11.5.8
- typo3/cms-rte-ckeditor: ^11.5.8
- typo3/cms-scheduler: ^11.5.8
- typo3/cms-seo: ^11.5.8
- typo3/cms-setup: ^11.5.8
- typo3/cms-sys-note: ^11.5.8
- typo3/cms-t3editor: ^11.5.8
- typo3/cms-tstemplate: ^11.5.8
- typo3/cms-viewpage: ^11.5.8
Requires (Dev)
Suggests
- apache-solr-for-typo3/solr: Apache Solr for TYPO3
- friendsoftypo3/frontend-editing: Enable editors to work with the content in the most intuitive way possible
- platformsh/config-reader: It provides convenience wrappers for accessing the Platform.sh environment variables
- yoast-seo-for-typo3/yoast_seo: Yoast SEO for TYPO3
This package is auto-updated.
Last update: 2024-11-28 09:49:20 UTC
README
t3kit-starter
Starter point for a new project based on t3kit
Table of contents
t3kit-starter
- About
- What's included
- Required dependencies
- File structure
- Quick start a new project on t3kit base
- Start with t3kit local development
- Create your custom theme based on t3kit to extend the functionality
- Local development tools
- Changelog
General info about t3kit project
- Documentation
- t3kit Roadmap
- Versioning
- t3kit project structure
- Contributing to t3kit
- Code of Conduct
- Support
- Security Policy
About
t3kit-starter is a bunch of tools, configs, and best practices which should help you to kickstart new projects on a t3kit basis
What's included
- Project folder structure
- Composer configuration
- t3kit and TYPO3 project dependencies
- TYPO3 global configurations
- TYPO3 context configurations
- Custom site configurations
- Local development environment based on Docker
- Starter database
- Tests
- Code guidelines
Required dependencies
- Git
- Composer >= v2.1.8
- Docker >= v20.10.8
- Docker Compose >= v2.0.0
- Node.js >= v16.12.0
- NPM >= v8.0.0
- nproxy >= v3.0.0
File structure
t3kit-starter/
├── .github/ # github actions
├── .localconf/
│ ├── community/ # community configuration for t3kit, not supported by t3kit team
│ ├── db/ # t3kit database manipulation - Setup/Restore/Pack
│ └── docker/ # t3kit local development config based on Docker
├── config/
├── extensions/ # Themes and other extensions belonging to this repository only
└── public/
├── typo3conf/
│ ├── AdditionalConfiguration.php
│ ├── LocalConfiguration.php
│ └── PackageStates.php
└── fileadmin/
Community configuration
We are open to any additional configuration on top of the t3kit. To add it just follow two rules below:
- It always should be inside
.localconf/community/
folder - t3kit team will not support it
Clean up the project
If there no needs to use t3kit starter database or Docker configuration for local development, then just delete folder .localconf
from the root of your project rm -r .localconf
Quick start a new project on t3kit base (two options)
-
Start with
composer create-project
composer create-project --no-dev --no-scripts --remove-vcs t3kit/t3kit-starter my-new-project v11.0.0-beta.2
-
Or use as a template in GitHub (recommended). If you are using GitHub to store your future project, then you can just clone t3kit-starter as a template to your new project repository with
Use this template
green button in t3kit organization in the t3kit-starter repository.
Start with t3kit local development
-
Check that nginx-proxy started
-
git clone git@github.com:t3kit/t3kit-starter.git
- Clone the repository -
composer env
- Configure local development environment variables*Note: To continue with Docker based local development you need to create an environment
.env
file for your project based on an examplelocal.env
. You can create.env
file by running:composer env
as described above orcp .localconf/local.env .env
.- Check all environment variables in
.env
file and change them if it needed - OS-specific settings in
.env
file- Linux
- Uncomment
USER_ID
var and set up your host user id to make the shared folder writable. (Skip this step if you are a Mac user)
- Uncomment
- Linux
- Check all environment variables in
-
composer i
- Install composer dependencies, or runcomposer ci
if you don't have PHP v8 as your main local environment -
npm install
- Install npm dependencies -
npm run dev
- Build development assests for themes -
docker compose up -d
- Start all Docker services for a local development environment -
Setup t3kit starter database
composer dbup
-
Open
t3kit11.t3.localhost
in browser Google Chrome -
Open TYPO3 BE
t3kit11.t3.localhost/typo3
---> [user:admin
, password:admin1234
] -
Open TYPO3 Install tool
t3kit11.t3.localhost/typo3/install.php
---> [password:admin1234
]
Create your custom theme based on t3kit to extend the functionality.
extensions/theme_newcustomproject
in this folder you can find an example of TYPO3 extension that can be a good starting point for extending the default t3kit theme. With this "subtheme" extension, you can change the design and add the necessary content elements while maintaining the main features of t3kit, and the ability to easily upgrade to newer versions of TYPO3 and t3kit.
Quick start
-
Define a
name
for your new theme. For example, let's take the namemega
-
Create a new extension based on
theme_newcustomproject
cp -r extensions/theme_newcustomproject extensions/theme_mega
Note: Change the
mega
part inextensions/theme_mega
to your real project neme -
Rename
newcustomproject
to your project name. In our example, we are usingmega
as a project name.- Mac
grep -rl 'newcustomproject' extensions/theme_mega | xargs sed -i '' 's/newcustomproject/mega/g'
- Linux
grep -rl 'newcustomproject' extensions/theme_mega | xargs sed -i 's/newcustomproject/mega/g'
Note: Change the mega
part in **/extensions/theme_mega
and s/newcustomproject/mega/g
to your real project neme
-
Activate
theme_mega
extension- Install a new
theme_mega
extension
composer co require typo3-local/theme-mega:dev-master npm install npm run dev
- Install a new
-
Enable
theme_mega
for the siteSite Management -> Sites -> Site Theme
Local development tools
t3kit database manipulation - Setup/Restore/Pack
- Setup t3kit db:
composer dbup
- Restore t3kit db:
composer dbre
- Pack (save) t3kit db:
composer dbp
phpMyAdmin
Run phpMyAdmin docker container and connect it to needed DB host
docker run --name pma -d -e PMA_ARBITRARY=1 --restart=unless-stopped --network nproxy -p 8083:80 phpmyadmin/phpmyadmin
nginx-proxy
nginx-proxy for t3kit11 project
For all t3kit projects, we need just a one nginx-proxy
started as a separate Docker container. Based on Automated Nginx Reverse Proxy for Docker
Setup
git clone git@github.com:t3kit/t3kit-dockerhub.git
cd t3kit-dockerhub/nproxy
docker compose up -d
Community-contributed platforms
These platforms are not officially supported by the t3kit team.