Commit Graph

97 Commits

Author SHA1 Message Date
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
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
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
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
8fbde18d02 feat: add GET endpoint for sync/all for easier testing 2026-02-28 16:33:27 +01:00
94b0239a0a fix: re-enable DATABASE_SYNCHRONIZE to create missing tables 2026-02-28 16:25:16 +01:00
ac610e6f6a fix: add missing slug and description fields to Article schema and fix auth header 2026-02-28 16:10:48 +01:00
8eaaf4afad fix: convert Article API files from TypeScript to JavaScript for Strapi compatibility 2026-02-28 15:48:47 +01:00
33008b64ce fix: enhance CORS configuration with explicit methods and headers 2026-02-28 15:33:45 +01:00
005d368dc7 debug: add logging to check if article content type loads 2026-02-28 15:29:41 +01:00
a8c0ab8884 feat: add Article content type schema and API endpoints 2026-02-27 20:42:53 +01:00
e443ece848 fix: remove article API files to allow Strapi UI to recreate them 2026-02-27 20:32:22 +01:00
76963f6eea aa 2026-02-27 20:10:49 +01:00
bfc7e76f17 fix: disable database sync and simplify backend startup 2026-02-27 20:10:03 +01:00
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
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
4f30542014 feat: implement automatic webhook via Strapi lifecycle hooks 2026-02-27 17:11:04 +01:00
d7281024bf fix: configure Strapi public URL to prevent Gateway Timeout on publish 2026-02-27 16:18:24 +01:00
4a22e8a18a feat: auto-seed admin user on backend startup 2026-02-27 16:06:08 +01:00
994becc687 fix: copy src directory to include content type schemas in production 2026-02-24 21:01:13 +01:00
69e758b841 fix: explicitly link Traefik routers to services to resolve Gateway Timeout 2026-02-24 19:59:15 +01:00
17c6a1593c feat: enable database synchronization to initialize backend schema 2026-02-24 19:40:56 +01:00
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
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
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
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
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
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
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
5262e73a12 cms fix 2026-02-24 18:02:03 +01:00
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
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
2efdf20f88 refactor: use npm prune --omit=dev instead of deprecated --production flag 2026-02-24 17:41:38 +01:00
ed723bc429 fix: use 'https' entrypoint instead of 'websecure' for Traefik 2026-02-24 17:34:51 +01:00
b8dfde512c feat: add manual Traefik labels and coolify network to all services 2026-02-24 17:16:28 +01:00
5fc424408e fix: correct health check endpoints and use IPv4 addresses 2026-02-24 16:49:17 +01:00
749ff5659c port conf 2026-02-24 16:44:40 +01:00
a2caaab26a devops again 2026-02-24 15:13:50 +01:00
bc3e834a39 tr 2026-02-24 14:39:41 +01:00
7a96b52cfc devops doodle 2026-02-24 14:17:29 +01:00
5233eec96a devopse secret 2026-02-24 14:01:10 +01:00
831da0af4d messing up deployment 2026-02-24 13:49:03 +01:00
a9528582fd strapi config 2026-02-24 13:31:31 +01:00
ee676b3916 db config 2026-02-24 13:15:47 +01:00
9013bc51f3 docker files fix 2026-02-24 12:58:38 +01:00
57ae0bb3b5 cool up 2026-02-23 06:21:45 +01:00
3b827a90ac prod update 2026-02-23 05:54:35 +01:00
3af4b92e1b legacy 2026-02-23 05:28:46 +01:00
cfc43a7119 docker fix 2026-02-23 05:18:40 +01:00
dc93a8b652 compose coolify 2026-02-23 04:51:14 +01:00