Skip to content

Commit 6dc3339

Browse files
committed
Redis and some clarifications
1 parent ae268ca commit 6dc3339

1 file changed

Lines changed: 3 additions & 1 deletion

File tree

docs/contributing.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ As a rule we try to allow users to customize the installation as much as possibl
1717
Docker Compose can specify external directories or Docker volumes to be mounted inside the container. We use a specific organization for volumes (`APPNAME` is the name of the application):
1818

1919
- any configuration data will be stored in a directory called `config` in the directory containing the `docker-compose` file
20-
- any runtime data, state information, sqlite3 databases - anything that maintains the state of the application and which must be preserved across runs - will be stored in `../../lib/APPNAME`
20+
- any runtime data, state information, sqlite3 databases - anything that maintains the state of the application and which must be preserved across runs - will be stored in `../../lib/APPNAME`. Applications which mingle configuration and run-time data in a way that makes it difficult to isolate them may store configuration data in this directory as well.
2121
- log files go in `../../log/APPNAME`
2222
- transient runtime files, like caches or FIFOs, go in `../../run/APPNAME`
2323

@@ -78,6 +78,8 @@ If it's absolutely necessary that an application be pinned to a specific version
7878

7979
We recognize the "single point of failure" argument but in particular, Postgresql is a tank and if it's failed then server maintainers have immediate issues they need to deal with that are more important than any one application.
8080

81+
Redis is an exception. The official position on multi-application Redis is to use one instance of Redis per application. Applications which require Redis should provide their own service definitions for it in their compose file and should isolate it on a network they share with it. Since Redis is most commonly used for transient data like caches it probably doesn't require backups. If it does the application should provide for them.
82+
8183
## Environment and Configuration
8284

8385
We use `.env` files to configure the actual applications. Environment variables should always be defined in `.env` files and never in compose files. This allows the application to be configured without modifying the compose files. It also keeps sensitive information out of compose files and hence out of the Hackstack repository.

0 commit comments

Comments
 (0)