diff options
author | crupest <crupest@outlook.com> | 2022-10-28 23:07:12 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2022-10-28 23:07:12 +0800 |
commit | 125f22cb83b89f9f5011ca2ec835342ea8876833 (patch) | |
tree | 1ea402b1b7923ee06413c418f68ab5cc0835b51d /template/docker-compose.yaml.template | |
parent | 4c35716b592a728e530ded6cac0416bce7d71179 (diff) | |
download | crupest-125f22cb83b89f9f5011ca2ec835342ea8876833.tar.gz crupest-125f22cb83b89f9f5011ca2ec835342ea8876833.tar.bz2 crupest-125f22cb83b89f9f5011ca2ec835342ea8876833.zip |
...
Diffstat (limited to 'template/docker-compose.yaml.template')
-rw-r--r-- | template/docker-compose.yaml.template | 109 |
1 files changed, 109 insertions, 0 deletions
diff --git a/template/docker-compose.yaml.template b/template/docker-compose.yaml.template new file mode 100644 index 0000000..9ac23ca --- /dev/null +++ b/template/docker-compose.yaml.template @@ -0,0 +1,109 @@ +services: + halo: + image: halohub/halo:latest + container_name: halo + restart: on-failure:3 + volumes: + - ./data/halo:/root/.halo + - /etc/timezone:/etc/timezone:ro + - /etc/localtime:/etc/localtime:ro + ports: + - "8090:8090" + environment: + - SERVER_PORT=8090 + - SPRING_DATASOURCE_DRIVER_CLASS_NAME=org.h2.Driver + - SPRING_DATASOURCE_URL=jdbc:h2:file:~/.halo/db/halo + - SPRING_DATASOURCE_USERNAME=admin + - SPRING_DATASOURCE_PASSWORD={{CRUPEST_HALO_DB_PASSWORD}} + - HALO_ADMIN_PATH=admin + - HALO_CACHE=memory + networks: + - internal + + timeline: + image: crupest/timeline:latest + container_name: timeline + restart: on-failure:3 + volumes: + - ./data/timeline:/root/timeline + ports: + - "5000:80" + networks: + - internal + + code-server: + image: codercom/code-server:latest + container_name: code_server + restart: on-failure:3 + volumes: + - ./data/code-server:/data + - ./data/code-server-config.yaml:/home/coder/.config/code-server/config.yaml + ports: + - "8080:8080" + environment: + - "DOCKER_USER=$USER" + user: "{{CRUPEST_UID}}:{{CRUPEST_GID}}" + networks: + - internal + + caddy: + image: caddy:latest + container_name: caddy + restart: always + volumes: + - ./Caddyfile:/etc/caddy/Caddyfile + - ./site:/srv:ro + - caddy_data:/data + - caddy_config:/config + ports: + - "80:80" + - "443:443" + - "443:443/udp" + networks: + - internal + - external + + mailserver: + image: docker.io/mailserver/docker-mailserver:latest + 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: always + stop_grace_period: 1m + cap_add: + - NET_ADMIN + healthcheck: + test: "ss --listening --tcp | grep -P 'LISTEN.+:smtp' || exit 1" + timeout: 3s + retries: 0 + networks: + - external + +volumes: + caddy_data: + caddy_config: + + +networks: + internal: + internal: true + external: |