Compare commits
10 Commits
72c9248b81
...
96f2638668
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
96f2638668 | ||
|
|
fefe5b9a1f | ||
|
|
2d8008a7b9 | ||
|
|
8d9e8a489b | ||
|
|
16671c6f4a | ||
|
|
bb78ee4be6 | ||
|
|
937a6a9f87 | ||
|
|
eee0713817 | ||
|
|
92049925d4 | ||
|
|
edcccab7fe |
130
.dockerignore
Normal file
130
.dockerignore
Normal file
@@ -0,0 +1,130 @@
|
||||
############################
|
||||
# OS X
|
||||
############################
|
||||
|
||||
.DS_Store
|
||||
.AppleDouble
|
||||
.LSOverride
|
||||
Icon
|
||||
.Spotlight-V100
|
||||
.Trashes
|
||||
._*
|
||||
|
||||
|
||||
############################
|
||||
# Linux
|
||||
############################
|
||||
|
||||
*~
|
||||
|
||||
|
||||
############################
|
||||
# Windows
|
||||
############################
|
||||
|
||||
Thumbs.db
|
||||
ehthumbs.db
|
||||
Desktop.ini
|
||||
$RECYCLE.BIN/
|
||||
*.cab
|
||||
*.msi
|
||||
*.msm
|
||||
*.msp
|
||||
|
||||
|
||||
############################
|
||||
# Packages
|
||||
############################
|
||||
|
||||
*.7z
|
||||
*.csv
|
||||
*.dat
|
||||
*.dmg
|
||||
*.gz
|
||||
*.iso
|
||||
*.jar
|
||||
*.rar
|
||||
*.tar
|
||||
*.zip
|
||||
*.com
|
||||
*.class
|
||||
*.dll
|
||||
*.exe
|
||||
*.o
|
||||
*.seed
|
||||
*.so
|
||||
*.swo
|
||||
*.swp
|
||||
*.swn
|
||||
*.swm
|
||||
*.out
|
||||
*.pid
|
||||
|
||||
|
||||
############################
|
||||
# Logs and databases
|
||||
############################
|
||||
|
||||
.tmp
|
||||
*.log
|
||||
*.sql
|
||||
*.sqlite
|
||||
*.sqlite3
|
||||
|
||||
|
||||
############################
|
||||
# Misc.
|
||||
############################
|
||||
|
||||
*#
|
||||
ssl
|
||||
.idea
|
||||
nbproject
|
||||
public/uploads/*
|
||||
!public/uploads/.gitkeep
|
||||
.tsbuildinfo
|
||||
.eslintcache
|
||||
|
||||
############################
|
||||
# Node.js
|
||||
############################
|
||||
|
||||
lib-cov
|
||||
lcov.info
|
||||
pids
|
||||
logs
|
||||
results
|
||||
node_modules
|
||||
.node_history
|
||||
|
||||
############################
|
||||
# Package managers
|
||||
############################
|
||||
|
||||
.yarn/*
|
||||
!.yarn/cache
|
||||
!.yarn/unplugged
|
||||
!.yarn/patches
|
||||
!.yarn/releases
|
||||
!.yarn/sdks
|
||||
!.yarn/versions
|
||||
.pnp.*
|
||||
yarn-error.log
|
||||
|
||||
############################
|
||||
# Tests
|
||||
############################
|
||||
|
||||
coverage
|
||||
|
||||
############################
|
||||
# Strapi
|
||||
############################
|
||||
|
||||
license.txt
|
||||
exports
|
||||
.strapi
|
||||
dist
|
||||
build
|
||||
.strapi-updater.json
|
||||
.strapi-cloud.json
|
||||
55
.gitea/workflows/deploy.yml
Normal file
55
.gitea/workflows/deploy.yml
Normal file
@@ -0,0 +1,55 @@
|
||||
name: release-tag
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
|
||||
jobs:
|
||||
build-and-deploy:
|
||||
env:
|
||||
DOCKER_LATEST: latest
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v1
|
||||
|
||||
- name: Get Meta
|
||||
id: meta
|
||||
run: |
|
||||
echo REPO_NAME=$(echo ${GITHUB_REPOSITORY} | awk -F"/" '{print $2}') >> $GITHUB_OUTPUT
|
||||
echo REPO_VERSION=${GITHUB_REF_NAME#v} >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Log in to Docker registry
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
registry: ${{ vars.DOCKER_REGISTRY }}
|
||||
username: ${{ secrets.DOCKER_USERNAME }}
|
||||
password: ${{ secrets.DOCKER_PASSWORD }}
|
||||
|
||||
- name: Build and push
|
||||
uses: docker/build-push-action@v5
|
||||
with:
|
||||
context: .
|
||||
file: ./Dockerfile
|
||||
target: basic
|
||||
push: true
|
||||
tags: |
|
||||
${{ vars.DOCKER_REGISTRY }}/${{ steps.meta.outputs.REPO_NAME }}:${{ steps.meta.outputs.REPO_VERSION }}
|
||||
${{ vars.DOCKER_REGISTRY }}/${{ steps.meta.outputs.REPO_NAME }}:${{ env.DOCKER_LATEST }}
|
||||
|
||||
- name: Trigger Dokploy Deployment
|
||||
run: |
|
||||
curl -X 'POST' \
|
||||
'https://${{ vars.DOKPLOY_DOMAIN }}/api/trpc/application.deploy' \
|
||||
-H 'accept: application/json' \
|
||||
-H 'x-api-key:${{ secrets.DOKPLOY_API_KEY }}' \
|
||||
-H 'Content-Type: application/json' \
|
||||
-d '{
|
||||
"json":{
|
||||
"applicationId": "${{ vars.DOKPLOY_APPLICATION_ID }}"
|
||||
}
|
||||
}'
|
||||
13
Dockerfile
Normal file
13
Dockerfile
Normal file
@@ -0,0 +1,13 @@
|
||||
FROM node:22 as basic
|
||||
|
||||
WORKDIR /app
|
||||
COPY package.json ./
|
||||
COPY package-lock.json ./
|
||||
RUN npm ci
|
||||
|
||||
COPY . .
|
||||
|
||||
RUN npm run build
|
||||
|
||||
EXPOSE 1337
|
||||
CMD ["npm", "start"]
|
||||
@@ -2,7 +2,7 @@ import path from 'path';
|
||||
import type { Core } from '@strapi/strapi';
|
||||
|
||||
const config = ({ env }: Core.Config.Shared.ConfigParams): Core.Config.Database => {
|
||||
const client = env('DATABASE_CLIENT', 'sqlite');
|
||||
const client = env('DATABASE_CLIENT', 'postgres');
|
||||
|
||||
const connections = {
|
||||
mysql: {
|
||||
|
||||
3798
package-lock.json
generated
3798
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
10
package.json
10
package.json
@@ -15,11 +15,11 @@
|
||||
"upgrade:dry": "npx @strapi/upgrade latest --dry"
|
||||
},
|
||||
"dependencies": {
|
||||
"@strapi/plugin-cloud": "5.41.1",
|
||||
"@strapi/plugin-graphql": "^5.41.1",
|
||||
"@strapi/plugin-users-permissions": "5.41.1",
|
||||
"@strapi/strapi": "^5.42.0",
|
||||
"better-sqlite3": "12.8.0",
|
||||
"@strapi/plugin-cloud": "^5.45.1",
|
||||
"@strapi/plugin-graphql": "^5.45.1",
|
||||
"@strapi/plugin-users-permissions": "^5.45.1",
|
||||
"@strapi/strapi": "^5.45.1",
|
||||
"pg": "^8.20.0",
|
||||
"react": "^18.0.0",
|
||||
"react-dom": "^18.0.0",
|
||||
"react-router-dom": "^6.0.0",
|
||||
|
||||
@@ -17,6 +17,17 @@
|
||||
},
|
||||
"description": {
|
||||
"type": "text"
|
||||
},
|
||||
"contacts": {
|
||||
"type": "component",
|
||||
"component": "shared.contact",
|
||||
"repeatable": true
|
||||
},
|
||||
"privacyPolicy": {
|
||||
"type": "richtext"
|
||||
},
|
||||
"termsOfUse": {
|
||||
"type": "richtext"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,6 +11,9 @@
|
||||
"description": {
|
||||
"type": "text"
|
||||
},
|
||||
"anchor": {
|
||||
"type": "string"
|
||||
},
|
||||
"partners": {
|
||||
"type": "component",
|
||||
"component": "shared.string",
|
||||
|
||||
@@ -11,6 +11,9 @@
|
||||
"description": {
|
||||
"type": "string"
|
||||
},
|
||||
"anchor": {
|
||||
"type": "string"
|
||||
},
|
||||
"cards": {
|
||||
"type": "component",
|
||||
"component": "cards.case",
|
||||
|
||||
@@ -14,6 +14,9 @@
|
||||
"badge": {
|
||||
"type": "string"
|
||||
},
|
||||
"anchor": {
|
||||
"type": "string"
|
||||
},
|
||||
"stats": {
|
||||
"type": "component",
|
||||
"component": "shared.attribute",
|
||||
|
||||
@@ -11,6 +11,9 @@
|
||||
"description": {
|
||||
"type": "string"
|
||||
},
|
||||
"anchor": {
|
||||
"type": "string"
|
||||
},
|
||||
"cards": {
|
||||
"type": "component",
|
||||
"component": "cards.service",
|
||||
|
||||
@@ -11,6 +11,9 @@
|
||||
"description": {
|
||||
"type": "text"
|
||||
},
|
||||
"anchor": {
|
||||
"type": "string"
|
||||
},
|
||||
"cards": {
|
||||
"type": "component",
|
||||
"component": "cards.solution",
|
||||
|
||||
5
types/generated/components.d.ts
vendored
5
types/generated/components.d.ts
vendored
@@ -63,6 +63,7 @@ export interface SectionsAbout extends Struct.ComponentSchema {
|
||||
displayName: 'About';
|
||||
};
|
||||
attributes: {
|
||||
anchor: Schema.Attribute.String;
|
||||
cards: Schema.Attribute.Component<'cards.advantage', true>;
|
||||
description: Schema.Attribute.Text;
|
||||
partners: Schema.Attribute.Component<'shared.string', true>;
|
||||
@@ -76,6 +77,7 @@ export interface SectionsCases extends Struct.ComponentSchema {
|
||||
displayName: 'Cases';
|
||||
};
|
||||
attributes: {
|
||||
anchor: Schema.Attribute.String;
|
||||
cards: Schema.Attribute.Component<'cards.case', true>;
|
||||
description: Schema.Attribute.String;
|
||||
title: Schema.Attribute.String;
|
||||
@@ -88,6 +90,7 @@ export interface SectionsHomeHero extends Struct.ComponentSchema {
|
||||
displayName: 'HomeHero';
|
||||
};
|
||||
attributes: {
|
||||
anchor: Schema.Attribute.String;
|
||||
badge: Schema.Attribute.String;
|
||||
description: Schema.Attribute.Text;
|
||||
stats: Schema.Attribute.Component<'shared.attribute', true>;
|
||||
@@ -101,6 +104,7 @@ export interface SectionsServices extends Struct.ComponentSchema {
|
||||
displayName: 'Services';
|
||||
};
|
||||
attributes: {
|
||||
anchor: Schema.Attribute.String;
|
||||
cards: Schema.Attribute.Component<'cards.service', true>;
|
||||
description: Schema.Attribute.String;
|
||||
title: Schema.Attribute.String;
|
||||
@@ -113,6 +117,7 @@ export interface SectionsSolutions extends Struct.ComponentSchema {
|
||||
displayName: 'Solutions';
|
||||
};
|
||||
attributes: {
|
||||
anchor: Schema.Attribute.String;
|
||||
cards: Schema.Attribute.Component<'cards.solution', true>;
|
||||
description: Schema.Attribute.Text;
|
||||
title: Schema.Attribute.String;
|
||||
|
||||
15
types/generated/contentTypes.d.ts
vendored
15
types/generated/contentTypes.d.ts
vendored
@@ -26,6 +26,11 @@ export interface AdminApiToken extends Struct.CollectionTypeSchema {
|
||||
Schema.Attribute.SetMinMaxLength<{
|
||||
minLength: 1;
|
||||
}>;
|
||||
adminPermissions: Schema.Attribute.Relation<
|
||||
'oneToMany',
|
||||
'admin::permission'
|
||||
>;
|
||||
adminUserOwner: Schema.Attribute.Relation<'manyToOne', 'admin::user'>;
|
||||
createdAt: Schema.Attribute.DateTime;
|
||||
createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> &
|
||||
Schema.Attribute.Private;
|
||||
@@ -39,6 +44,9 @@ export interface AdminApiToken extends Struct.CollectionTypeSchema {
|
||||
minLength: 1;
|
||||
}>;
|
||||
expiresAt: Schema.Attribute.DateTime;
|
||||
kind: Schema.Attribute.Enumeration<['content-api', 'admin']> &
|
||||
Schema.Attribute.Required &
|
||||
Schema.Attribute.DefaultTo<'content-api'>;
|
||||
lastUsedAt: Schema.Attribute.DateTime;
|
||||
lifespan: Schema.Attribute.BigInteger;
|
||||
locale: Schema.Attribute.String & Schema.Attribute.Private;
|
||||
@@ -56,7 +64,6 @@ export interface AdminApiToken extends Struct.CollectionTypeSchema {
|
||||
>;
|
||||
publishedAt: Schema.Attribute.DateTime;
|
||||
type: Schema.Attribute.Enumeration<['read-only', 'full-access', 'custom']> &
|
||||
Schema.Attribute.Required &
|
||||
Schema.Attribute.DefaultTo<'read-only'>;
|
||||
updatedAt: Schema.Attribute.DateTime;
|
||||
updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> &
|
||||
@@ -134,6 +141,7 @@ export interface AdminPermission extends Struct.CollectionTypeSchema {
|
||||
minLength: 1;
|
||||
}>;
|
||||
actionParameters: Schema.Attribute.JSON & Schema.Attribute.DefaultTo<{}>;
|
||||
apiToken: Schema.Attribute.Relation<'manyToOne', 'admin::api-token'>;
|
||||
conditions: Schema.Attribute.JSON & Schema.Attribute.DefaultTo<[]>;
|
||||
createdAt: Schema.Attribute.DateTime;
|
||||
createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> &
|
||||
@@ -385,6 +393,8 @@ export interface AdminUser extends Struct.CollectionTypeSchema {
|
||||
};
|
||||
};
|
||||
attributes: {
|
||||
apiTokens: Schema.Attribute.Relation<'oneToMany', 'admin::api-token'> &
|
||||
Schema.Attribute.Private;
|
||||
blocked: Schema.Attribute.Boolean &
|
||||
Schema.Attribute.Private &
|
||||
Schema.Attribute.DefaultTo<false>;
|
||||
@@ -514,6 +524,7 @@ export interface ApiSiteConfigSiteConfig extends Struct.SingleTypeSchema {
|
||||
draftAndPublish: true;
|
||||
};
|
||||
attributes: {
|
||||
contacts: Schema.Attribute.Component<'shared.contact', true>;
|
||||
createdAt: Schema.Attribute.DateTime;
|
||||
createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> &
|
||||
Schema.Attribute.Private;
|
||||
@@ -524,7 +535,9 @@ export interface ApiSiteConfigSiteConfig extends Struct.SingleTypeSchema {
|
||||
'api::site-config.site-config'
|
||||
> &
|
||||
Schema.Attribute.Private;
|
||||
privacyPolicy: Schema.Attribute.RichText;
|
||||
publishedAt: Schema.Attribute.DateTime;
|
||||
termsOfUse: Schema.Attribute.RichText;
|
||||
title: Schema.Attribute.String & Schema.Attribute.Required;
|
||||
updatedAt: Schema.Attribute.DateTime;
|
||||
updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> &
|
||||
|
||||
Reference in New Issue
Block a user