User Tools

Site Tools


topic:gendoc

Gendoc - Generic Docker Compose Stack apps (DCS)

gendoc is CatchMedia specific set of conventions and aliases to manage Docker Compose Stack applications (DCS).

See also: Docker Apps with Persistency - DCS+keepalived+haproxy

We try to use gendoc/dcs instead of k8 because k8-based apps are notoriously harder to setup, manage and backup. The complexity price for HA and scalability just does not pay off for most applications we use.

Conventions

  • aliases entity is installed
  • DCS app has /opt/DCS_NAME/docker-compose.yml file
  • The DCS might require dedicated IP using macvlan. If dedicated outbound source IP is needed, then Firewall→NAT→Outbound tuning on FW might be necessary
  • docker-compose.yml might have additional custom fields:
    x-ska:
      start_on_boot: "no"
      on_demand_port: 25565
  • for DCS with persistency, /opt/DCS_NAME should be separate LVM volume, mounted on boot. Same for production-grade apps, to protect from disk full situations.
  • systemd service gendoc starts DCS apps with start_on_boot=yes

Aliases

Aliases are actually scripts that sit in /opt/aliases/bin (should be in PATH). They must be run from the home directory of DCS - /opt/DCS_NAME, for example /opt/pamail

  • dcup - start DCS app
  • dcdown - stop DCS app
  • dclog - see runtime log
  • dcch - try to run bash or sh inside of the container (if container has shell in it). If you must get in as root, use this cmd (example for mysql_padb_a1): docker exec -u 0 -it mysql_padb_a1 /bin/bash -l
  • dcii - see information on the DCS
  • dcmy - for mysql containers - connect to mysql server using mysql CLI
  • dcmyv - for mysql containers - connect to mysql server using mysql CLI over Virtual IP
  • dcrc - for redis containers - connect to redis server using redis CLI
  • docps - See list of DCS running: docps
topic/gendoc.txt · Last modified: 2024/12/31 08:55 by 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki