/
/
/
Ansible role that provisions my storage server.
1# Calibre Stack Docker Compose Configuration
2# Generated by Ansible - DO NOT EDIT MANUALLY
3
4
5services:
6{% if calibre_server_enabled %}
7 calibre:
8 image: {{ calibre_image }}:{{ calibre_version }}
9 container_name: calibre
10 restart: unless-stopped
11
12 # Environment Configuration
13 env_file:
14 - .env
15
16 # Just maintenance ports
17 ports:
18 - {{ calibre_desktop_gui_host_port }}:{{ calibre_desktop_gui_port }}
19 - {{ calibre_https_desktop_gui_host_port }}:{{ calibre_https_desktop_gui_port }}
20 - {{ calibre_server_host_port }}:{{ calibre_server_port }}
21
22
23 # Volume Mounts
24 volumes:
25 - {{ calibre_server_config_dir }}:/config
26 - {{ calibre_library_dir }}:/books
27 - {{ arr_downloads_dir }}:/downloads # For importing downloaded books
28
29
30 # Network
31 networks:
32 - {{ storage_docker_network }}
33
34{% endif %}
35
36{% if calibre_web_enabled %}
37 calibre-web:
38 image: {{ calibre_web_image }}:{{ calibre_web_version }}
39 container_name: calibre-web
40 restart: unless-stopped
41 {% if calibre_server_enabled +%}
42 depends_on:
43 - calibre
44 {% endif %}
45
46 # Environment Configuration
47 env_file:
48 - .env
49
50 # Port Mapping
51 ports:
52 - "{{ calibre_web_host_port }}:{{ calibre_web_port }}"
53
54 # Volume Mounts
55 volumes:
56 - {{ calibre_web_config_dir }}:/config
57 - {{ calibre_library_dir }}:/books
58
59 # Network
60 networks:
61 - {{ storage_docker_network }}
62
63 # Health Check
64 healthcheck:
65 test: ["CMD", "curl", "-f", "http://localhost:{{ calibre_web_port }}"]
66 interval: {{ health_check_interval }}
67 timeout: {{ health_check_timeout }}
68 retries: {{ health_check_retries }}
69 start_period: 30s
70{% endif %}
71
72networks:
73 {{ storage_docker_network }}:
74 external: true
75