fix: Final restoration with port 80
✅ COMPLETED: 1. Dockerfile uses port 80 (astro preview) 2. BaseLayout imports globals.css 3. globals.css with Tailwind v4 @theme syntax 4. index.astro has Header, Footer, FixedContact 5. All image references fixed to existing files 6. Hero uses hdpe_pipe_main.jpg 7. Product cards use hdpe001.jpg 8. pt-20 on main for fixed header ✅ TESTED LOCALLY: - Build: 15 pages in 1.27s - Docker build successful - Port 80 working - Images load - CSS works Ready for Easypanel deployment.
This commit is contained in:
41
node_modules/@zeit/schemas/deployment/config-env.js
generated
vendored
Normal file
41
node_modules/@zeit/schemas/deployment/config-env.js
generated
vendored
Normal file
@@ -0,0 +1,41 @@
|
||||
const maxEnvLength = 100;
|
||||
|
||||
const EnvKey = {
|
||||
type: 'string',
|
||||
pattern: '^[A-z0-9_]+$',
|
||||
minLength: 1,
|
||||
maxLength: 256
|
||||
};
|
||||
|
||||
const EnvKeys = {
|
||||
type: 'array',
|
||||
minItems: 0,
|
||||
maxItems: maxEnvLength,
|
||||
uniqueItems: true,
|
||||
items: EnvKey,
|
||||
additionalProperties: false
|
||||
};
|
||||
|
||||
const EnvValue = {
|
||||
type: 'string',
|
||||
minLength: 0,
|
||||
maxLength: 65536
|
||||
};
|
||||
|
||||
// { 'FOO': 'BAR' }
|
||||
const EnvObject = {
|
||||
type: 'object',
|
||||
minProperties: 0,
|
||||
maxProperties: maxEnvLength,
|
||||
patternProperties: {
|
||||
'.+': EnvValue
|
||||
},
|
||||
additionalProperties: false
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
EnvKey,
|
||||
EnvKeys,
|
||||
EnvValue,
|
||||
EnvObject
|
||||
};
|
||||
82
node_modules/@zeit/schemas/deployment/config-static.js
generated
vendored
Normal file
82
node_modules/@zeit/schemas/deployment/config-static.js
generated
vendored
Normal file
@@ -0,0 +1,82 @@
|
||||
module.exports = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
'public': {
|
||||
type: 'string'
|
||||
},
|
||||
'cleanUrls': {
|
||||
type: [
|
||||
'boolean',
|
||||
'array'
|
||||
]
|
||||
},
|
||||
'rewrites': {
|
||||
type: 'array'
|
||||
},
|
||||
'redirects': {
|
||||
type: 'array'
|
||||
},
|
||||
'headers': {
|
||||
type: 'array',
|
||||
maxItems: 50,
|
||||
minItems: 1,
|
||||
uniqueItems: true,
|
||||
items: {
|
||||
type: 'object',
|
||||
required: ['source', 'headers'],
|
||||
properties: {
|
||||
source: {
|
||||
type: 'string',
|
||||
maxLength: 100,
|
||||
minLength: 1
|
||||
},
|
||||
headers: {
|
||||
type: 'array',
|
||||
maxItems: 50,
|
||||
minItems: 1,
|
||||
uniqueItems: true,
|
||||
items: {
|
||||
type: 'object',
|
||||
required: ['key', 'value'],
|
||||
properties: {
|
||||
key: {
|
||||
type: 'string',
|
||||
minLength: 1,
|
||||
maxLength: 128,
|
||||
pattern: "^[a-zA-Z0-9_!#$%&'*+.^`|~-]+$"
|
||||
},
|
||||
value: {
|
||||
type: 'string',
|
||||
minLength: 1,
|
||||
maxLength: 2048,
|
||||
pattern: '^[\u0020-\u007e\u00a0-\u00ff]+$'
|
||||
}
|
||||
},
|
||||
additionalProperties: false
|
||||
}
|
||||
}
|
||||
},
|
||||
additionalProperties: false
|
||||
}
|
||||
},
|
||||
'directoryListing': {
|
||||
type: [
|
||||
'boolean',
|
||||
'array'
|
||||
]
|
||||
},
|
||||
'unlisted': {
|
||||
type: 'array'
|
||||
},
|
||||
'trailingSlash': {
|
||||
type: 'boolean'
|
||||
},
|
||||
'renderSingle': {
|
||||
type: 'boolean'
|
||||
},
|
||||
'symlinks': {
|
||||
type: 'boolean'
|
||||
}
|
||||
},
|
||||
additionalProperties: false
|
||||
};
|
||||
170
node_modules/@zeit/schemas/deployment/config.js
generated
vendored
Normal file
170
node_modules/@zeit/schemas/deployment/config.js
generated
vendored
Normal file
@@ -0,0 +1,170 @@
|
||||
const {Service} = require('./service');
|
||||
const {EnvKeys, EnvObject} = require('./config-env');
|
||||
const staticSchema = require('./config-static');
|
||||
|
||||
module.exports = {
|
||||
type: 'object',
|
||||
additionalProperties: false,
|
||||
dependencies: {
|
||||
slot: {
|
||||
type: 'object',
|
||||
required: ['features'],
|
||||
properties: {
|
||||
features: {
|
||||
type: 'object',
|
||||
required: ['cloud'],
|
||||
properties: {
|
||||
cloud: {
|
||||
'const': 'v2'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
properties: {
|
||||
'name': {
|
||||
type: 'string',
|
||||
minLength: 1
|
||||
},
|
||||
'project': {
|
||||
type: 'string',
|
||||
minLength: 1
|
||||
},
|
||||
'alias': {
|
||||
type: [
|
||||
'string',
|
||||
'array'
|
||||
]
|
||||
},
|
||||
'env': { anyOf: [EnvObject, EnvKeys] },
|
||||
'build': {
|
||||
type: 'object',
|
||||
additionalProperties: false,
|
||||
properties: {
|
||||
env: EnvObject
|
||||
}
|
||||
},
|
||||
'scale': {
|
||||
type: 'object',
|
||||
patternProperties: {
|
||||
'.+': {
|
||||
'type': 'object',
|
||||
'required': ['max', 'min'],
|
||||
'properties': {
|
||||
max: {
|
||||
anyOf: [
|
||||
{
|
||||
type: 'number',
|
||||
minimum: 1
|
||||
},
|
||||
{'const': 'auto'}
|
||||
]
|
||||
},
|
||||
min: {
|
||||
type: 'number',
|
||||
minimum: 0
|
||||
}
|
||||
},
|
||||
'if': {
|
||||
properties: {
|
||||
max: {
|
||||
type: 'number'
|
||||
}
|
||||
}
|
||||
},
|
||||
'then': {
|
||||
properties: {
|
||||
min: {
|
||||
maximum: {
|
||||
$data: '1/max'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
additionalProperties: false
|
||||
},
|
||||
'regions': {
|
||||
type: 'array'
|
||||
},
|
||||
'dotenv': {
|
||||
type: [
|
||||
'boolean',
|
||||
'string'
|
||||
]
|
||||
},
|
||||
'files': {
|
||||
type: 'array'
|
||||
},
|
||||
'type': {
|
||||
type: 'string'
|
||||
},
|
||||
'forwardNpm': {
|
||||
type: 'boolean'
|
||||
},
|
||||
'public': {
|
||||
type: 'boolean'
|
||||
},
|
||||
'engines': {
|
||||
type: 'object'
|
||||
},
|
||||
'api': {
|
||||
type: 'string'
|
||||
},
|
||||
'static': staticSchema,
|
||||
'limits': {
|
||||
type: 'object',
|
||||
properties: {
|
||||
duration: {
|
||||
type: 'number',
|
||||
minimum: 60000,
|
||||
maximum: 60000 * 15 // max 15m runtime
|
||||
},
|
||||
maxConcurrentReqs: {
|
||||
type: 'number',
|
||||
minimum: 1,
|
||||
maximum: 256
|
||||
},
|
||||
timeout: {
|
||||
type: 'number',
|
||||
minimum: 60000,
|
||||
maximum: 60000 * 15 // max duration
|
||||
}
|
||||
},
|
||||
additionalProperties: false
|
||||
},
|
||||
'features': {
|
||||
type: 'object',
|
||||
patternProperties: {
|
||||
'.*': {
|
||||
type: ['string', 'number', 'boolean']
|
||||
}
|
||||
}
|
||||
},
|
||||
'github': {
|
||||
type: 'object',
|
||||
properties: {
|
||||
enabled: {
|
||||
type: 'boolean'
|
||||
},
|
||||
autoAlias: {
|
||||
type: 'boolean'
|
||||
},
|
||||
autoJobCancelation: {
|
||||
type: 'boolean'
|
||||
},
|
||||
silent: {
|
||||
type: 'boolean'
|
||||
}
|
||||
},
|
||||
additionalProperties: false
|
||||
},
|
||||
'slot': {
|
||||
type: 'string',
|
||||
pattern: 'c.125-m512|c1-m4096|staging-*'
|
||||
},
|
||||
'service': Service
|
||||
}
|
||||
};
|
||||
15
node_modules/@zeit/schemas/deployment/service.js
generated
vendored
Normal file
15
node_modules/@zeit/schemas/deployment/service.js
generated
vendored
Normal file
@@ -0,0 +1,15 @@
|
||||
const Service = {
|
||||
type: 'object',
|
||||
additionalProperties: false,
|
||||
properties: {
|
||||
port: {
|
||||
type: 'number',
|
||||
minimum: 1,
|
||||
maximum: 32767
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
Service
|
||||
};
|
||||
Reference in New Issue
Block a user