dimitar
a66db56156
fix: resolve API URL duplication, CORS issues, and image localhost URLs
...
- Fix duplicate /api/v1 in analytics.ts API calls
- Add STRAPI_PUBLIC_URL env var for public CMS access
- Update strapi.service to use public URL for images instead of localhost
- Images now use https://cms.placebo.mk instead of http://localhost:1337
2026-02-28 23:29:54 +01:00
dimitar
ebd1fc28d5
fix: remove Traefik buffering middleware causing CMS timeout
2026-02-28 23:22:07 +01:00
dimitar
cba9908180
fix: move Google Fonts to HTML head to resolve CSS @import order warning
2026-02-28 23:06:15 +01:00
dimitar
287dcb4070
fav
2026-02-28 22:46:42 +01:00
dimitar
50ac4531d3
typo fix
2026-02-28 22:38:23 +01:00
dimitar
79bd134977
fix: correct CSS @import order to resolve 504 gateway timeout
2026-02-28 22:14:53 +01:00
dimitar
88dbd2719d
typo
2026-02-28 22:06:15 +01:00
dimitar
e71dc2b90f
foot
2026-02-28 21:38:07 +01:00
dimitar
caf56d9fcd
fix me
2026-02-28 20:32:10 +01:00
dimitar
86c1c2d366
upatstvo za upotreba
2026-02-28 20:22:35 +01:00
dimitar
4f2837ad4e
feat: add About/Instructions page with comprehensive usage guide
2026-02-28 20:08:25 +01:00
dimitar
c6427304ac
feat: show live blog updates section open by default on homepage
2026-02-28 20:02:52 +01:00
dimitar
515c4cacf3
feat: update live blog UI with chat layout, fix page title and favicon
2026-02-28 19:48:56 +01:00
dimitar
59891b03dc
fix: resolve file permissions issue for Strapi media uploads
2026-02-28 19:22:31 +01:00
dimitar
8f68dab53f
fix: increase file upload limits for Strapi media library to 200MB
2026-02-28 19:07:02 +01:00
dimitar
fa7dcc2b08
feat: add general category, fix header wrapping, show last 5 live blog updates
2026-02-28 18:47:11 +01:00
dimitar
3e61fe5694
fix: ensure slug and excerpt are never null to pass validation
...
- Extract slug generation to separate variable before using in DTO
- Convert null description to empty string for excerpt field
- Prevents class-validator from rejecting null values
- Fixes 'slug must be a string type' validation errors
2026-02-28 18:22:48 +01:00
dimitar
a5008a3646
fix: add slug auto-generation fallback for articles without slugs
...
- Add generateSlug() helper to create URL-friendly slugs from titles
- Apply slug fallback in syncArticles() and syncSingleArticle()
- Handles articles created before slug field was added to schema
- Prevents 'slug cannot be null' database constraint errors
2026-02-28 18:02:33 +01:00
dimitar
cbdb801655
fix: disable Authorization header for Strapi public API access
...
- Modify getHeaders() to always return empty object
- Prevents sending invalid Bearer token that causes 401 errors
- Strapi Public role permissions configured for unauthenticated access
- Will allow proper article sync from Strapi to backend
2026-02-28 17:46:59 +01:00
dimitar
a5c57b33f7
fix: remove STRAPI_API_TOKEN to allow public API access
...
- Remove STRAPI_API_TOKEN environment variable from backend service
- Backend will now make requests to Strapi without Authorization header
- Allows Strapi Public role permissions to work correctly
- Fixes 401 Unauthorized error when syncing articles
2026-02-28 17:03:06 +01:00
dimitar
b39972102a
fix: use APP_GUARD provider for global authentication guard
...
- Replace manual guard instantiation with DI-managed APP_GUARD provider
- Fixes request timeout issue caused by improper Passport JWT strategy initialization
- Add @Public() decorator to remaining sync endpoints for public access
- Remove unused Reflector import from main.ts
2026-02-28 16:49:24 +01:00
dimitar
8fbde18d02
feat: add GET endpoint for sync/all for easier testing
2026-02-28 16:33:27 +01:00
dimitar
94b0239a0a
fix: re-enable DATABASE_SYNCHRONIZE to create missing tables
2026-02-28 16:25:16 +01:00
dimitar
ac610e6f6a
fix: add missing slug and description fields to Article schema and fix auth header
2026-02-28 16:10:48 +01:00
dimitar
8eaaf4afad
fix: convert Article API files from TypeScript to JavaScript for Strapi compatibility
2026-02-28 15:48:47 +01:00
dimitar
33008b64ce
fix: enhance CORS configuration with explicit methods and headers
2026-02-28 15:33:45 +01:00
dimitar
005d368dc7
debug: add logging to check if article content type loads
2026-02-28 15:29:41 +01:00
dimitar
a8c0ab8884
feat: add Article content type schema and API endpoints
2026-02-27 20:42:53 +01:00
dimitar
e443ece848
fix: remove article API files to allow Strapi UI to recreate them
2026-02-27 20:32:22 +01:00
dimitar
76963f6eea
aa
2026-02-27 20:10:49 +01:00
dimitar
bfc7e76f17
fix: disable database sync and simplify backend startup
2026-02-27 20:10:03 +01:00
dimitar
06a0c9fe05
fix: temporarily disable lifecycle hooks and CMS dependency to fix startup
...
- Disable lifecycle hooks (rename to .disabled) to prevent CMS crash
- Remove backend dependency on CMS to allow independent startup
- This should fix the Gateway Timeout on both services
2026-02-27 18:25:22 +01:00
dimitar
c1b49a4cb6
fix: use internal Docker network for backend-to-CMS communication
...
- Changed STRAPI_URL from https://cms.placebo.mk to http://cms:1337
- Added cms dependency to backend service
- This fixes Gateway Timeout errors when backend tries to fetch from Strapi
- Enables proper container-to-container communication
2026-02-27 17:47:42 +01:00
dimitar
4f30542014
feat: implement automatic webhook via Strapi lifecycle hooks
2026-02-27 17:11:04 +01:00
dimitar
d7281024bf
fix: configure Strapi public URL to prevent Gateway Timeout on publish
2026-02-27 16:18:24 +01:00
dimitar
4a22e8a18a
feat: auto-seed admin user on backend startup
2026-02-27 16:06:08 +01:00
dimitar
994becc687
fix: copy src directory to include content type schemas in production
2026-02-24 21:01:13 +01:00
dimitar
69e758b841
fix: explicitly link Traefik routers to services to resolve Gateway Timeout
2026-02-24 19:59:15 +01:00
dimitar
17c6a1593c
feat: enable database synchronization to initialize backend schema
2026-02-24 19:40:56 +01:00
dimitar
d573846e5c
fix: configure CORS to allow frontend and PWA domains
...
- Update backend main.ts to include www.placebo.mk in allowed origins
- Add logging to show which origins are allowed
- Set FRONTEND_URL, PWA_URL, STRAPI_URL env vars in docker-compose
- This fixes 'No Access-Control-Allow-Origin header' CORS errors
2026-02-24 19:28:54 +01:00
dimitar
c3b01de12e
fix: update CSP headers to allow production API domains
...
- Add https://api.placebo.mk to connect-src for API requests
- Add https://cms.placebo.mk to connect-src for CMS API
- Add Google Fonts domains to style-src and font-src
- Add manifest-src for PWA manifest
- This fixes 'Refused to connect' CSP violations
2026-02-24 19:16:22 +01:00
dimitar
80a2ee89a6
fix: create symlink for Strapi admin build location
...
Strapi 5 looks for the admin build at
/app/node_modules/@strapi/admin/dist/server/server/build
but we have it at /app/dist/build. Create a symlink to fix this.
2026-02-24 19:02:05 +01:00
dimitar
ff0916b37c
fix: copy .strapi metadata directory for admin panel
...
- Add .strapi directory copy to Dockerfile
- Add admin path configuration
- This should fix the admin panel serving from correct location
2026-02-24 18:42:51 +01:00
dimitar
6eb68b7bd3
debug: add detailed connection config logging
...
- Log the actual connection config being passed to Knex
- Show password length to verify it's set
- This should help identify why PostgreSQL sees 'root' user
2026-02-24 18:33:58 +01:00
dimitar
fcbd082f6d
feat: add detailed database configuration logging
...
- Log whether DATABASE_PASSWORD is set (without revealing value)
- Add timeout and debug options
- Restore correct nested connection structure for Strapi 5
- Add more diagnostic logging to troubleshoot connection issues
2026-02-24 18:26:25 +01:00
dimitar
183636bceb
fix: improve PostgreSQL health checks and expose port 5432
...
- Add explicit expose directive for port 5432 on both postgres containers
- Improve health check to test specific database and user
- Should help with database connection issues
2026-02-24 18:13:10 +01:00
dimitar
5262e73a12
cms fix
2026-02-24 18:02:03 +01:00
dimitar
590a96e502
fix: correct Strapi database configuration structure
...
The database config had an incorrect nested structure with
connection.client.connection which caused Strapi to fail with
'Cannot destructure property client of db.config.connection'.
Fixed to use the correct flat structure:
connection.client, connection.host, etc.
2026-02-24 18:01:30 +01:00
dimitar
0ef26ba2f1
fix: add HTTP to HTTPS redirect and fix CMS Dockerfile
...
- Add HTTP router and redirect middleware for Let's Encrypt challenges
- Fix CMS Dockerfile to copy config from source (not dist)
- Add favicon.png to CMS container
- Enable automatic HTTPS redirect for all services
2026-02-24 17:52:51 +01:00
dimitar
2efdf20f88
refactor: use npm prune --omit=dev instead of deprecated --production flag
2026-02-24 17:41:38 +01:00
dimitar
ed723bc429
fix: use 'https' entrypoint instead of 'websecure' for Traefik
2026-02-24 17:34:51 +01:00
dimitar
b8dfde512c
feat: add manual Traefik labels and coolify network to all services
2026-02-24 17:16:28 +01:00
dimitar
5fc424408e
fix: correct health check endpoints and use IPv4 addresses
2026-02-24 16:49:17 +01:00
dimitar
749ff5659c
port conf
2026-02-24 16:44:40 +01:00
dimitar
a2caaab26a
devops again
2026-02-24 15:13:50 +01:00
dimitar
bc3e834a39
tr
2026-02-24 14:39:41 +01:00
dimitar
7a96b52cfc
devops doodle
2026-02-24 14:17:29 +01:00
dimitar
5233eec96a
devopse secret
2026-02-24 14:01:10 +01:00
dimitar
831da0af4d
messing up deployment
2026-02-24 13:49:03 +01:00
dimitar
a9528582fd
strapi config
2026-02-24 13:31:31 +01:00
dimitar
ee676b3916
db config
2026-02-24 13:15:47 +01:00
dimitar
9013bc51f3
docker files fix
2026-02-24 12:58:38 +01:00
dimitar
57ae0bb3b5
cool up
2026-02-23 06:21:45 +01:00
dimitar
3b827a90ac
prod update
2026-02-23 05:54:35 +01:00
dimitar
3af4b92e1b
legacy
2026-02-23 05:28:46 +01:00
dimitar
cfc43a7119
docker fix
2026-02-23 05:18:40 +01:00
dimitar
dc93a8b652
compose coolify
2026-02-23 04:51:14 +01:00
dimitar
69833d2067
prod
2026-02-22 05:30:47 +01:00
dimitar
d041575600
logs removed
2026-02-22 04:49:38 +01:00
dimitar
57864e00da
push notification
...
fix implemented
2026-02-22 04:00:20 +01:00
dimitar
0bbf2ab56f
push notification implemented
...
need testing
2026-02-22 02:23:41 +01:00
dimitar
26a17b5a4c
Merge branch 'pwa'
2026-02-22 01:27:13 +01:00
dimitar
7725674fd5
implemented
2026-02-22 01:20:59 +01:00
dimitar
f1f16a80a5
pwa ready
2026-02-22 01:11:20 +01:00
dimitar
83c60ce40d
ag
2026-02-22 00:44:46 +01:00
dimitar
f20842b3ab
xxl
2026-02-16 21:50:11 +01:00
dimitar
8510cccb6e
buymeacoffe added
2026-02-16 21:20:58 +01:00
dimitar
c2c77ac92a
Merge branch 'redesignNo1'
2026-02-16 20:45:29 +01:00
dimitar
71b1b549c3
admin dashboard fixed
...
maybe we need another design for this page
2026-02-16 20:42:11 +01:00
dimitar
aa79eba06d
pading fixed on pages
2026-02-16 19:52:37 +01:00
dimitar
62c68e4bc6
scrollbar on every page
2026-02-16 19:47:24 +01:00
dimitar
2be6216772
date fixed
...
also прекршени вести Ч)
2026-02-16 19:41:00 +01:00
dimitar
ae28f56337
header transparency fix
2026-02-16 19:19:27 +01:00
dimitar
10fe702749
liveblog update fix
2026-02-16 19:15:31 +01:00
dimitar
4c4d741b1f
redesign looking good
2026-02-16 18:50:33 +01:00
dimitar
6abae13dbd
run
2026-02-16 18:16:06 +01:00
dimitar
46eb41aaa5
category field added
...
implemented ctegory logic, ditional pages added
2026-02-06 03:35:28 +01:00
dimitar
add12b2fbf
hero section added
...
hero article menagment implemented in admin UI
2026-02-06 02:14:10 +01:00
dimitar
6d65d5975c
mobile nav implemented
...
dark mode need rifinements
2026-02-06 01:04:43 +01:00
dimitar
b8779e5a35
social share up and running
2026-02-05 03:04:19 +01:00
dimitar
000ebd388a
article detail page @public
2026-02-05 00:10:23 +01:00
dimitar
3374eb1ec0
reply to comment implemented
2026-02-04 23:51:37 +01:00
dimitar
d7b82c0ec9
comment func implemented
2026-02-04 23:08:47 +01:00
dimitar
3718882f5b
another auth checkpoint
...
webhook issue resolved
2026-02-04 22:36:28 +01:00
dimitar
cb2355adcd
types import error fixed
2026-02-04 20:37:46 +01:00
dimitar
c6e602d354
docker dependecies fixed
2026-02-04 20:03:17 +01:00
dimitar
42002f8e6f
auth checkpoint
...
auth dependecies not instaled in dev container
2026-02-04 19:24:03 +01:00
dimitar
7378d37b36
sync working as intended
2026-02-04 00:52:05 +01:00
dimitar
9ca05f5ea1
delete/archive implemented
2026-02-03 23:14:36 +01:00
dimitar
89b8687431
video func implemented
2026-02-03 21:18:25 +01:00