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: + |