diff options
| author | crupest <crupest@outlook.com> | 2024-01-12 18:33:15 +0800 | 
|---|---|---|
| committer | crupest <crupest@outlook.com> | 2024-01-12 18:33:15 +0800 | 
| commit | c5feef8de37bdfbdff582a678c13c2db954e2a74 (patch) | |
| tree | 9d9b15b90396246159ffbd213fb75b4b67c1e0cf | |
| parent | 7e2d0a8ed4c25624dfb470d2ced309c6e679ddec (diff) | |
| download | crupest-c5feef8de37bdfbdff582a678c13c2db954e2a74.tar.gz crupest-c5feef8de37bdfbdff582a678c13c2db954e2a74.tar.bz2 crupest-c5feef8de37bdfbdff582a678c13c2db954e2a74.zip  | |
chore: dos2unix.
| -rw-r--r-- | template/docker-compose.yaml.template | 302 | 
1 files changed, 151 insertions, 151 deletions
diff --git a/template/docker-compose.yaml.template b/template/docker-compose.yaml.template index a8a3be8..060a3c2 100644 --- a/template/docker-compose.yaml.template +++ b/template/docker-compose.yaml.template @@ -1,151 +1,151 @@ -services:
 -  timeline:
 -    image: crupest/timeline:latest
 -    pull_policy: always
 -    container_name: timeline
 -    restart: on-failure:3
 -    environment:
 -      - ASPNETCORE_FORWARDEDHEADERS_ENABLED=true
 -      - TIMELINE_DisableAutoBackup=true
 -    volumes:
 -      - ./data/timeline:/root/timeline
 -
 -  crupest-blog:
 -    pull_policy: build
 -    build:
 -      context: ./docker/crupest-blog
 -      dockerfile: Dockerfile
 -      pull: true
 -      tags:
 -        - "crupest/crupest-blog:latest"
 -    container_name: crupest-blog
 -    restart: on-failure:3
 -    volumes:
 -      - "blog-public:/public"
 -
 -  nginx:
 -    pull_policy: build
 -    build:
 -      context: ./docker/crupest-nginx
 -      dockerfile: Dockerfile
 -      pull: true
 -      tags:
 -        - "crupest/crupest-nginx:latest"
 -    container_name: nginx
 -    restart: on-failure:3
 -    ports:
 -      - "80:80"
 -      - "443:443"
 -      - "443:443/udp"
 -    volumes:
 -      - "./nginx-config:/etc/nginx/conf.d:ro"
 -      - "./data/certbot/certs:/etc/letsencrypt:ro"
 -      - "./data/certbot/webroot:/srv/acme:ro"
 -      - "blog-public:/srv/blog:ro"
 -
 -  crupest-api:
 -    pull_policy: build
 -    build:
 -      context: ./docker/crupest-api
 -      dockerfile: Dockerfile
 -      pull: true
 -      tags:
 -        - "crupest/crupest-api:latest"
 -    container_name: crupest-api
 -    volumes:
 -      - "./crupest-api-config.json:/crupest-api-config.json:ro"
 -
 -  v2ray:
 -    pull_policy: build
 -    build:
 -      context: ./docker/crupest-v2ray
 -      dockerfile: Dockerfile
 -      pull: true
 -      tags:
 -        - "crupest/crupest-v2ray:latest"
 -    command: [ "run", "-c", "/etc/v2fly/config.json" ]
 -    container_name: v2ray
 -    restart: on-failure:3
 -    volumes:
 -      - "./v2ray-config.json:/etc/v2fly/config.json:ro"
 -
 -  auto-certbot:
 -    pull_policy: build
 -    depends_on:
 -      - nginx
 -    build:
 -      context: ./docker/auto-certbot
 -      dockerfile: Dockerfile
 -      pull: true
 -      args:
 -        - CRUPEST_DOMAIN=$CRUPEST_DOMAIN
 -        - CRUPEST_EMAIL=$CRUPEST_EMAIL
 -        - CRUPEST_AUTO_CERTBOT_ADDITIONAL_PACKAGES=docker-cli
 -        - CRUPEST_AUTO_CERTBOT_POST_HOOK=docker restart nginx
 -      tags:
 -        - "crupest/auto-certbot:latest"
 -    container_name: auto-certbot
 -    volumes:
 -      - "./data/certbot/certs:/etc/letsencrypt"
 -      - "./data/certbot/data:/var/lib/letsencrypt"
 -      - "./data/certbot/webroot:/var/www/certbot"
 -      # map docker socket to allow auto-certbot to restart nginx
 -      - "/var/run/docker.sock:/var/run/docker.sock"
 -    restart: on-failure:3
 -
 -  auto-backup:
 -    pull_policy: build
 -    build:
 -      context: ./docker/auto-backup
 -      dockerfile: Dockerfile
 -      pull: true
 -      args:
 -        - CRUPEST_AUTO_BACKUP_COS_SECRET_ID=${CRUPEST_AUTO_BACKUP_COS_SECRET_ID}
 -        - CRUPEST_AUTO_BACKUP_COS_SECRET_KEY=${CRUPEST_AUTO_BACKUP_COS_SECRET_KEY}
 -        - CRUPEST_AUTO_BACKUP_COS_REGION=${CRUPEST_AUTO_BACKUP_COS_REGION}
 -        - CRUPEST_AUTO_BACKUP_BUCKET_NAME=${CRUPEST_AUTO_BACKUP_BUCKET_NAME}
 -      tags:
 -        - "crupest/auto-backup:latest"
 -    container_name: auto-backup
 -    volumes:
 -      - "./data:/data"
 -    restart: on-failure:3
 -
 -  mailserver:
 -    image: docker.io/mailserver/docker-mailserver:latest
 -    pull_policy: always
 -    container_name: mailserver
 -    # If the FQDN for your mail-server is only two labels (eg: example.com),
 -    # you can assign this entirely to `hostname` and remove `domainname`.
 -    hostname: mail
 -    domainname: $CRUPEST_DOMAIN
 -    env_file: mailserver.env
 -    # More information about the mail-server ports:
 -    # https://docker-mailserver.github.io/docker-mailserver/edge/config/security/understanding-the-ports/
 -    # To avoid conflicts with yaml base-60 float, DO NOT remove the quotation marks.
 -    ports:
 -      - "25:25" # SMTP  (explicit TLS => STARTTLS)
 -      - "143:143" # IMAP4 (explicit TLS => STARTTLS)
 -      - "465:465" # ESMTP (implicit TLS)
 -      - "587:587" # ESMTP (explicit TLS => STARTTLS)
 -      - "993:993" # IMAP4 (implicit TLS)
 -    volumes:
 -      - ./data/dms/mail-data/:/var/mail/
 -      - ./data/dms/mail-state/:/var/mail-state/
 -      - ./data/dms/mail-logs/:/var/log/mail/
 -      - ./data/dms/config/:/tmp/docker-mailserver/
 -      - ./data/certbot/certs:/etc/letsencrypt
 -      - /etc/localtime:/etc/localtime:ro
 -    restart: on-failure:3
 -    stop_grace_period: 1m
 -    cap_add:
 -      - NET_ADMIN
 -    healthcheck:
 -      test: "ss --listening --tcp | grep -P 'LISTEN.+:smtp' || exit 1"
 -      timeout: 3s
 -      retries: 0
 -
 -
 -volumes:
 -  blog-public:
 -
 +services: +  timeline: +    image: crupest/timeline:latest +    pull_policy: always +    container_name: timeline +    restart: on-failure:3 +    environment: +      - ASPNETCORE_FORWARDEDHEADERS_ENABLED=true +      - TIMELINE_DisableAutoBackup=true +    volumes: +      - ./data/timeline:/root/timeline + +  crupest-blog: +    pull_policy: build +    build: +      context: ./docker/crupest-blog +      dockerfile: Dockerfile +      pull: true +      tags: +        - "crupest/crupest-blog:latest" +    container_name: crupest-blog +    restart: on-failure:3 +    volumes: +      - "blog-public:/public" + +  nginx: +    pull_policy: build +    build: +      context: ./docker/crupest-nginx +      dockerfile: Dockerfile +      pull: true +      tags: +        - "crupest/crupest-nginx:latest" +    container_name: nginx +    restart: on-failure:3 +    ports: +      - "80:80" +      - "443:443" +      - "443:443/udp" +    volumes: +      - "./nginx-config:/etc/nginx/conf.d:ro" +      - "./data/certbot/certs:/etc/letsencrypt:ro" +      - "./data/certbot/webroot:/srv/acme:ro" +      - "blog-public:/srv/blog:ro" + +  crupest-api: +    pull_policy: build +    build: +      context: ./docker/crupest-api +      dockerfile: Dockerfile +      pull: true +      tags: +        - "crupest/crupest-api:latest" +    container_name: crupest-api +    volumes: +      - "./crupest-api-config.json:/crupest-api-config.json:ro" + +  v2ray: +    pull_policy: build +    build: +      context: ./docker/crupest-v2ray +      dockerfile: Dockerfile +      pull: true +      tags: +        - "crupest/crupest-v2ray:latest" +    command: [ "run", "-c", "/etc/v2fly/config.json" ] +    container_name: v2ray +    restart: on-failure:3 +    volumes: +      - "./v2ray-config.json:/etc/v2fly/config.json:ro" + +  auto-certbot: +    pull_policy: build +    depends_on: +      - nginx +    build: +      context: ./docker/auto-certbot +      dockerfile: Dockerfile +      pull: true +      args: +        - CRUPEST_DOMAIN=$CRUPEST_DOMAIN +        - CRUPEST_EMAIL=$CRUPEST_EMAIL +        - CRUPEST_AUTO_CERTBOT_ADDITIONAL_PACKAGES=docker-cli +        - CRUPEST_AUTO_CERTBOT_POST_HOOK=docker restart nginx +      tags: +        - "crupest/auto-certbot:latest" +    container_name: auto-certbot +    volumes: +      - "./data/certbot/certs:/etc/letsencrypt" +      - "./data/certbot/data:/var/lib/letsencrypt" +      - "./data/certbot/webroot:/var/www/certbot" +      # map docker socket to allow auto-certbot to restart nginx +      - "/var/run/docker.sock:/var/run/docker.sock" +    restart: on-failure:3 + +  auto-backup: +    pull_policy: build +    build: +      context: ./docker/auto-backup +      dockerfile: Dockerfile +      pull: true +      args: +        - CRUPEST_AUTO_BACKUP_COS_SECRET_ID=${CRUPEST_AUTO_BACKUP_COS_SECRET_ID} +        - CRUPEST_AUTO_BACKUP_COS_SECRET_KEY=${CRUPEST_AUTO_BACKUP_COS_SECRET_KEY} +        - CRUPEST_AUTO_BACKUP_COS_REGION=${CRUPEST_AUTO_BACKUP_COS_REGION} +        - CRUPEST_AUTO_BACKUP_BUCKET_NAME=${CRUPEST_AUTO_BACKUP_BUCKET_NAME} +      tags: +        - "crupest/auto-backup:latest" +    container_name: auto-backup +    volumes: +      - "./data:/data" +    restart: on-failure:3 + +  mailserver: +    image: docker.io/mailserver/docker-mailserver:latest +    pull_policy: always +    container_name: mailserver +    # If the FQDN for your mail-server is only two labels (eg: example.com), +    # you can assign this entirely to `hostname` and remove `domainname`. +    hostname: mail +    domainname: $CRUPEST_DOMAIN +    env_file: mailserver.env +    # More information about the mail-server ports: +    # https://docker-mailserver.github.io/docker-mailserver/edge/config/security/understanding-the-ports/ +    # To avoid conflicts with yaml base-60 float, DO NOT remove the quotation marks. +    ports: +      - "25:25" # SMTP  (explicit TLS => STARTTLS) +      - "143:143" # IMAP4 (explicit TLS => STARTTLS) +      - "465:465" # ESMTP (implicit TLS) +      - "587:587" # ESMTP (explicit TLS => STARTTLS) +      - "993:993" # IMAP4 (implicit TLS) +    volumes: +      - ./data/dms/mail-data/:/var/mail/ +      - ./data/dms/mail-state/:/var/mail-state/ +      - ./data/dms/mail-logs/:/var/log/mail/ +      - ./data/dms/config/:/tmp/docker-mailserver/ +      - ./data/certbot/certs:/etc/letsencrypt +      - /etc/localtime:/etc/localtime:ro +    restart: on-failure:3 +    stop_grace_period: 1m +    cap_add: +      - NET_ADMIN +    healthcheck: +      test: "ss --listening --tcp | grep -P 'LISTEN.+:smtp' || exit 1" +      timeout: 3s +      retries: 0 + + +volumes: +  blog-public: +  | 
