Files
lcbp3/specs/99-archives/lcbp3-db.md
admin 5eff8861e1
All checks were successful
Build and Deploy / deploy (push) Successful in 1m0s
refactor(specs): merge 08-infrastructure into canonical 04-06 dirs
- Append live QNAP configs to 04-01-docker-compose.md (Appendix A)
  - MariaDB+PMA, Redis+Elasticsearch, NPM, Gitea, n8n, App stack
- Append SSH setup + Secrets management to 04-06-security-operations.md
  - Appendix A: SSH key setup, config, hardening, port forwarding
  - Appendix B: .env structure, secret generation, rotation, GPG backup
- Append QNAP/Gitea CI/CD docs to 04-04-deployment-guide.md
  - Appendix A: Container Station deployment steps
  - Appendix B: Gitea Actions CI/CD pipeline setup
  - Appendix C: act_runner (ASUSTOR) installation
- Move Git_command.md -> 05-Engineering-Guidelines/05-05-git-cheatsheet.md
- Move docker-compose-app.yml, lcbp3-monitoring.yml, lcbp3-registry.yml,
  grafana/ -> 04-Infrastructure-OPS/
- Archive lcbp3-db.md -> 99-archives/
- Remove all legacy 08-infrastructure/* files from git
- Remove Google OAuth client_secret JSON from git index (security)
- Add .gitignore rules: *client_secret*.json, *service_account*.json,
  specs/08-infrastructure/
- Update 04-Infrastructure-OPS/README.md with new file index
2026-02-23 15:03:35 +07:00

3.0 KiB

File: mariadb/docker-compose-db.yml

DMS Container v1_7_0 Servive: mariadb, pma

x-restart: &restart_policy restart: unless-stopped

x-logging: &default_logging logging: driver: "json-file" options: max-size: "10m" max-file: "5"

services: mariadb: <<: [*restart_policy, *default_logging] image: mariadb:11.8 container_name: mariadb stdin_open: true tty: true deploy: resources: limits: cpus: "2.0" memory: 4G reservations: cpus: "0.5" memory: 1G environment: MYSQL_ROOT_PASSWORD: "Center#2025" MYSQL_DATABASE: "lcbp3" MYSQL_USER: "center" MYSQL_PASSWORD: "Center#2025" TZ: "Asia/Bangkok" ports: - "3306:3306" volumes: - "/share/nap-dms/mariadb/data:/var/lib/mysql" - "/share/nap-dms/mariadb/my.cnf:/etc/mysql/conf.d/my.cnf:ro" - "/share/nap-dms/mariadb/init:/docker-entrypoint-initdb.d:ro" - "/share/dms-data/mariadb/backup:/backup" healthcheck: test: ["CMD-SHELL", "mysqladmin ping -h 127.0.0.1 -pCenter#2025 || exit 1"] interval: 10s timeout: 5s retries: 15 networks: lcbp3: {}

pma: <<: [*restart_policy, *default_logging] image: phpmyadmin:5-apache container_name: pma stdin_open: true tty: true deploy: resources: limits: cpus: "0.25" memory: 256M environment: TZ: "Asia/Bangkok" PMA_HOST: "mariadb" PMA_PORT: "3306" PMA_ABSOLUTE_URI: "https://pma.np-dms.work/" UPLOAD_LIMIT: "1G" MEMORY_LIMIT: "512M" ports: - "89:80" # expose: # - "80" volumes: - "/share/Container/pma/config.user.inc.php:/etc/phpmyadmin/config.user.inc.php:ro" - "/share/Container/pma/zzz-custom.ini:/usr/local/etc/php/conf.d/zzz-custom.ini:ro" - "/share/Container/pma/tmp:/var/lib/phpmyadmin/tmp:rw" - "/share/dms-data/logs/pma:/var/log/apache2" depends_on: mariadb: condition: service_healthy networks: lcbp3: {}

networks: lcbp3: external: true

chown -R 999:999 /share/nap-dms/mariadb/init

chmod 755 /share/nap-dms/mariadb/init

setfacl -R -m u:999:r-x /share/nap-dms/mariadb/init

setfacl -R -d -m u:999:r-x /share/nap-dms/mariadb/init

chown -R 33:33 /share/Container/pma/tmp

chmod 755 /share/Container/pma/tmp

setfacl -R -m u:33:rwx /share/Container/pma/tmp

setfacl -R -d -m u:33:rwx /share/Container/pma/tmp

chown -R 33:33 /share/dms-data/logs/pma

chmod 755 /share/dms-data/logs/pma

setfacl -R -m u:33:rwx /share/dms-data/logs/pma

setfacl -R -d -m u:33:rwx /share/dms-data/logs/pma

setfacl -R -m u:1000:rwx /share/Container/gitea

setfacl -R -m u:1000:rwx /share/dms-data/gitea_repos

setfacl -R -m u:1000:rwx /share/dms-data/gitea_registry

docker exec -it mariadb mysql -u root -p

CREATE DATABASE npm;

CREATE USER 'npm'@'%' IDENTIFIED BY 'npm';

GRANT ALL PRIVILEGES ON npm.* TO 'npm'@'%';

FLUSH PRIVILEGES;