Compare commits

...

3 Commits

8 changed files with 131 additions and 24 deletions

View File

@@ -9,12 +9,12 @@ services:
gitea_db:
condition: service_healthy
environment:
- GITEA_CUSTOM=/data/gitea/custom
- GITEA__database__DB_TYPE=postgres
- GITEA__database__HOST=gitea_db:5432
- GITEA__database__NAME=gitea
- GITEA__database__USER=gitea
- GITEA__database__PASSWD=${DB_PASSWORD}
GITEA_CUSTOM: /data/gitea/custom
GITEA__database__DB_TYPE: postgres
GITEA__database__HOST: gitea_db:5432
GITEA__database__NAME: gitea
GITEA__database__USER: gitea
GITEA__database__PASSWD: ${DB_PASSWORD}
healthcheck:
test: curl -f http://localhost:3000/api/healthz || exit 1
interval: 30s
@@ -33,9 +33,9 @@ services:
container_name: gitea_db
restart: always
environment:
- POSTGRES_DB=gitea
- POSTGRES_USER=gitea
- POSTGRES_PASSWORD=${DB_PASSWORD}
POSTGRES_DB: gitea
POSTGRES_USER: gitea
POSTGRES_PASSWORD: ${DB_PASSWORD}
healthcheck:
test: pg_isready
interval: 30s

View File

@@ -9,10 +9,10 @@ services:
hedgedoc_db:
condition: service_healthy
environment:
- CMD_ALLOW_EMAIL_REGISTER=false
- CMD_DB_URL=postgres://hedgedoc:${DB_PASSWORD}@hedgedoc_db:5432/hedgedoc
- CMD_DOMAIN=pad.eliasfink.de
- CMD_PROTOCOL_USESSL=true
CMD_ALLOW_EMAIL_REGISTER: false
CMD_DB_URL: postgres://hedgedoc:${DB_PASSWORD}@hedgedoc_db:5432/hedgedoc
CMD_DOMAIN: pad.eliasfink.de
CMD_PROTOCOL_USESSL: true
networks:
- default
- traefik
@@ -24,9 +24,9 @@ services:
container_name: hedgedoc_db
restart: always
environment:
- POSTGRES_DB=hedgedoc
- POSTGRES_USER=hedgedoc
- POSTGRES_PASSWORD=${DB_PASSWORD}
POSTGRES_DB: hedgedoc
POSTGRES_USER: hedgedoc
POSTGRES_PASSWORD: ${DB_PASSWORD}
healthcheck:
test: pg_isready
interval: 30s

View File

@@ -11,11 +11,11 @@ services:
nextcloud_redis:
condition: service_healthy
environment:
- POSTGRES_HOST=nextcloud_db
- POSTGRES_DB=nextcloud
- POSTGRES_USER=nextcloud
- POSTGRES_PASSWORD=${DB_PASSWORD}
- REDIS_HOST=nextcloud_redis
POSTGRES_HOST: nextcloud_db
POSTGRES_DB: nextcloud
POSTGRES_USER: nextcloud
POSTGRES_PASSWORD: ${DB_PASSWORD}
REDIS_HOST: nextcloud_redis
healthcheck:
test: curl -f http://localhost/status.php || exit 1
interval: 30s
@@ -33,9 +33,9 @@ services:
container_name: nextcloud_db
restart: always
environment:
- POSTGRES_DB=nextcloud
- POSTGRES_USER=nextcloud
- POSTGRES_PASSWORD=${DB_PASSWORD}
POSTGRES_DB: nextcloud
POSTGRES_USER: nextcloud
POSTGRES_PASSWORD: ${DB_PASSWORD}
healthcheck:
test: pg_isready
interval: 30s

5
overleaf/Dockerfile Normal file
View File

@@ -0,0 +1,5 @@
FROM sharelatex/sharelatex:main
RUN tlmgr update --self && \
tlmgr install scheme-full && \
tlmgr path add

13
overleaf/build-images.sh Normal file
View File

@@ -0,0 +1,13 @@
#!/bin/bash
set -e
cd /overleaf
git pull
cd server-ce
make build-base
make build-community
cd /services/overleaf
docker compose up -d --build

71
overleaf/compose.yml Normal file
View File

@@ -0,0 +1,71 @@
services:
overleaf:
build: .
container_name: overleaf
restart: always
depends_on:
overleaf_db:
condition: service_healthy
overleaf_redis:
condition: service_healthy
environment:
ENABLE_CONVERSIONS: true
OVERLEAF_ADMIN_EMAIL: mail@eliasfink.de
OVERLEAF_APP_NAME: EFtex
OVERLEAF_RIGHT_FOOTER: '[{"text": "Datenschutz", "url" : "https://privacy.eliasfink.de"}]'
OVERLEAF_EMAIL_FROM_ADDRESS: no-reply@eliasfink.de
OVERLEAF_EMAIL_SMTP_HOST: mxe92f.netcup.net
OVERLEAF_EMAIL_SMTP_PORT: 465
OVERLEAF_EMAIL_SMTP_SECURE: true
OVERLEAF_EMAIL_SMTP_USER: no-reply@eliasfink.de
OVERLEAF_EMAIL_SMTP_PASS: ${EMAIL_PASSWORD}
OVERLEAF_HEADER_IMAGE_URL: https://static.eliasfink.de/img/logo/logo.svg
OVERLEAF_MONGO_URL: mongodb://overleaf_db/overleaf
OVERLEAF_REDIS_HOST: overleaf_redis
OVERLEAF_SITE_LANGUAGE: de
OVERLEAF_SITE_URL: https://tex.eliasfink.de
REDIS_HOST: overleaf_redis
networks:
- default
- traefik
stop_grace_period: 60s
volumes:
- ./data:/var/lib/overleaf
overleaf_db:
image: mongo:6.0
container_name: overleaf_db
restart: always
command: --replSet overleaf
environment:
MONGO_INITDB_DATABASE: overleaf
extra_hosts:
- overleaf_db:127.0.0.1
healthcheck:
test: echo 'db.stats().ok' | mongosh localhost:27017/test --quiet
interval: 30s
timeout: 10s
retries: 3
networks:
- default
volumes:
- ./db:/data/db
- ./config/mongodb-init-replica-set.js:/docker-entrypoint-initdb.d/mongodb-init-replica-set.js
overleaf_redis:
image: redis:6.2
container_name: overleaf_redis
restart: always
healthcheck:
test: redis-cli ping
interval: 30s
timeout: 10s
retries: 3
networks:
- default
volumes:
- ./cache:/data
networks:
traefik:
external: true

View File

@@ -0,0 +1,3 @@
/* eslint-disable no-undef */
rs.initiate({ _id: 'overleaf', members: [{ _id: 0, host: 'overleaf_db:27017' }] })

View File

@@ -0,0 +1,15 @@
# /services/traefik/config/services/overleaf.yml
http:
routers:
tex:
entryPoints:
- https
rule: Host(`tex.eliasfink.de`)
service: overleaf
services:
overleaf:
loadBalancer:
servers:
- url: http://overleaf:80