feat(infrastructure): Update deployment configs and add hosting documentation

- Update docker-compose.swarm.yml with latest service configurations
- Add docker-compose.website-only.yml for standalone website deployment
- Add domain_info.yaml with DNS and hosting configuration details
- Add hosting.md with deployment and infrastructure documentation

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
tony
2025-08-02 22:18:46 +10:00
parent b7553856f5
commit 26079aa8da
4 changed files with 125 additions and 5 deletions

View File

@@ -11,7 +11,7 @@ services:
replicas: 2
placement:
constraints:
- node.role == worker
- node.role == manager
resources:
limits:
memory: 1G
@@ -44,7 +44,7 @@ services:
replicas: 2
placement:
constraints:
- node.role == worker
- node.role == manager
resources:
limits:
memory: 512M
@@ -74,7 +74,7 @@ services:
replicas: 2
placement:
constraints:
- node.role == worker
- node.role == manager
resources:
limits:
memory: 128M
@@ -136,7 +136,7 @@ services:
replicas: 2
placement:
constraints:
- node.role == worker
- node.role == manager
resources:
limits:
memory: 1G
@@ -171,7 +171,7 @@ services:
replicas: 1
placement:
constraints:
- node.role == worker
- node.role == manager
resources:
limits:
memory: 512M

View File

@@ -0,0 +1,46 @@
# Docker Compose for Website-Only Deployment
# Minimal deployment for CHORUS Services marketing website
version: '3.8'
services:
# Marketing Website
chorus-website:
image: registry.home.deepblack.cloud/tony/chorus-website:latest
deploy:
replicas: 2
placement:
constraints:
- node.hostname == walnut
resources:
limits:
memory: 128M
reservations:
memory: 64M
labels:
- "traefik.enable=true"
- "traefik.docker.network=tengig"
- "traefik.http.routers.chorus-website.rule=Host(`www.chorus.services`) || Host(`chorus.services`)"
- "traefik.http.routers.chorus-website.entrypoints=web-secured"
- "traefik.http.routers.chorus-website.tls.certresolver=letsencryptresolver"
- "traefik.http.services.chorus-website.loadbalancer.server.port=80"
- "traefik.http.services.chorus-website.loadbalancer.passhostheader=true"
# Redirect naked domain to www
- "traefik.http.middlewares.chorus-redirect.redirectregex.regex=^https://chorus.services/(.*)"
- "traefik.http.middlewares.chorus-redirect.redirectregex.replacement=https://www.chorus.services/$${1}"
- "traefik.http.routers.chorus-website.middlewares=chorus-redirect"
ports:
- target: 80
published: 3100
protocol: tcp
mode: ingress
networks:
- tengig
- chorus_website_network
networks:
tengig:
external: true
chorus_website_network:
driver: overlay
attachable: true

53
domain_info.yaml Normal file
View File

@@ -0,0 +1,53 @@
domain: chorus.services
records:
- name: qe8ddd03c96afc707._domainkey.chorus.services
type: TXT
ttl: 3600
content: '"v=DKIM1; k=rsa; h=sha256; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArPS8sm8Y3VGybA1x2y+YBb0DTwiyzMNEy5wB2oxM5BBywohhp9LJGfqCOsjQQR/mqBZc1cyUM10rYZgCZqzbIQpvcnsUsd20KWyxLWdgbMGIirmcwlJAtYr6Rajj1bI0nSQHb6319ZgDuV4jfQNEYaSATooBCponFv6jVzetj0d4c9NN/b0IsfKH4bYvnldtUF2EyZWpfT8srD2wbEqbDKNsu3Rbcdg+dTM5TIRRC+FeOU16SdGZGb8epjsT6yytHeBaZrsDikeKy6TdTAkZf8WGonffWz2/V6Uw2zL3xKtOfkzInyZvgMx3qylz4a3ceNb2BfVmlvSEPjZLU3cB+wIDAQAB"'
- name: autodiscover.chorus.services
type: CNAME
ttl: 3600
content: mail.chorus.services.
- name: _autodiscover._tcp.chorus.services
type: SRV
ttl: 3600
content: 10 10 443 mail.chorus.services.
- name: webmail.chorus.services
type: CNAME
ttl: 3600
content: mail.chorus.services.
- name: mail.chorus.services
type: CNAME
ttl: 3600
content: mx3594.syd1.mymailhosting.com.
- name: api.chorus.services
type: A
ttl: 900
content: 202.171.184.242
- name: _dmarc.chorus.services
type: TXT
ttl: 3600
content: '"v=DMARC1;p=none;adkim=s;aspf=s;"'
- name: '*.chorus.services'
type: A
ttl: 900
content: 202.171.184.242
- name: chorus.services
type: TXT
ttl: 3600
content: '"v=spf1 a mx include:spf.mymailhosting.com -all"'
- name: chorus.services
type: MX
ttl: 3600
content: 10 mx3594.syd1.mymailhosting.com.
- name: chorus.services
type: NS
ttl: 3600
content:
- ns1.netregistry.net.
- ns2.netregistry.net.
- ns3.netregistry.net.
- name: chorus.services
type: A
ttl: 3600
content: 202.171.184.242

21
hosting.md Normal file
View File

@@ -0,0 +1,21 @@
Domain Name
chorus.services
Admin Username
admin@chorus.services
SPF Record
v=spf1 a mx include:spf.mymailhosting.com -all
DMARC Record
v=DMARC1;p=none;adkim=s;aspf=s;
DKIM Selector
qe8DDD03C96AFC707
DKIM Key
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArPS8sm8Y3VGybA1x2y+YBb0DTwiyzMNEy5wB2oxM5BBywohhp9LJGfqCOsjQQR/mqBZc1cyUM10rYZgCZqzbIQpvcnsUsd20KWyxLWdgbMGIirmcwlJAtYr6Rajj1bI0nSQHb6319ZgDuV4jfQNEYaSATooBCponFv6jVzetj0d4c9NN/b0IsfKH4bYvnldtUF2EyZWpfT8srD2wbEqbDKNsu3Rbcdg+dTM5TIRRC+FeOU16SdGZGb8epjsT6yytHeBaZrsDikeKy6TdTAkZf8WGonffWz2/V6Uw2zL3xKtOfkzInyZvgMx3qylz4a3ceNb2BfVmlvSEPjZLU3cB+wIDAQAB
Mail Server Name
mx3594.syd1.mymailhosting.com