Compare commits
16 Commits
1a2b3b9899
...
d299d5461d
Author | SHA1 | Date |
---|---|---|
Chris Thompson | d299d5461d | |
Chris Thompson | 7159b36272 | |
Chris Thompson | 317e6517a8 | |
Chris Thompson | e53e97e8d9 | |
Chris Thompson | 398c254b89 | |
Chris Thompson | 01a360cf60 | |
Chris Thompson | a3fecc1e36 | |
Chris Thompson | f543dfab04 | |
Moritz | 4846a09169 | |
knoflook | 210a37cd0c | |
3wc | 914ef6b026 | |
mayel | 5f205c149f | |
mayel | d2c8993fcc | |
mayel | 1c93adcf21 | |
mayel | 7970e7c61e | |
mayel | e14f050ede |
|
@ -1,4 +1,6 @@
|
||||||
TYPE=hedgedoc
|
TYPE=hedgedoc
|
||||||
|
TIMEOUT=300
|
||||||
|
ENABLE_AUTO_UPDATE=true
|
||||||
|
|
||||||
DOMAIN=hedgedoc.example.com
|
DOMAIN=hedgedoc.example.com
|
||||||
## Domain aliases
|
## Domain aliases
|
||||||
|
|
|
@ -7,9 +7,9 @@
|
||||||
<!-- metadata -->
|
<!-- metadata -->
|
||||||
* **Category**: Apps
|
* **Category**: Apps
|
||||||
* **Status**: 2, beta
|
* **Status**: 2, beta
|
||||||
* **Image**: [`quay.io/hedgedoc/hedgedoc:1.8.2`](https://quay.io/hedgedoc/hedgedoc:1.8.2), 4, upstream
|
* **Image**: [`quay.io/hedgedoc/hedgedoc`](https://quay.io/hedgedoc/hedgedoc), 4, upstream
|
||||||
* **Healthcheck**: Yes
|
* **Healthcheck**: Yes
|
||||||
* **Backups**: No
|
* **Backups**: Yes
|
||||||
* **Email**: No
|
* **Email**: No
|
||||||
* **Tests**: 2
|
* **Tests**: 2
|
||||||
* **SSO**: 3 (OAuth)
|
* **SSO**: 3 (OAuth)
|
||||||
|
@ -19,7 +19,7 @@
|
||||||
|
|
||||||
1. Set up Docker Swarm and [`abra`][abra]
|
1. Set up Docker Swarm and [`abra`][abra]
|
||||||
2. Deploy [`coop-cloud/traefik`][compose-traefik]
|
2. Deploy [`coop-cloud/traefik`][compose-traefik]
|
||||||
3. `abra app new hedegedoc`
|
3. `abra app new hedgedoc`
|
||||||
4. `abra app config YOURAPPDOMAIN` - be sure to change `$DOMAIN` to something that resolves to
|
4. `abra app config YOURAPPDOMAIN` - be sure to change `$DOMAIN` to something that resolves to
|
||||||
your Docker swarm box
|
your Docker swarm box
|
||||||
5. `abra app deploy YOURAPPDOMAIN`
|
5. `abra app deploy YOURAPPDOMAIN`
|
||||||
|
|
13
compose.yml
13
compose.yml
|
@ -1,7 +1,7 @@
|
||||||
version: "3.8"
|
version: "3.8"
|
||||||
services:
|
services:
|
||||||
app:
|
app:
|
||||||
image: quay.io/hedgedoc/hedgedoc:1.9.8
|
image: quay.io/hedgedoc/hedgedoc:1.9.9
|
||||||
environment:
|
environment:
|
||||||
- CMD_USECDN=false
|
- CMD_USECDN=false
|
||||||
- CMD_URL_ADDPORT=false
|
- CMD_URL_ADDPORT=false
|
||||||
|
@ -59,6 +59,7 @@ services:
|
||||||
- "traefik.http.middlewares.${STACK_NAME}-redirect.headers.SSLHost=${DOMAIN}"
|
- "traefik.http.middlewares.${STACK_NAME}-redirect.headers.SSLHost=${DOMAIN}"
|
||||||
- "backupbot.backup=true"
|
- "backupbot.backup=true"
|
||||||
- "backupbot.backup.path=/hedgedoc/public/uploads"
|
- "backupbot.backup.path=/hedgedoc/public/uploads"
|
||||||
|
- coop-cloud.${STACK_NAME}.timeout=${TIMEOUT:-120}
|
||||||
- coop-cloud.${STACK_NAME}.version=0.5.1+1.9.8
|
- coop-cloud.${STACK_NAME}.version=0.5.1+1.9.8
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: "nodejs -e \"http.get('http://localhost:3000', (res) => { console.log('status: ', res.statusCode); if (res.statusCode == 200) { process.exit(0); } else { process.exit(1); } });\""
|
test: "nodejs -e \"http.get('http://localhost:3000', (res) => { console.log('status: ', res.statusCode); if (res.statusCode == 200) { process.exit(0); } else { process.exit(1); } });\""
|
||||||
|
@ -80,10 +81,12 @@ services:
|
||||||
- internal
|
- internal
|
||||||
deploy:
|
deploy:
|
||||||
labels:
|
labels:
|
||||||
- "backupbot.backup=true"
|
backupbot.backup: "true"
|
||||||
- "backupbot.backup.pre-hook=sh -c 'PGPASSWORD=$$(cat $${POSTGRES_PASSWORD_FILE}) pg_dump -U $${POSTGRES_USER} $${POSTGRES_DB} > /tmp/backup.sql'"
|
backupbot.backup.pre-hook: "mkdir -p /tmp/backup/ && PGPASSWORD=$$(cat $${POSTGRES_PASSWORD_FILE}) pg_dump -U $${POSTGRES_USER} $${POSTGRES_DB} > /tmp/backup/backup.sql"
|
||||||
- "backupbot.backup.post-hook=rm -f /tmp/backup.sql"
|
backupbot.backup.post-hook: "rm -rf /tmp/backup"
|
||||||
- "backupbot.backup.path=/tmp/"
|
backupbot.backup.path: "/tmp/backup/"
|
||||||
|
backupbot.restore: "true"
|
||||||
|
backupbot.restore.post-hook: "sh -c 'psql -U $${POSTGRES_USER} -d $${POSTGRES_DB} < ./backup.sql && rm -f ./backup.sql'"
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: "pg_isready"
|
test: "pg_isready"
|
||||||
interval: 30s
|
interval: 30s
|
||||||
|
|
|
@ -30,6 +30,7 @@ main() {
|
||||||
set -eu
|
set -eu
|
||||||
|
|
||||||
load_vars
|
load_vars
|
||||||
|
mkdir "/hedgedoc/.npm" && chown -R 10000:65534 "/hedgedoc/.npm" && chmod "u+rwx" "/hedgedoc/.npm"
|
||||||
}
|
}
|
||||||
|
|
||||||
main
|
main
|
||||||
|
@ -40,6 +41,7 @@ export CMD_DB_URL=postgres://$CMD_DB_USER:$CMD_DB_PASSWORD@$CMD_DB_HOST:5432/$CM
|
||||||
if [ ! "${1-}" == "-e" ]; then
|
if [ ! "${1-}" == "-e" ]; then
|
||||||
# 3wc: upstream ENTRYPOINT
|
# 3wc: upstream ENTRYPOINT
|
||||||
# https://github.com/hedgedoc/container/blob/master/alpine/Dockerfile
|
# https://github.com/hedgedoc/container/blob/master/alpine/Dockerfile
|
||||||
|
mkdir -p "/hedgedoc/.npm" && chown -R 10000:65534 "/hedgedoc/.npm"
|
||||||
/usr/local/bin/docker-entrypoint.sh npm start
|
/usr/local/bin/docker-entrypoint.sh npm start
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue