diff options
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:  | 
