You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+23-2Lines changed: 23 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -43,8 +43,10 @@ Using [dockerhub](https://hub.docker.com/r/caronc/apprise) you can do the follow
43
43
docker pull caronc/apprise:latest
44
44
45
45
# Start it up:
46
-
# /config is used for a persistent store, you do not have to mount
47
-
# this if you don't intend to use it.
46
+
# /config/store is used for a persistent store, you do not have to mount
47
+
# this if you don't intend to use it.
48
+
# /config is used for a spot to write all of the configuration files
49
+
# generated through the API
48
50
# /plugin is used for a location you can add your own custom apprise plugins.
49
51
# You do not have to mount this if you don't intend to use it.
50
52
# /attach is used for file attachments
@@ -90,6 +92,18 @@ docker run --name apprise \
90
92
-e APPRISE_WORKER_COUNT=1 \
91
93
-v /etc/apprise:/config \
92
94
-d apprise/local:latest
95
+
96
+
# Change your paths to what you want them to be, you may also wish to
97
+
# just do the following:
98
+
mkdir -p config store
99
+
docker run --name apprise \
100
+
-p 8000:8000 \
101
+
-e PUID=$(id -u) \
102
+
-e PGID=$(id -g) \
103
+
-e APPRISE_STATEFUL_MODE=simple \
104
+
-e APPRISE_WORKER_COUNT=1 \
105
+
-v ./config:/config \
106
+
-d apprise/local:latest
93
107
```
94
108
A `docker-compose.yml` file is already set up to grant you an instant production ready simulated environment:
95
109
@@ -125,6 +139,7 @@ Below is a sample of just a simple text response:
125
139
# one or more of the following separated by a comma:
126
140
# - ATTACH_PERMISSION_ISSUE: Can not write attachments (likely a permission issue)
127
141
# - CONFIG_PERMISSION_ISSUE: Can not write configuration (likely a permission issue)
142
+
# - STORE_PERMISSION_ISSUE: Can not write to persistent storage (likely a permission issue)
128
143
curl -X GET http://localhost:8000/status
129
144
```
130
145
@@ -138,6 +153,7 @@ The above output may look like this:
138
153
"attach_lock": false,
139
154
"config_lock": false,
140
155
"status": {
156
+
"persistent_storage": true,
141
157
"can_write_config": true,
142
158
"can_write_attach": true,
143
159
"details": ["OK"]
@@ -147,6 +163,7 @@ The above output may look like this:
147
163
148
164
- The `attach_lock` always cross references if the `APPRISE_ATTACH_SIZE` on whether or not it is `0` (zero) or less.
149
165
- The `config_lock` always cross references if the `APPRISE_CONFIG_LOCK` is enabled or not.
166
+
- The `status.persistent_storage` defines if the persistent storage is enabled or not. If the environment variable `APPRISE_STORAGE_PATH` is empty, this value will always read `false` and it will not impact the `status.details`
150
167
- The `status.can_write_config` defines if the configuration directory is writable or not. If the environment variable `APPRISE_STATEFUL_MODE` is set to `disabled`, this value will always read `false` and it will not impact the `status.details`
151
168
- The `status.can_write_attach` defines if the attachment directory is writable or not. If the environment variable `APPRISE_ATTACH_SIZE`. This value will always read `false` and it will not impact the `status.details`.
152
169
- The `status.details` identifies the overall status. If there is more then 1 issue to report here, they will all show in this list. In a working orderly environment, this will always be set to `OK` and the http response type will be `200`.
@@ -383,6 +400,10 @@ The use of environment variables allow you to provide over-rides to default sett
383
400
| `APPRISE_DEFAULT_THEME` | Can be set to `light` or `dark`; it defaults to `light` if not otherwise provided. The theme can be toggled from within the website as well.
384
401
| `APPRISE_DEFAULT_CONFIG_ID` | Defaults to `apprise`. This is the presumed configuration ID you always default to when accessing the configuration manager via the website.
385
402
| `APPRISE_CONFIG_DIR` | Defines an (optional) persistent store location of all configuration files saved. By default:<br/> - Configuration is written to the `apprise_api/var/config` directory when just using the _Django_`manage runserver` script. However for the path for the container is `/config`.
403
+
| `APPRISE_STORAGE_DIR` | Defines an (optional) persistent store location of all cache files saved. By default persistent storage is written into the `<APPRISE_CONFIG_DIR>/store`.
404
+
| `APPRISE_STORAGE_MODE` | Defines the storage mode to use. If no `APPRISE_STORGE_DIR` is identified, then this is set to `memory` in all circumtances reguardless what it might otherwise be set to. The possible options are:<br/>📌 **auto**: This is also the default. Writes cache files on demand only. <br/>📌 **memory**: Persistent storage is disabled; local memory is used for simple internal references. This is effectively the behavior of Apprise of versions 1.8.1 and earlier.<br/>📌 **flush**: A bit more i/o intensive then `auto`. Content is written to disk constantly if changed in anyway. This mode is still experimental.
405
+
| `APPRISE_STORAGE_UID_LENGTH` | Defines the unique key lengths used to identify an Apprise URL. By default this is set to `8`. Value can not be set to a smaller value then `2` or larger then `64`.
406
+
| `APPRISE_STATELESS_STORAGE` | Allow stateless URLs (in addition to stateful) to also leverage persistent storage. This defaults to `no` and can however be set to `yes` by simply defining the global variable as such.
386
407
| `APPRISE_ATTACH_DIR` | The directory the uploaded attachments are placed in. By default:<br/> - Attachments are written to the `apprise_api/var/attach` directory when just using the _Django_`manage runserver` script. However for the path for the container is `/attach`.
387
408
| `APPRISE_ATTACH_SIZE` | Over-ride the attachment size (defined in MB). By default it is set to `200` (Megabytes). You can set this up to a maximum value of `500` which is the restriction in place for NginX (internal hosting ervice) at this time. If you set this to zero (`0`) then attachments will not be passed along even if provided.
388
409
| `APPRISE_UPLOAD_MAX_MEMORY_SIZE` | Over-ride the in-memory accepted payload size (defined in MB). By default it is set to `3` (Megabytes). There is no reason the HTTP payload (excluding attachments) should exceed this limit. This value is only configurable for those who have edge cases where there are exceptions to this rule.
0 commit comments