-
Notifications
You must be signed in to change notification settings - Fork 23
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
update docker & prettier configurations and composer dependencies
- Loading branch information
1 parent
a711114
commit 0ffef61
Showing
98 changed files
with
5,685 additions
and
2,359 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
### User-specific stuff: | ||
/.git* | ||
/.idea/workspace.xml | ||
.dockerignore | ||
|
||
### Other data | ||
storage/mysql-data | ||
vendor/ | ||
bootstrap/cache | ||
!bootstrap/cache/.gitignore | ||
_ide_helper.php | ||
|
||
### Vendor bin dependencies | ||
/tools/*/vendor/ | ||
.phpunit.result.cache | ||
|
||
### Docker | ||
Dockerfile | ||
docker-compose.yml |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
eyJpdiI6Ii9XRzNIWGNtV045NUpFU2pQRUdjY1E9PSIsInZhbHVlIjoiZStUUTdONmEyOW5lSXI2dnRNWngrN3Mrd21ONnB1VTQxNWhraTI2SXBzTWk0Z1p4L1Z3dEZXbnBpL1B1ay8xN1B3WHhWZ3BxblNXdk5XdGJOZlBKTWZIckFWd0pwT0lmL1V5QTFxdTByeHlUT05XRGVjK2UwVjdmN2N6VGVHOExZbjRmc2V1M1JNOXQyVExJYUlMemFiR3pNYTkxOStCd3h5aEJTMDFGcmUxL1FacFh6cVpldDdNQUZjemNjMnlqalM4cEo2ZlJuNkVXRWpSL3dHUk54Nmwram4vSmxFcmpQcEFuZXpCQjNqcmJyOVhaTU1takk4RmxSUER1TGRoWTFRNW96Umt6ZUh1ZjV5ODZ0dEEwMGoyMGVJRTJTRUVYdVhESnYwRlVoWFNPOWh0ckVIcWdPV2RMUzErdmZZQitxSzBIOTlVc1dVY1RqZm9TMFIyZWJ4dFpmL2FIOURXclpUcm1ZaThnN2kwZGFWTmNGZElNRDBycVl2c3J2YjZtWDdtaTRTUFV6ZXpHdlV6UzJrVWtUUzh2VTdxT29RVEZ4cFUxWWZQTVB3WlFDTDVhVkFNVHN0ekVyTGExRDRQTElMTEZUOXdua3dzcFFXNHRnd0FKN0luUGoyU0lkNElFMDhDSzBvK0N6MFlEUGpGQ25xdGlJbVRzdWhqcU13Z3hNcEVVZ2Ywc0NUMkpETTVPUjM3ZmNSbytXc2VXNXJYRnRpV05VWndOYXNxVVZ4RkJ1K0xYUlVLM25zODVhSUt2TzY3TmoveFl2a1lDbk5YTzZXZFkvbGZkaFN6dWV2V1RHbW1iSkhYcWRSODR1OXg1ZTBrZmJCNHF1UVZEaTVadDBKN0x3WDlHTXNrOFdhTEdlOHcxSC9ldDE0UTdvakUxTXhBb3FNVXM5dmJwTGh6eFFZSFVsZURMMm1mZjZJRUlQb1dWZWNlV09KYXEyNUVDcW1KU2lCYk0yMXBpd29oazBzTkNoMUZ5Nll3TWFkM2N6UkJjNjVzSHY0bHVqd3B0K2lTczg5Z1V3R2JDUUcvT20zYXZDRmJUL21nbUV5SUsrcEVON09vNG56eDk2VUg1Y1lMTk9CQi9CN0RvdGJlR2syZzZrWmFGdXJIQUZpbFN1Tk1QZ05wQ3Q0L2ZoK3RRWEdGNVE0SC9HOVdyYzh6VlBoKzM0WHR4QnRnV3hUWG1iTzJZSXVsV2dEU2QxeUU5aTFKMDNkVEhJM2oxZjNFWHcyMkZ1RFVnRHJjeTRXT0RpY3lSUU4vUmI3VWZUcS85eVdLU1pSMEVUbzdWOVRoSFFMWjV2TXROa2hqZDY3Z3JWb0cxaTRBT2l2a2VobDZLUEkwOG1hQ2ZVUHB0L0hHK0I4WTloRmJ6OGtMM0p1WnVNRVN2RVR6L01zVXhyZHUxdDE4RUJpMUY1UVg2bmhqUlZER2MvMjNNcy9laWpJMVJpaXJzRHRlOTk1UElRbWYvVVhjcmNuUEVvd24xT0pQbkVEelRtWGdkTHFCWFJHTWxxbkQ4NTNUanh2b3BPRnVZY2M2Q090ZHBreWJRZTlONkNPYUNFZ0VxNjR1OEFLb2xCODBOUVN4eTF5L2o2SXByL1BldUpjZTIwVUxNWk5lbjZWUlczeU1sUXZBZWdENzV1VTZxMHZmWG1CN29YNFQyZUJKcVZsQjRRcDZmZmQ1Ukswd3JoM0JvU3RWVG1XS283eWE1d0o1MjBBTEhnQjBPdGtzY2djSC8zeGN6UnJzblRhQm1ONFliWDg4UWlXZ25rM0dBdy9ySXhYZDA1WDc5SmkwTVlvbFhxZHdxSFlOa09xZmlteFNNT2drb0pZUHB3cEtJbThQaE41dWd1Vjd3ZlAzTVF2QUtqM3RwNXJXNTFyYklpRklQOVEvblFqV2tuL29TMlZGaDUyZFErVFBFNlZJekhWaWlhcU9TTlEvZERGT0hOTDhkQVBUc3luNDUvVE9nNU04VFdlZ29tVTFGYXBYYTFmT1NYR2RkTkQyUXFBdElXSGJhYzVkb1VERnE5TytxQWJQQlNXblF3Y3ppaEc4a1BtVzNRc2dUS0ZaUnBEb3U1bG1aU1dyWVNkRUdLUDkxcDJEcUlxZnBTV1hjL1MyK2JpT25pa2ttNXZqTUl1cEtaNGhOUURQZDFPOWdMZVBhSEthMlNYa041VXBGRnk3YUluRU83djVQRjFPL0tEV2xNaUtPZGswaElOMElZRVhFRDNHNzFoTFJQaTBxMU0zTU8xYTJ0cXVqOStEUG1lb21wdjZNL0pxUXhWaGw1UEl1MVRlQXVrcDRqNVJ1bnZpTUVwdW9KZkJzOUk4MUx3Z2lQdFh4TzMzL2NZdzFub0ZncWxaNGhBKzU3T2N2d0RZblVyN0xHN3NaZlJSWHZ3YkljTForUnUyT2Z1VndLaDFJZU9uVURFdGhYajVDSGo0QnZ6QUNJTCswdElNcHgwUERwNSs4dGlUZmdkaWpPSFBYdnlFVElTN0ZjUmZkTkttZ2ZkKy9Tc3ZBL1k2NFN0Sjc1Zi9iK05Wc2JPSTYyZitxY3dmVThia0NPU0FiVjEzVWhaaVZYV2FEc0FnbkJ1R1RsRUtDMlQ2TkRBT1d0VWpWTjRlOWNVYmVmMnlJZVcxQktuZTJFWWN3UzBXemcwVjY5SlJtMHhjOFhWaGJKOHhRUFUwZkl5Nm03M2hGTGttbDFtdnBocUYvQm5CWkUxdFBLcXBKZ01rOG5FczdpalNxMDZsRnprYWtrRElsamZEcyt2SnFIZXNRK3dOOGd2SjlTRldKUUpoUkVCTTNtbkxaYkVHMDBZR1Z1Z1pLbkxwWHRqbVRSYXpTNk5PMHk0KytVZGIyT25rVlhhbE1zY3BCamU3bDhlWEQvdE1GZkw2V0tOVUVsRnVzL2pZb0lmMVZkek9pU0RQNjM3M2V6ZlBlNXJkN2ExZDJiOG9FbmN0WE44bEkvMU5nSEhKSXA3Q09EWnlMMStsWGo4ZEJDczh6anZrVFo0Szd0MitHVm9GNEhtUVBPZHRkbG4rZ2VFVnIzMlJ2RzhPd09NUGdGcUxQak1mSUh1cHVLZXBUOGR0TVNuUDFXdmU1Ymt5VUpXdEZXZE1XR1NCOTJJakswOEdxNjVLWWN3YTNRZWNrWmdWT2pTclpGdXNVaWNSS3VXMmdwbUlKT2UxVDZHTVlIT0cxQ29TZTdaRkFsZW5ZNGlCSmxMYnk1ak5yMkxKc0plb1NGdk1ZbEIxUVM0UDdiYUFjRUlFNHJYcUdvc2tpaGc4OGJuVzdHY3QxbTlaZWRNWWFzN0VmbU5NPSIsIm1hYyI6ImMwZWZhZmNiZWEzNjdiMTk5Y2UyYTM0MDkyYTgwNTU0MmQ2MWRlMTE0YTExN2E4M2U5ZTZmNjUzN2RhZWZjYjgiLCJ0YWciOiIifQ== | ||
eyJpdiI6InN2WjA5TWlBVkJkNGMvaEcxOGdJZkE9PSIsInZhbHVlIjoiaXB0TnRCcitZd0RrQjBJaERQUUt1SUFYZFpLTDU3RGpYZDl0YXRDM3F0enFYTEI2dUFnOTJnNHh3NlRDd1FiRysrN3JGbWVhaU1Cdy9VUm5FVC9uNVVUK1poV01uemt3WXdtZXhKSEpvOUl4NlFhcWZmRDZxRG9oRmNrbE5TMFdXM2ZKOW5VMHYzakFIVmJTM2I2aC91ZnlFUmdVRXlMT2pPR2JMd2NIaVpyK3VQdW43bDVEcERxOUdReVZoemQxSU9WQ1IvVkM1U25vTEQzTndyUHowR2RzZnpxcW5xVXF4SStRZnV5ZldPaUd4U0NNWUZ5dlRHL0MzMlcwNFQ0bjJuZUhkS25yYmprczF1SDhwWUZDYmhVTnBoNEtWUmkyOTF2ODBhOURFbm1FN2UzME10Q3hUYXRrbXMyajFRWnJjVDBQb1lsTW56UzhsdlJETVFJb2tIQXJoTGxlQWNTOTU5N3h3YXZ1amR6RkQ1a1NMTHBXblArUDRXMWNyU0Q5VllVZGdwSzZIRlIrM2cxYWJWUE90TmJ3MHQrY3NSbGF4VWZZRlRmd1FQOHFyckNKK3ZqL1RlRnVXYnNidXVvRlF1WjJGT3IyeHhHdHIzRms0VWRBeXM4MDBCVFkwK3BIVUNYVFR2aHlKSGJHRFVTZkR2bithSzg4WllmV1dHWmJHelZXU1VrOWlsRCtGVjFDTTNiUThzTTl0WVRTOEV2K3RsL0pDbzhQRUxsWkRWZkVvQ1J4VVdER05zVTZVbUd6aHhBUDdCWWpMU1EwZ0h6eGdwSzBwZTh4UmdicG9ZejJMVGZ0M0cxRitCVTBlOVRzTC9oYmc3ZFRpZVpDWDh2REM2c0FsQmRxWlE1Ty9TenRScTFFSU1kOHpIbGVkKzdubG5neXZjNFZKRm5jMkpubDBDbUpDNmZVeDJUQmZvbERkV05FdDFEbk9HTW1FYlNIY1lLMWswbmUxVnIvNk9VeTVuTnBuWGdHMVoxL3NObWxKNlBJNTVGRndWRFloMVRtZ0swdDFBaDRuL3pNNjlVeWpCTGNncC92dTVpNjltMml4Z0JBUnNPSyt6eW53YzNKL24zT3VOMG1xRnVYUkppMnNaWjJST3lydFdCR0hQbVVJYUxhVkxYL2tTYlorQjBldEZnUjNSOExGWlU3WTFxekc4bDBYYUhnWEJ6dlVLTlZOSnZHcXFWS3hDS2V1dFZmU2VKaUc5T1hQdFRVUmdjUE1WMCt0VHBIc0pDS1ZYekJSYkp3ZEg3WEFyWm5oTEJhQnFFS2FrNXRjemlRZkVmNDI2aGQ5aUFWQS9QcjlwQ2VIV0R4aEJjcklaQlBVbktoWWdJY0pMMzg5dXV0VmZjUzVlU20yVVZsdG40NWltQS9VYVNJeGZ0b3d1MG85OHRsS0RCQVFwZDJLVXhMZ0JFWmlydTk3dGtGSmRVZWQxV3pWTWllVlBCajNTOXc1Q1JqbFBkK3FSTEs4aTdjdnhFZXJYeGt1TzFtTmZVdXhrUit3WHNwK09EcnJPeEFUdVhNb1FrWXFvVi83dFFGTlNJTzNuYlVkYnJsR0R6YzJRVW05TXpyMjBCWXJLQTdnK2pISnJaaFFSTFgyUHJ3VXFFdWVRRGltMzFIaHN3VDJFWWtUR0lJY2t4eG1ySFF4UmtidVpoSmxZYldUQWVQRUNDSXpYazFGWFBwcE1SM0dkblB0bXdHVzRuSmtjb3BOVWVMdlNsSEljNUVIUm54ajdmaVBpdjIya3p2R2hNVWxka3BlNVZIemdHK2pkWGJabHMzTGViTnVZTGg5cU8rSVdQSC9aNVY2ZDBhNTVFS0hSYU5na3ZsZlExZUkzS3MyaUE2OTl1T0ZNaEV1SUlkQktWa1ZLTzZDTXZqbXdQSUZsUUxQb0JiTk5WL015aGNSeURMZ2lUeW4yMjRmK29xbzRubDdTMlJaS0RzbEZCVEsvMW9iTDBvRXpEWHRCSkFPN1J1c1RFSmlvWDduVFRHc3kwVHJ1bXJSNlg0cm41eE52TWxlbVNqQkJpcGJhVTIzUzZWWTJLZWpNWFZpUXdJL21qRU5VUEF2YWlWTHo3QkZzVE9yMW4wUTdrbUtpdWlhbVpSWGIvWVJqSTZrRFZIZWhyVjhGcXVvZy9xUGRad3hVZlpRR0JyUmZ0RlpzNGdQYjdRcnNZeE1OdHBzdEcvSzYvWGh4S2VadVJ5dllwaXNXeUFRNFVwM1NLVk1Zd2xIZHZuWGZDd2xLWjMvMlQ2eU9xcWtNWTlFbm5QSVVpT2lCMS9YQ0krem9kOGJtZGxTSXV5d0ZGOFhkQXB6UXR1WHI1dytoUHBldWt5TTk4OFlkTlZCVG1SdnhSNGpZei96S3BYNkFaM29YUlBQTEttOVlYa3VkUFJURzhIZWEzYUdiRU1pVnVKTUpObWptZE0rYXlEL2NhdUR3QlZVRHVhazRzVVordUI1S2lVSzhuVHBFT3NLQzBXaERUMzY0M3RqWjNqdWlkZXhITDd4ODF3aUNzRTFSSWMrMEdXclNMOUtxTDlUQUUyTm01SkVqZXRGNm43WERMVGtsa2F5WlQrbnBzRVVlOGo2RHhxUWVWRHpTRTlodEdrWStVdUhBbkhLaWRxYVV5OENuRW96QlhHemtQQkxPbGVTRFF1OXY0QUQvWmlVV2xzZ01qc29Wd284ZW9tbGVTU3BpeUFIdysrMndHRDc3R0QyYU41a2FKRVlYNG1RTlBNR3JMTHU3YzVsZW5RQ0RWcHAyK21rS1Y2ZTkyRDRNNTlFK3dITzBzTW9aZDkvblNKc2puSjRVTTFwOFpScnl1VHEzU1IxQmdZTHV2Z0tlYXFnNW9NZXY1U3U1SGVIVGcvc3JOVHdVWjlOdHA0cDZCQmIvTHBYWXBEQ0NoZmhibHhVQmlBZ2pkUGgrNXdlYVVHL2lvbndoUnJsc3BucVNranlvRm43c3dxZEZTVlJ3TUtxWFQxRnpLMVdpMjRUeHVWZmVwZHFPQzg0bU1FTWFhN2g5c3pYWXRIYlo0aFNycnhCTmZLeXdjK1lDOXVtdlFWZmZWd082bVZpMVBSeHladjlaN2N6QmpTOTlpWlhHdVIxV3gwV2hleXNPdmtTNU56RmhqL3B1V2F0YUg5ajdtck1TdEZndmhBK0NlYm9WOVQybmIwU2RsNWRzcE9QamNaRDRoY2xOOWNhRCtQWlRaamExSHpsTlYrRzhobHY5cTFBeVhJUTZjL3hndHd3aUlNQlZVVG80c0s5OEJBRXo3ZzJPWElCU04wSEE5b1YxdkhPbXlSbFZLQkgxdkZrTXFZVGRSdmtOREtVUXFZSXQ1N1pGRFBDeEQxMWg2cEZHcE9FUDE1VnNCNFJJYjdnckJwVnlSL3BDRnBhRTRqTUplZWY3cnByNlhIUDk0VWZtdUkxczVCSXd1Rk9EMGo4V1pWUGJLc1pXNjkzNUtPY3NNODZMWXUzbk5UbGRuN3Bld3lock83STFDQVoxMGdmcnZpMUpKaHZuZU5HYTZKU2tmYXA0WGlxcGNrUnhveXBtRHcyTGtqK29JaEkyeHpaYU1IMmFpemc3endTVTVMZEFMMnNHbnc3V09CeXZmc0NrVXVocmxlcE0vR0pLalBBM2c1b3A5aVcyd0JZS0o3WWZIWjd0R0MyekJ4RU85U2xuS1Y4R1gzYlRMZVFiT3lLUXdkcDd4THNHVXFuUW9iV2R3dC9kZDBRU05hQmF0dlR6OFFIclVhakRkSTU3cmN6a2s1cnVhYjMwYVlSOG9ydEZza1prVzZUSXZHSVRWU3gwMDBQcEZRN1hrcDZBcmowRnE4V0NwdUVqczdqVFFHYUR5c1k3cTVWcndQcWZ5Y2dZWnJMSUJzTlhhVWhGeDZwdVlzYWhuSHJQYmp6Z09vc0dOdWorU3YvYXJhT1kwTXNCeVFhRThPUEJ0RDA1cVlBVmpuakY5VHJjR0VsSWhBdGM4QmtJbXU5SEQvKy9WR3JRVjBMcFZoSDdmRE1Wb0htcTBBeVNtQlZTUXlMZGlXai94Uy8va00ya04yMm5pNUM0Q29SYzkxV2FFaFhJRXIrczdlMVR4Ykw1VWU4T2pPdjBBTDY3QzJrc2NobGlxamF3YmN2eEd2N05ublNRbXV4aWtWS2ZEeGhpZ1ZhV1VwMGVWRVBvK2liKzErdUVTdyIsIm1hYyI6IjJmNWZmZDAzMTFmZjFkMTlkYTgyZjNlYTU3MzBjMzJmMTg1YWMzMWE4YzVjZGQ3ODczMDA0YTU4MWUzNWE5MjMiLCJ0YWciOiIifQ== |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,60 +1,60 @@ | ||
name: Build project | ||
|
||
env: | ||
'DB_DATABASE': 'brandford' | ||
'DB_USERNAME': 'root' | ||
'DB_PASSWORD': 'root' | ||
'DB_DATABASE': 'brandford' | ||
'DB_USERNAME': 'root' | ||
'DB_PASSWORD': 'root' | ||
on: | ||
push: | ||
branches: ['main'] | ||
push: | ||
branches: ['main'] | ||
|
||
jobs: | ||
build: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Clone the repository | ||
uses: actions/checkout@v3 | ||
|
||
- name: Setup php | ||
uses: shivammathur/setup-php@v2 | ||
with: | ||
php-version: '8.2' | ||
extensions: mbstring, ctype, fileinfo, openssl, PDO, bcmath, json, tokenizer, xml | ||
|
||
- name: Setup node | ||
uses: actions/setup-node@v3 | ||
with: | ||
node-version: 18 | ||
|
||
- name: Setup mysql | ||
uses: mirromutth/mysql-action@v1.1 | ||
with: | ||
mysql database: ${{ env.DB_DATABASE }} | ||
mysql root password: ${{ env.DB_USERNAME }} | ||
|
||
- name: Install composer dependencies | ||
run: composer install -q --no-ansi --no-interaction --no-scripts --no-progress --prefer-dist | ||
|
||
- name: Install npm dependencies | ||
run: npm ci | ||
|
||
- name: Decrypt .env | ||
run: php artisan env:decrypt --key=${{ secrets.ENV_KEY }} | ||
|
||
- name: Run artisan commands & build npm assets | ||
run: | | ||
php artisan optimize:clear | ||
php artisan key:generate | ||
php artisan migrate:fresh --seed | ||
npm run build | ||
- name: Setup directory permissions | ||
run: chmod -R 755 storage bootstrap/cache | ||
|
||
- name: Run Unit tests | ||
env: | ||
APP_ENV: testing | ||
DB_CONNECTION: mysql | ||
DB_DATABASE: ${{ env.DB_DATABASE }} | ||
DB_USERNAME: ${{ env.DB_USERNAME }} | ||
DB_PASSWORD: ${{ env.DB_PASSWORD }} | ||
run: php artisan test | ||
build: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Clone the repository | ||
uses: actions/checkout@v3 | ||
|
||
- name: Setup php | ||
uses: shivammathur/setup-php@v2 | ||
with: | ||
php-version: '8.2' | ||
extensions: mbstring, ctype, fileinfo, openssl, PDO, bcmath, json, tokenizer, xml | ||
|
||
- name: Setup node | ||
uses: actions/setup-node@v3 | ||
with: | ||
node-version: 18 | ||
|
||
- name: Setup mysql | ||
uses: mirromutth/mysql-action@v1.1 | ||
with: | ||
mysql database: ${{ env.DB_DATABASE }} | ||
mysql root password: ${{ env.DB_USERNAME }} | ||
|
||
- name: Install composer dependencies | ||
run: composer install -q --no-ansi --no-interaction --no-scripts --no-progress --prefer-dist | ||
|
||
- name: Install npm dependencies | ||
run: npm ci | ||
|
||
- name: Decrypt .env | ||
run: php artisan env:decrypt --key=${{ secrets.ENV_KEY }} | ||
|
||
- name: Run artisan commands & build npm assets | ||
run: | | ||
php artisan optimize:clear | ||
php artisan key:generate | ||
php artisan migrate:fresh --seed | ||
npm run build | ||
- name: Setup directory permissions | ||
run: chmod -R 755 storage bootstrap/cache | ||
|
||
- name: Run Unit tests | ||
env: | ||
APP_ENV: testing | ||
DB_CONNECTION: mysql | ||
DB_DATABASE: ${{ env.DB_DATABASE }} | ||
DB_USERNAME: ${{ env.DB_USERNAME }} | ||
DB_PASSWORD: ${{ env.DB_PASSWORD }} | ||
run: php artisan test |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,9 @@ | ||
{ | ||
"printWidth": 120, | ||
"$schema": "https://json.schemastore.org/prettierrc", | ||
"semi": false, | ||
"tabWidth": 4, | ||
"singleQuote": true, | ||
"trailingComma": "all", | ||
"arrowParens": "always", | ||
"printWidth": 140, | ||
"trailingComma": "none", | ||
"plugins": ["prettier-plugin-tailwindcss"] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,96 @@ | ||
FROM php:8.2-fpm | ||
|
||
# set main params | ||
ARG BUILD_ARGUMENT_ENV=dev | ||
ENV ENV=$BUILD_ARGUMENT_ENV | ||
ENV APP_HOME /var/www | ||
ARG HOST_UID=1000 | ||
ARG HOST_GID=1000 | ||
ENV USERNAME=www-data | ||
ARG INSIDE_DOCKER_CONTAINER=1 | ||
ENV INSIDE_DOCKER_CONTAINER=$INSIDE_DOCKER_CONTAINER | ||
ARG XDEBUG_CONFIG=main | ||
ENV XDEBUG_CONFIG=$XDEBUG_CONFIG | ||
|
||
# check environment | ||
RUN if [ "$BUILD_ARGUMENT_ENV" = "default" ]; then echo "Set BUILD_ARGUMENT_ENV in docker build-args like --build-arg BUILD_ARGUMENT_ENV=dev" && exit 2; \ | ||
elif [ "$BUILD_ARGUMENT_ENV" = "dev" ]; then echo "Building development environment."; \ | ||
elif [ "$BUILD_ARGUMENT_ENV" = "test" ]; then echo "Building test environment."; \ | ||
elif [ "$BUILD_ARGUMENT_ENV" = "staging" ]; then echo "Building staging environment."; \ | ||
elif [ "$BUILD_ARGUMENT_ENV" = "prod" ]; then echo "Building production environment."; \ | ||
else echo "Set correct BUILD_ARGUMENT_ENV in docker build-args like --build-arg BUILD_ARGUMENT_ENV=dev. Available choices are dev,test,staging,prod." && exit 2; \ | ||
fi | ||
|
||
# install all the dependencies and enable PHP modules | ||
RUN apt-get update && apt-get upgrade -y && apt-get install -y \ | ||
procps \ | ||
nano \ | ||
git \ | ||
unzip \ | ||
libicu-dev \ | ||
zlib1g-dev \ | ||
libxml2 \ | ||
libxml2-dev \ | ||
libreadline-dev \ | ||
supervisor \ | ||
cron \ | ||
sudo \ | ||
libzip-dev \ | ||
&& docker-php-ext-configure pdo_mysql --with-pdo-mysql=mysqlnd \ | ||
&& docker-php-ext-configure intl \ | ||
&& docker-php-ext-install \ | ||
pdo_mysql \ | ||
sockets \ | ||
intl \ | ||
opcache \ | ||
zip \ | ||
exif \ | ||
pcntl \ | ||
bcmath \ | ||
&& rm -rf /tmp/* \ | ||
&& rm -rf /var/list/apt/* \ | ||
&& rm -rf /var/lib/apt/lists/* \ | ||
&& apt-get clean | ||
|
||
# create document root, fix permissions for www-data user and change owner to www-data | ||
RUN mkdir -p $APP_HOME/public && \ | ||
mkdir -p /home/$USERNAME && chown $USERNAME:$USERNAME /home/$USERNAME \ | ||
&& usermod -o -u $HOST_UID $USERNAME -d /home/$USERNAME \ | ||
&& groupmod -o -g $HOST_GID $USERNAME \ | ||
&& chown -R ${USERNAME}:${USERNAME} $APP_HOME | ||
|
||
# put php config for Laravel | ||
COPY ./docker/$BUILD_ARGUMENT_ENV/www.conf /usr/local/etc/php-fpm.d/www.conf | ||
COPY ./docker/$BUILD_ARGUMENT_ENV/php.ini /usr/local/etc/php/php.ini | ||
|
||
# install Xdebug in case dev/test environment | ||
COPY ./docker/general/do_we_need_xdebug.sh /tmp/ | ||
COPY ./docker/dev/xdebug-${XDEBUG_CONFIG}.ini /tmp/xdebug.ini | ||
RUN chmod u+x /tmp/do_we_need_xdebug.sh && /tmp/do_we_need_xdebug.sh | ||
|
||
# install composer | ||
COPY --from=composer:latest /usr/bin/composer /usr/bin/composer | ||
RUN chmod +x /usr/bin/composer | ||
ENV COMPOSER_ALLOW_SUPERUSER 1 | ||
|
||
# add supervisor | ||
RUN mkdir -p /var/log/supervisor | ||
COPY --chown=root:root ./docker/general/supervisord.conf /etc/supervisor/conf.d/supervisord.conf | ||
COPY --chown=root:crontab ./docker/general/cron /var/spool/cron/crontabs/root | ||
RUN chmod 0600 /var/spool/cron/crontabs/root | ||
|
||
# set working directory | ||
WORKDIR $APP_HOME | ||
|
||
USER ${USERNAME} | ||
|
||
# copy source files and config file | ||
COPY --chown=${USERNAME}:${USERNAME} . $APP_HOME/ | ||
COPY --chown=${USERNAME}:${USERNAME} .env $APP_HOME/.env | ||
|
||
# install all PHP dependencies | ||
RUN if [ "$BUILD_ARGUMENT_ENV" = "dev" ] || [ "$BUILD_ARGUMENT_ENV" = "test" ]; then COMPOSER_MEMORY_LIMIT=-1 composer install --optimize-autoloader --no-interaction --no-progress; \ | ||
else COMPOSER_MEMORY_LIMIT=-1 composer install --optimize-autoloader --no-interaction --no-progress --no-dev; \ | ||
fi | ||
|
||
USER root |
Oops, something went wrong.