-
-
Notifications
You must be signed in to change notification settings - Fork 13
/
readme-vars.yml
150 lines (137 loc) · 7.48 KB
/
readme-vars.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
---
# project information
project_name: cops
project_url: "https://github.com/mikespub-org/seblucas-cops"
project_logo: "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/cops-icon.png"
project_blurb: |
[{{ project_name|capitalize }}]({{ project_url }}) by Sébastien Lucas, now maintained by MikesPub, stands for Calibre OPDS (and HTML) Php Server.
COPS links to your Calibre library database and allows downloading and emailing of books directly from a web browser and provides a OPDS feed to connect to your devices.
Changes in your Calibre library are reflected immediately in your COPS pages.
See : [COPS's home]({{ project_url }}) for more details.
Don't forget to check the [Wiki](https://github.com/mikespub-org/seblucas-cops/wiki).
## Why? (taken from the author's site)
In my opinion Calibre is a marvelous tool but is too big and has too much
dependencies to be used for its content server.
That's the main reason why I coded this OPDS server. I needed a simple
tool to be installed on a small server (Seagate Dockstar in my case).
I initially thought of Calibre2OPDS but as it generate static file no
search was possible.
Later I added an simple HTML catalog that should be usable on my Kobo.
So COPS's main advantages are :
* No need for many dependencies.
* No need for a lot of CPU or RAM.
* Not much code.
* Search is available.
* With Dropbox / owncloud it's very easy to have an up to date OPDS server.
* It was fun to code.
If you want to use the OPDS feed don't forget to specify /feed at the end of your URL.
project_lsio_github_repo_url: "https://github.com/linuxserver/docker-{{ project_name }}"
# supported architectures
available_architectures:
- {arch: "{{ arch_x86_64 }}", tag: "amd64-latest"}
- {arch: "{{ arch_arm64 }}", tag: "arm64v8-latest"}
# container parameters
common_param_env_vars_enabled: true
param_container_name: "{{ project_name }}"
param_usage_include_vols: true
param_volumes:
- {vol_path: "/config", vol_host_path: "/path/to/{{ project_name }}/config", desc: "COPS Application Data."}
- {vol_path: "/books", vol_host_path: "/path/to/data", desc: "Calibre metadata.db location."}
param_usage_include_ports: true
param_ports:
- {external_port: "80", internal_port: "80", port_desc: "HTTP WebUI"}
- {external_port: "443", internal_port: "443", port_desc: "HTTPS WebUI"}
# application setup block
app_setup_block_enabled: true
app_setup_block: |
Access the webui at `http://<docker host ip>:80`. For connecting via OPDS on a mobile device use `http://<docker host ip>:80/index.php/feed`. It is strongly suggested that you reverse proxy this prior to exposing to the internet. For more information, such as requiring credentials, check the COPS Wiki (linked above).
The linuxserver version gives you access to `config/local.php` in `/config` to customise your install to suit your needs, it also includes the dependencies required to directly view epub books in your browser.
# init diagram
init_diagram: |
"cops:latest": {
docker-mods
base {
fix-attr +\nlegacy cont-init
}
docker-mods -> base
legacy-services
custom services
init-services -> legacy-services
init-services -> custom services
custom services -> legacy-services
legacy-services -> ci-service-check
init-migrations -> init-adduser
init-nginx-end -> init-config
init-os-end -> init-config
init-config -> init-config-end
init-cops-config -> init-config-end
init-crontab-config -> init-config-end
init-nginx-end -> init-cops-config
init-config -> init-crontab-config
init-mods-end -> init-custom-files
base -> init-envfile
init-os-end -> init-folders
init-php -> init-keygen
base -> init-migrations
init-config-end -> init-mods
init-mods-package-install -> init-mods-end
init-mods -> init-mods-package-install
init-samples -> init-nginx
init-version-checks -> init-nginx-end
init-adduser -> init-os-end
init-envfile -> init-os-end
init-keygen -> init-permissions
init-nginx -> init-php
init-folders -> init-samples
init-custom-files -> init-services
init-permissions -> init-version-checks
init-services -> svc-cron
svc-cron -> legacy-services
init-services -> svc-nginx
svc-nginx -> legacy-services
init-services -> svc-php-fpm
svc-php-fpm -> legacy-services
}
Base Images: {
"baseimage-alpine-nginx:3.21" <- "baseimage-alpine:3.21"
}
"cops:latest" <- Base Images
# changelog
changelogs:
- {date: "16.12.24:", desc: "Rebase to Alpine 3.21."}
- {date: "24.09.24:", desc: "Existing users should verify: site-confs/default.conf - Update rewriting rules default site conf."}
- {date: "14.09.24:", desc: "Ensure user config files have the right permissions."}
- {date: "09.09.24:", desc: "In COPS 3.x, the config_local.php is being moved over to config/local.php and this container will automatically migrate it. Existing users should verify: config_local.php and/or config/local.php - define $config['cops_kepubify_path'] if they want to use it"}
- {date: "28.08.24:", desc: "Add kepubify tool to update metadata for Kobo - see mikespub-org/seblucas-cops#77"}
- {date: "24.06.24:", desc: "Rebase to Alpine 3.20. Existing users should update their nginx confs to avoid http2 deprecation warnings."}
- {date: "07.05.24:", desc: "Existing users should verify: site-confs/default.conf - Fix rewriting rules default site conf."}
- {date: "20.03.24:", desc: "Rebase to Alpine 3.19."}
- {date: "25.12.23:", desc: "Existing users should update: site-confs/default.conf - Cleanup default site conf."}
- {date: "11.08.23:", desc: "Undeprecate and add new branch with mikespub fork which is actively maintained."}
- {date: "15.05.23:", desc: "Deprecate due to upstream dev abandonment of project."}
- {date: "13.04.23:", desc: "Move ssl.conf include to default.conf."}
- {date: "19.01.23:", desc: "Rebase to alpine 3.17 with php8.1."}
- {date: "20.08.22:", desc: "Rebasing to alpine 3.15 with php8. Restructure nginx configs ([see changes announcement](https://info.linuxserver.io/issues/2022-08-20-nginx-base))."}
- {date: "22.11.20:", desc: "Pin composer version to 1.10.17."}
- {date: "01.06.20:", desc: "Rebasing to alpine 3.12."}
- {date: "19.12.19:", desc: "Rebasing to alpine 3.11."}
- {date: "28.06.19:", desc: "Rebasing to alpine 3.10."}
- {date: "23.03.19:", desc: "Switching to new Base images, shift to arm32v7 tag."}
- {date: "27.02.19:", desc: "Upgrade packages during install to prevent mismatch with baseimage."}
- {date: "22.02.19:", desc: "Rebasing to alpine 3.9."}
- {date: "14.01.19:", desc: "Add multiarch and pipeline logic."}
- {date: "21.08.18:", desc: "Rebase to alpine 3.8."}
- {date: "02.07.18:", desc: "Add php7-ctype dependency."}
- {date: "08.01.18:", desc: "Rebase to alpine 3.7."}
- {date: "25.05.17:", desc: "Rebase to alpine 3.6."}
- {date: "03.04.17:", desc: "Add composer packages, reduce layers."}
- {date: "02.04.17:", desc: "Updated to version 1.1.0."}
- {date: "05.02.17:", desc: "Updated to Alpine 3.5 & PHP7."}
- {date: "24.10.16:", desc: "Updated to implement user based config."}
- {date: "24.10.16:", desc: "Updated to version 1.0.1."}
- {date: "14.10.16:", desc: "Add version layer information."}
- {date: "28.09.16:", desc: "Add php5-zlib."}
- {date: "11.09.16:", desc: "Add layer badges to README."}
- {date: "29.08.16:", desc: "Add php5-opcache."}
- {date: "28.08.16:", desc: "Add badges to README."}
- {date: "12.08.16:", desc: "Initial Release."}