Commit Graph

76 Commits

Author SHA1 Message Date
Scott Idem
6c6de37419 fix: restrict Dozzle to localhost-only binding
Bind Dozzle to 127.0.0.1 to prevent exposure on external/LAN interfaces.
Previously bound to 0.0.0.0, allowing unauthenticated access to container
logs from any network-reachable host.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-29 14:02:48 -04:00
Scott Idem
47fe502dc1 Minor clean up 2026-04-19 15:24:28 -04:00
Scott Idem
d1ed06a4c4 fix: resolve logrotate permission issues in maintenance container 2026-04-03 17:10:22 -04:00
Scott Idem
3c6b67b149 chore: unify timezone and implement containerized log rotation 2026-04-03 17:06:34 -04:00
Scott Idem
c136c2e50c chore(env): clean up .env.default and parameterize container names
- Remove 16 dead variables (OSIT_ENV, AE_API_ENV, AE_APP_ENV, AE_FLASK_APP_SRC,
  AE_DB_ROOT_PASSWORD, OSIT_WEB_HTTPS_PORT, 5x DOCKER_AE_*_EXTRA_HOST,
  CONTAINER_AE_API/APP/MARIADB/PMA)
- Add missing vars: AE_NETWORK_NAME, CONTAINER_DOZZLE, AE_DOZZLE_PORT
- Parameterize hardcoded container names in compose: CONTAINER_MARIADB,
  CONTAINER_PMA, CONTAINER_AE_OPS (all with :-default fallbacks)
- Fix AE_DB_EXTERNAL_PORT default: 3306 → 32768 (avoids host MariaDB conflict)
- Reorganize: AE_APP_GATEWAY_PORT moved next to AE_API_GATEWAY_PORT

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-26 19:02:46 -04:00
Scott Idem
352cca8a27 fix(compose): update BUILD_MODE fallback from staging to dev
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-26 17:28:10 -04:00
Scott Idem
0d81958bfc Cleaning up old legacy files. Sorry, no more Flask. 2026-03-24 15:51:44 -04:00
Scott Idem
90a42a68b3 More domains here 2026-03-12 03:15:58 -04:00
Scott Idem
1d7200639c fix: moved API healthcheck to docker-compose to override base image defaults and force port 5005. 2026-03-12 02:53:13 -04:00
Scott Idem
0072a16c25 fix: introduced aether_shared_net to allow isolated stacks to reach shared DB/Redis. 2026-03-12 02:22:35 -04:00
Scott Idem
26e943b066 fix: added AE_NETWORK_NAME variable to isolate networks between stacks. 2026-03-12 01:40:19 -04:00
Scott Idem
122ae1efc6 fix: added AE_DOZZLE_PORT variable to resolve port conflicts between environments. 2026-03-12 00:40:30 -04:00
Scott Idem
dca75ab990 fix: added CONTAINER_DOZZLE variable to support multiple environments and updated env template. 2026-03-12 00:32:08 -04:00
Scott Idem
55350ddd7c Add more server names.... 2026-03-11 23:13:45 -04:00
Scott Idem
14173cfc22 feat: Added Makefile for fast stack management and optimized API volume mounts. 2026-03-11 16:15:08 -04:00
Scott Idem
57ec65144d refactor: route ae_app through ae_web_dev like ae_api
Both API and App now scale transparently via Docker DNS round-robin.
Home server nginx points at a single port for each service:
  - workstation:5060 -> ae_web_dev:80 -> ae_api replicas
  - workstation:3001 -> ae_web_dev:80 -> ae_app replicas

ae_app no longer needs host port bindings. AE_APP_REPLICAS scales freely.
HTTPS (443) commented out -- SSL terminates at home server, not internally.
2026-03-10 18:16:06 -04:00
Scott Idem
16f98bc93d fix: use port range for ae_app to support scaling with host port binding
Replace single AE_APP_NODE_PORT with AE_APP_NODE_PORT_RANGE (e.g. 3001-3006).
Docker assigns one port from the range to each replica, enabling external
nginx upstreams to reference individual ports per instance.

ae_api needs no host ports -- it scales via Docker DNS through ae_web_dev.
2026-03-10 17:40:26 -04:00
Scott Idem
055afda9c4 fix: restore ae_app host port mapping, scale=1 required for static port bind 2026-03-10 17:30:32 -04:00
Scott Idem
6d7cd97bd5 fix: remove host port mapping from ae_app service
With scale > 1, multiple replicas cannot bind to the same host port.
ae_app does not need a host port -- nginx routes to it internally via
the Docker service name 'ae_app:3000' with round-robin load balancing.
Removed ports: '${AE_APP_NODE_PORT}:3000' to fix the port conflict.
2026-03-10 17:11:38 -04:00
Scott Idem
83770ffc00 chore: add SvelteKit nginx config, clean up Flask upstream, wire AE_APP_REPLICAS
- Add conf/nginx/site-enabled_aether_app_svelte_node.conf (SvelteKit node upstream)
- Clean up site-enabled_aether_flask_gunicorn.conf: remove dead comments, update
  upstream to app-node:3000
- docker-compose.yml: ae_app scale now uses ${AE_APP_REPLICAS:-1} instead of hardcoded 1
2026-03-10 16:11:46 -04:00
Scott Idem
5fd57dc11a chore: Updated ae_api orchestration to use project-internal build context and Dockerfile. 2026-03-10 15:23:13 -04:00
Scott Idem
8abc3b4c7e docs: Update for unified SvelteKit + FastAPI architecture. Added autonomous SvelteKit build process and updated cheatsheet commands. 2026-03-10 13:33:23 -04:00
Scott Idem
49539d52c1 chore(env): synchronize env.default and stabilize API config
Updated env.default with self-documenting comments and all active environment variables. Hardened conf/aether_api_config.py to ensure SMTP and FILES_PATH dictionaries are preserved during refactors. Integrated v3 websocket routes into Nginx template.
2026-02-06 13:15:48 -05:00
Scott Idem
6297df094d Bug fix for the restore script. It now deletes the temp backup directories automatically. 2026-01-13 12:47:08 -05:00
Scott Idem
7bd22d1086 Fix: Robust API configuration and password handling. Resolved 502 Bad Gateway. 2026-01-12 18:20:01 -05:00
Scott Idem
5044a4fc5b Ops: Added backup script, dashboard UI, and project cheatsheet. 2026-01-12 17:35:44 -05:00
Scott Idem
7bce390e5f Architecture: Finalized dynamic scaling and Nginx gateway port configuration. 2026-01-12 17:10:16 -05:00
Scott Idem
00092d2058 MariaDB: Parameterized performance settings via .env and docker-compose command flags. 2026-01-12 16:47:12 -05:00
Scott Idem
0b4c13c84b MariaDB: Applied optimized production server.cnf and enabled audit logging. 2026-01-12 16:40:45 -05:00
Scott Idem
5a2316537c Modernization: Standardized Docker env, added local MariaDB/phpMyAdmin, added automated restore script. 2026-01-12 16:28:43 -05:00
Scott Idem
d5153cda76 Cleanup: Remove commented-out services (Nextcloud, PHP7, PMA) from docker-compose.yml 2026-01-06 19:14:25 -05:00
Scott Idem
f2798551b2 Updates to make things more efficient. 2024-10-09 13:47:52 -04:00
Scott Idem
485e51488d Merge remote-tracking branch 'refs/remotes/origin/dev_cluster' into dev_cluster
Trying to merge changes...
2024-09-06 18:46:51 -04:00
Scott Idem
991ae88a86 Update related to ASCM dev 2024-09-06 18:45:51 -04:00
Scott Idem
c795bb00f4 More documentation 2024-05-30 23:28:40 -04:00
Scott Idem
294716fefc Enabled poppler-utils for Python pdf2image to work 2024-05-22 19:22:20 -04:00
Scott Idem
341f5ccbee Everything seems to be working with FastAPI 110 now!! Need to work on SQLAlchemy upgrade to 2.0.29 soon. 2024-04-26 17:58:17 -04:00
Scott Idem
f43f13b9e1 Minor changes 2024-04-25 16:51:26 -04:00
Scott Idem
43c4dffa9a Tweaking settings... 2024-04-24 16:50:09 -04:00
Scott Idem
653f55b64d Checking if this works on Linode 2024-03-30 17:31:16 -04:00
Scott Idem
acf953439f Tweaking things... 2024-03-30 14:15:44 -04:00
Scott Idem
91eac68ee1 hosts... 2024-03-29 20:22:31 -04:00
Scott Idem
3ddc6cc5f6 Stuff... 2024-03-29 19:21:27 -04:00
Scott Idem
96fbca2b2c I don't know 2024-03-29 19:08:16 -04:00
Scott Idem
adb490948a No more white API 2024-03-29 18:30:30 -04:00
Scott Idem
8a4434d0b8 Now with more colors! 2024-03-29 14:51:06 -04:00
Scott Idem
ee4e68ddcb Changing load balancing 2024-03-08 09:10:50 -05:00
Scott Idem
3e72c4299c Hopefully this works.... 2024-03-07 22:08:15 -05:00
Scott Idem
f1a36b2bc4 Working on using a cluster of API servers.... 2024-03-07 21:33:10 -05:00
Scott Idem
d265064cf6 Clean up before wrapping up for the night. Seems to be working well. 2024-02-14 20:37:18 -05:00