Skip to content

Commit

Permalink
initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
antonL95 committed Apr 20, 2024
1 parent 0717f29 commit ab4f77f
Show file tree
Hide file tree
Showing 216 changed files with 8,384 additions and 2,660 deletions.
14 changes: 9 additions & 5 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -55,10 +55,14 @@ MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS="hello@example.com"
MAIL_FROM_NAME="${APP_NAME}"

AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=us-east-1
AWS_BUCKET=
AWS_USE_PATH_STYLE_ENDPOINT=false
CLOUDFLARE_R2_ACCESS_KEY_ID=
CLOUDFLARE_R2_SECRET_ACCESS_KEY=
CLOUDFLARE_R2_BUCKET=
CLOUDFLARE_R2_ENDPOINT=
CLOUDFLARE_R2_URL=
CLOUDFLARE_R2_USE_PATH_STYLE_ENDPOINT

VITE_APP_NAME="${APP_NAME}"

TALLSTACKUI_PREFIX="ts-"
TALLSTACKUI_DEBUG_MODE="true"
1 change: 1 addition & 0 deletions .env.production.encrypted
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
eyJpdiI6IlpDaHdJZk1UUHdQVFZVRGlpTVVwMFE9PSIsInZhbHVlIjoibDRveWQ1UEFoOVNHam9MNDFoakhSNW9qeHFnRjJzZzY2UVRxYnJHclcwRVZtSnhxVGQxNS9sMFRGODA3eTRJT2tlNFV6Ny9mZG9yQ0ZLTms1Vld6RytWRGtkNTVxTGNBbzhSSHJHYktBR3lyaWJsRk9mRjFDQ1V5SGVaU1JDdDJacXVBRUh0ZWFJb1p4M0ZPTGI1SWJtdzBwQnphWCswSlZROXQ4T0U4NmYrcjE2ak1xbENMUDVYbzF0RzNCRUVsN21lQVRsajEweFdDdjlZSC9kYkRQdVJOMEVrNG5uc3Uvd2Q1b2IrMmhsQnlBNWpZUG83WkJyb09xNmtFYVNUd1BJTWdMN0FLOENlUjhFZGxyNlFXRThXMjd2aFdHNkhEY0JyUW9mdDQ1c3ptekFTSndQeUUxQ2FxSnhYUHllMm1QejNwbDVQZlUxcGhQTEV2ZXpsaUh0Y1Ywc2NWVTkyQXJKcHdPcTFDc3RvcVEvaWtBcCtUZ0dnNVlXYzFVNmZjN2gveGJmV2t4N0lhNHQ4bDhGVzc4dmxqWVhjYW1YUURiUjRCNk13VVZQMjNmVi9tMmtDaEVrN1JJSDI0ZFNXMFYwTXE2RkpDZG1jQ0txUUE3M0QyTUFXTlFLRWlpaVlRNnE1cGtIRCt5QlR2K01vK2tjVXhPck10SmxiVzJvRTczOWlBeWJyVVpoL29ObzIrM2owZFEyT2ZsYkswUTBLUlVNNFBOOTRNWG42L1VZTXowZjduMmxqeWM2N1NUSUlIWE55VWZFSEhGTy9aOHVhb1hYM3UvL3h0SCtBVmNqZ3NMQ0FuR0ZGaWxQd0h3SXMxVnBYaWxtMk5UcENPOVMvWVFkaStlUnhoQmRDL2RCL1BONkpYbGZ4ZFhsRGJLRGQ5RGNJNWpDS3JFcjNsbjNoWGh3QjJ1ekZXbTJtTVM3UFBjeGdIeldZWnJabFZCVkJTY1NYOVIzeHVBUGlBWGJkUzkyMzVYenRIRDRCeEtwQng0NndCanBiL1BsKy94WFM1UXFRb01zcytjQSsrWk9iYm5TQzRCWVFQTUQ1Qlp5bzB5YXlVVW1VOVQyTGxmemNxMFlFYzlBN0M2ajIzWUFia0o5bDRYYlI3VklWOER2QjVxUU9TWHhGTkZvanhmaFV3NFBVeVNYRHovZmM1YVl5U2FScGJpdFNyTzNBUWRzS2JLc09OTWthTnV6SWZtTklvWEgyb2ZNeXhMN0RHMlFZSEx6dzVmVFRpQXpsdTRqRlhKSEVmM3NrUmVOUy9rWC95dFZBT2tjeCtRZjYwei9WU01mcCtsUkQ1OXN6WGI4ZkJzT3B2RnVoU3R1VHNlS3k0bzg1NVZLMUc3d1JMMXJ5eTB0THpOMld2WFhoeXJCU1M1ekdhL2Z1M0pZaHdaVHMrMmJ3TWhOenhFcWQxU1JjL1drOFNqU2psUHMvUEx1Z3hncGlCRHFZMnhldkVEU1JCM2lyR3RPTG93OWhwVlFXVU55Q3NnZCtydDV3YmNFM0NRU3dnaG9hM1F6RW1iSWdCNFlBTytJMHhYZnJqYi9Ka2kzRzhWN1R1cjkwM01iNWR5aUp6cDZQMitXaFgwR01nQnJRem1UM3FJTzVjd2tJMmhlK2lXNkFqQlp0MFpXcW9HZStyNjkvQWdpSE51WUlzYkJFMWc1SVlXT2lTaE5oaVg3Rnd2QXduWDFrNGVibzhFb0svZTBKQWRTeGt1V2JoRlJ0b0U2Y3dFMzV2N1QraTE5eU4wUkU2U0VDcnR1NXpRYW9GakFDUlV5T05aMkdRQkRRTmxXOW44eWUvalJZdmdEaDdWaHZic1BHbnI3cTRESU9UZllnWENBTVJIbUs3bmNkL3U0K3Q4ZjNjcWlDTDgxZ1BOT2FYaFBEZlFFK2phZWQyOEJSK1BaM0Q5R3RpdFZjSVNrSGtKbW8wUCtmSlh6TWVoZDJmdnRjNldZOG4yN25PQ3NpZHB6WUpvUExQdExrOWxqQjJEcDRuYXdMdVFzaFFWMzZNRjVJMzV2NnJrTFhuVTduRnE0RStqUDB6M0I4UE8zN0NiUEIva3FvcURuaWhsUkVkSjRGMzN0TWpvWFBoZ1E1d1FrM1MwQTZWNkdkOGZ0U0phT3o0KzF2NDR1c2VVL3UrbmxlMUtFanZ0U21hMEgrSnJXWGMraDk4T1pUUU5nY1Z0RmFmeHZvNmVPYklZUDRjMFJrYUZJeFduaTExcjZmK1B5WmZnTzRjQlk3cC9UMDlMci9XVldFNDNhN1FpYTA4bDA2b08vcEVaL1h1WDBMRmRnVzl0TVV1czd6NTZQdkVDaFlsb0pHUVJNNDFxeDRKNnZOS3JZMlpmWFdQV0VaT2lGWjVFcTVTTGhiWjEvMGUxNEowNHVxOXczZy9OMkhnT1JKN1dyd2Y2Y3dCQUxud1FwQ3VuajdpUzgxanZIVTZQMytQNG1ndGRhYjFpZTVDWktvekh6RGR2ZzdlOFJIWU1YcHBoM09KNFNRUmRYRU5nYkI0T1p1LzgrTEYxbmR0NHZsV1hSUUxkUkVjdENhSy93RFR3UVZYalN0a2lZNnFwOStUenVmanhwNW1hUUNBZDI1TTdYTVBOVDhSbzcwSWh5SGs0MEtGK0M3UGF1Q2ZCUXhjbHU5SjVKUEZuYVlnbnUrbUhsclNSeTFTOUVtZ0QvYnRGUUFRZklQZXJJMWFQVnpxR2g3U3ZxL3dobWZjU0MyQUVJMHNEbnlDdTJtSXBPL2Zuc0FqQXNHOWx4SjltOHN6VzFDTXZRR0FJMEFOZVlXbVVkdFh3NDlFdUZ4aGR2TzNHYWdwUUFLOG0vQ2JWUWdpaXBzUCtRNTRqTlBEeHdCcnlGTWJ3VWNSSEsyeGdwRHRSWnJiSkptNm9oY0EzNm9lTk1MeDZrWGpZQWZKV1BTbnVmbUhkZzlTaUM1WXpOaXJaaVc3UUI5alM2ck5vS0hnSEMzeDV1V2gzc2VLck5YZkFtVzVFMHY5SzFFQnQrRndNdncvVmNwVW9ldTZjSDB3VW9CNldoVHg0VG5qYS9LME01ZzlXR0VhL3MvbHZ2WU1PWlh3V1MzdG5SemJoYXU0UTBwS0xma0VUeWJGZ0VvQSt6S0lRaHNvd3FGRTZRTEwwU05qekNTaDdiZU5pQlRpOFg3NkltUDdIcVY5OWFLZGJYRzlMNU1nWmZ3RVBEWUd0em4yK205Uk9PK1EvSjBIRlY1ZlBBQWh4cXlYTmJOVDZCZ0VtY2l4TGpXVWJYdk85UlFRNldRT0tDL1UxOUtmdGhIVDU2aERqVUNtNW9ma01EeTNab2lLU1hudzgzYzlQeHJXOUJyTDIrR2Y5WUZiTjhESHdVKzNBci9tZUs4TE1pWWZNMENLVENrMjRYR2hON3JveGhSOUg2WjhDRk1iREhFUSIsIm1hYyI6IjNlZmFmNzU1YjUzMGU0NWJlMTBkNTZiMjcxN2ViYjhhOGM0MDkyNmJkODIwZGU0NmMzZTgyODY0ZDVhMzEzNzMiLCJ0YWciOiIifQ==
123 changes: 123 additions & 0 deletions .github/workflows/deploy_action.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
name: Test and Deploy Application

on:
push:
branches: [ main ]

jobs:
ci:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup PHP
uses: shivammathur/setup-php@master
with:
php-version: 8.3
extensions: mbstring, ctype, fileinfo, openssl, PDO, bcmath, json, tokenizer, xml
tools: composer:v2
coverage: xdebug

- name: Composer install
run: |
composer install --no-interaction --prefer-dist --optimize-autoloader
- name: Install Dependencies
run: |
npm install
npm run build
- name: Stan
run: |
make stan
- name: Tests
run: |
touch database/database.sqlite
make test
create-deployment-matrix:
name: Create deployment matrix
runs-on: ubuntu-latest
needs: ci
outputs:
DEPLOYMENT_MATRIX: ${{ steps.export-deployment-matrix.outputs.DEPLOYMENT_MATRIX }}
steps:
- uses: actions/checkout@v4
- name: Export deployment matrix
id: export-deployment-matrix
run: |
delimiter="$(openssl rand -hex 8)"
JSON="$(cat ./deployment-config.json)"
echo "DEPLOYMENT_MATRIX<<${delimiter}" >> "${GITHUB_OUTPUT}"
echo "$JSON" >> "${GITHUB_OUTPUT}"
echo "${delimiter}" >> "${GITHUB_OUTPUT}"
prepare-release-on-servers:
name: "${{ matrix.server.name }}: Prepare release"
runs-on: ubuntu-latest
needs: create-deployment-matrix
strategy:
matrix:
server: ${{ fromJson(needs.create-deployment-matrix.outputs.DEPLOYMENT_MATRIX) }}
steps:
- name: Create directories
uses: appleboy/ssh-action@master
env:
GITHUB_SHA: ${{ github.sha }}
with:
host: ${{ matrix.server.ip }}
username: ${{ matrix.server.username }}
key: ${{ secrets.SSH_KEY }}
port: ${{ matrix.server.port }}
envs: GITHUB_SHA
script: |
mkdir -p "${{ matrix.server.path }}/releases/${GITHUB_SHA}"
rm -rf ${{ matrix.server.path }}/releases/${GITHUB_SHA}/storage
mkdir -p ${{ matrix.server.path }}/storage/{app,public,framework,logs}
mkdir -p ${{ matrix.server.path }}/storage/framework/{cache,sessions,testing,views}
chmod -R 0777 ${{ matrix.server.path }}/storage
activate-release:
name: "${{ matrix.server.name }}: Activate release"
runs-on: ubuntu-latest
needs: [ create-deployment-matrix, prepare-release-on-servers ]
strategy:
matrix:
server: ${{ fromJson(needs.create-deployment-matrix.outputs.DEPLOYMENT_MATRIX) }}
steps:
- name: Activate release
uses: appleboy/ssh-action@master
env:
GITHUB_SHA: ${{ github.sha }}
RELEASE_PATH: ${{ matrix.server.path }}/releases/${{ github.sha }}
ACTIVE_RELEASE_PATH: ${{ matrix.server.path }}/current
STORAGE_PATH: ${{ matrix.server.path }}/storage
BASE_PATH: ${{ matrix.server.path }}
ENV_SECRET: ${{ secrets.ENV_SECRET }}
with:
host: ${{ matrix.server.ip }}
username: ${{ matrix.server.username }}
key: ${{ secrets.SSH_KEY }}
port: ${{ matrix.server.port }}
envs: GITHUB_SHA,RELEASE_PATH,ACTIVE_RELEASE_PATH,STORAGE_PATH,BASE_PATH,ENV_SECRET
script: |
echo "$USER"
cd $RELEASE_PATH && git clone git@github.com:antonL95/artistshero-laravel.git ./
cd $RELEASE_PATH && composer install --no-dev --no-interaction --prefer-dist --optimize-autoloader
cd $RELEASE_PATH && source $BASE_PATH/../.nvm/nvm.sh && npm install --no-progress && npm run build
rm -rf $RELEASE_PATH/storage
ln -s -f $STORAGE_PATH $RELEASE_PATH
ln -s -f ${BASE_PATH}/frankenphp $RELEASE_PATH
/usr/bin/php $RELEASE_PATH/artisan env:decrypt --key=$ENV_SECRET --env=production
mv $RELEASE_PATH/.env.production $RELEASE_PATH/.env
/usr/bin/php $RELEASE_PATH/artisan migrate --force
/usr/bin/php $RELEASE_PATH/artisan route:clear
/usr/bin/php $RELEASE_PATH/artisan event:clear
/usr/bin/php $RELEASE_PATH/artisan view:clear
/usr/bin/php $RELEASE_PATH/artisan config:clear
/usr/bin/php $RELEASE_PATH/artisan route:cache
/usr/bin/php $RELEASE_PATH/artisan event:cache
ln -s -n -f $RELEASE_PATH $ACTIVE_RELEASE_PATH
sudo systemctl restart php8.3-fpm
10 changes: 10 additions & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
node_modules
dist
.env*
vendor/
/vendor
public/
.git
**/.git
package-lock.json
composer.lock
18 changes: 18 additions & 0 deletions .prettierrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"printWidth": 120,
"semi": true,
"singleQuote": true,
"tabWidth": 4,
"trailingComma": "all",
"plugins": ["prettier-plugin-blade", "prettier-plugin-tailwindcss"],
"overrides": [
{
"files": [
"*.blade.php"
],
"options": {
"parser": "blade"
}
}
]
}
Loading

0 comments on commit ab4f77f

Please sign in to comment.