Compare commits
3 commits
5d1f750b59
...
38e861d232
Author | SHA1 | Date | |
---|---|---|---|
38e861d232 | |||
160b9286c3 | |||
4b1409e1a8 |
6 changed files with 120 additions and 57 deletions
59
git/docker-compose.yaml
Normal file
59
git/docker-compose.yaml
Normal file
|
@ -0,0 +1,59 @@
|
||||||
|
services:
|
||||||
|
|
||||||
|
web:
|
||||||
|
image: codeberg.org/forgejo/forgejo:1.18
|
||||||
|
volumes:
|
||||||
|
- ${VOLUMES_PATH}/git/forgejo_data:/data
|
||||||
|
- /etc/timezone:/etc/timezone:ro
|
||||||
|
- /etc/localtime:/etc/localtime:ro
|
||||||
|
ports:
|
||||||
|
- "2222:22"
|
||||||
|
networks:
|
||||||
|
- web
|
||||||
|
- git
|
||||||
|
labels:
|
||||||
|
- "traefik.enable=true"
|
||||||
|
- "traefik.http.routers.forgejo.rule=Host(`gitea.${DOMAIN}`, `git.${DOMAIN}`)"
|
||||||
|
- "traefik.http.routers.forgejo.entrypoints=websecure"
|
||||||
|
- "traefik.http.routers.forgejo.tls.certresolver=netcup"
|
||||||
|
- "traefik.http.routers.forgejo.tls.options=intermediate@file"
|
||||||
|
- "traefik.http.routers.forgejo.middlewares=gitearedir"
|
||||||
|
- "traefik.http.middlewares.gitearedir.redirectregex.regex=^https://gitea.${DOMAIN}/(.*)"
|
||||||
|
- "traefik.http.middlewares.gitearedir.redirectregex.replacement=https://git.${DOMAIN}/$${1}"
|
||||||
|
- "traefik.http.middlewares.gitearedir.redirectregex.permanent=true"
|
||||||
|
- "traefik.http.services.forgejo.loadbalancer.server.port=3000"
|
||||||
|
- "docker.group=git"
|
||||||
|
depends_on:
|
||||||
|
- db
|
||||||
|
restart: unless-stopped
|
||||||
|
environment:
|
||||||
|
- USER_UID=1000
|
||||||
|
- USER_GID=1000
|
||||||
|
- DB_TYPE=mysql
|
||||||
|
- DB_TYPE=postgres
|
||||||
|
- DB_HOST=db:5432
|
||||||
|
- DB_NAME=${POSTGRES_DB}
|
||||||
|
- DB_USER=${POSTGRES_USER}
|
||||||
|
- DB_PASSWD=${POSTGRES_PASSWORD}
|
||||||
|
|
||||||
|
|
||||||
|
db:
|
||||||
|
image: postgres:13
|
||||||
|
restart: unless-stopped
|
||||||
|
environment:
|
||||||
|
- POSTGRES_USER=${POSTGRES_USER}
|
||||||
|
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
|
||||||
|
- POSTGRES_DB=${POSTGRES_DB}
|
||||||
|
networks:
|
||||||
|
- git
|
||||||
|
volumes:
|
||||||
|
- ${VOLUMES_PATH}/git/forgejo_db:/var/lib/postgresql/data
|
||||||
|
labels:
|
||||||
|
- "docker.group=git"
|
||||||
|
|
||||||
|
|
||||||
|
networks:
|
||||||
|
git:
|
||||||
|
web:
|
||||||
|
external: true
|
||||||
|
|
|
@ -1,55 +0,0 @@
|
||||||
services:
|
|
||||||
|
|
||||||
web:
|
|
||||||
image: gitea/gitea:1
|
|
||||||
volumes:
|
|
||||||
- ${VOLUMES_PATH}/gitea_data:/data
|
|
||||||
- /etc/timezone:/etc/timezone:ro
|
|
||||||
- /etc/localtime:/etc/localtime:ro
|
|
||||||
ports:
|
|
||||||
- "2222:22"
|
|
||||||
networks:
|
|
||||||
- web
|
|
||||||
- gitea
|
|
||||||
labels:
|
|
||||||
- "traefik.enable=true"
|
|
||||||
- "traefik.http.routers.gitea.rule=Host(`gitea.${DOMAIN}`)"
|
|
||||||
- "traefik.http.routers.gitea.entrypoints=websecure"
|
|
||||||
- "traefik.http.routers.gitea.tls.certresolver=netcup"
|
|
||||||
- "traefik.http.routers.gitea.tls.options=intermediate@file"
|
|
||||||
- "traefik.http.services.gitea.loadbalancer.server.port=3000"
|
|
||||||
- "docker.group=gitea"
|
|
||||||
depends_on:
|
|
||||||
- db
|
|
||||||
restart: unless-stopped
|
|
||||||
environment:
|
|
||||||
- USER_UID=1000
|
|
||||||
- USER_GID=1000
|
|
||||||
- DB_TYPE=mysql
|
|
||||||
- DB_TYPE=postgres
|
|
||||||
- DB_HOST=db:5432
|
|
||||||
- DB_NAME=${POSTGRES_DB}
|
|
||||||
- DB_USER=${POSTGRES_USER}
|
|
||||||
- DB_PASSWD=${POSTGRES_PASSWORD}
|
|
||||||
|
|
||||||
|
|
||||||
db:
|
|
||||||
image: postgres:13
|
|
||||||
restart: unless-stopped
|
|
||||||
environment:
|
|
||||||
- POSTGRES_USER=${POSTGRES_USER}
|
|
||||||
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
|
|
||||||
- POSTGRES_DB=${POSTGRES_DB}
|
|
||||||
networks:
|
|
||||||
- gitea
|
|
||||||
volumes:
|
|
||||||
- ${VOLUMES_PATH}/gitea_db:/var/lib/postgresql/data
|
|
||||||
labels:
|
|
||||||
- "docker.group=gitea"
|
|
||||||
|
|
||||||
|
|
||||||
networks:
|
|
||||||
gitea:
|
|
||||||
web:
|
|
||||||
external: true
|
|
||||||
|
|
10
nextcloud/Dockerfile
Normal file
10
nextcloud/Dockerfile
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
ARG NC_MAIN_VERSION
|
||||||
|
FROM nextcloud:$NC_MAIN_VERSION-fpm
|
||||||
|
|
||||||
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||||
|
imagemagick \
|
||||||
|
smbclient \
|
||||||
|
default-jre-headless libreoffice \
|
||||||
|
ffmpeg \
|
||||||
|
ocrmypdf tesseract-ocr-deu \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
|
@ -27,7 +27,11 @@ services:
|
||||||
|
|
||||||
|
|
||||||
app:
|
app:
|
||||||
image: nextcloud:${NC_MAIN_VERSION}-fpm
|
image: nextcloud:${NC_MAIN_VERSION}-fpm-own
|
||||||
|
build:
|
||||||
|
context: ./
|
||||||
|
args:
|
||||||
|
- NC_MAIN_VERSION=${NC_MAIN_VERSION}
|
||||||
volumes:
|
volumes:
|
||||||
- ${VOLUMES_PATH}/nextcloud_html:/var/www/html
|
- ${VOLUMES_PATH}/nextcloud_html:/var/www/html
|
||||||
- ${VOLUMES_PATH}/nextcloud_data:/var/www/html/data
|
- ${VOLUMES_PATH}/nextcloud_data:/var/www/html/data
|
||||||
|
@ -50,7 +54,11 @@ services:
|
||||||
|
|
||||||
|
|
||||||
cron:
|
cron:
|
||||||
image: nextcloud:${NC_MAIN_VERSION}
|
image: nextcloud:${NC_MAIN_VERSION}-fpm-own
|
||||||
|
build:
|
||||||
|
context: ./
|
||||||
|
args:
|
||||||
|
- NC_MAIN_VERSION=${NC_MAIN_VERSION}
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
networks:
|
networks:
|
||||||
- nextcloud
|
- nextcloud
|
||||||
|
|
40
push/docker-compose.yaml
Normal file
40
push/docker-compose.yaml
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
services:
|
||||||
|
|
||||||
|
ntfy:
|
||||||
|
image: binwiederhier/ntfy:${NTFY_VERSION}
|
||||||
|
restart: unless-stopped
|
||||||
|
networks:
|
||||||
|
- web
|
||||||
|
command:
|
||||||
|
- serve
|
||||||
|
environment:
|
||||||
|
- TZ=UTC
|
||||||
|
- NTFY_BASE_URL=https://push.florianzirker.de
|
||||||
|
- NTFY_LISTEN_HTTP=0.0.0.0:80
|
||||||
|
- NTFY_CACHE_FILE=/var/cache/ntfy/cache.db
|
||||||
|
- NTFY_CACHE_DURATION=24h
|
||||||
|
- NTFY_BEHIND_PROXY=true
|
||||||
|
- NTFY_ATTACHMENT_CACHE_DIR=/var/cache/ntfy/attachments
|
||||||
|
- NTFY_KEEPALIVE_INTERVAL=45s
|
||||||
|
- NTFY_AUTH_DEFAULT_ACCESS=deny-all
|
||||||
|
- NTFY_AUTH_FILE=/var/lib/ntfy/user.db
|
||||||
|
- NTFY_ENABLE_SIGNUP=false
|
||||||
|
- NTFY_ENABLE_LOGIN=true
|
||||||
|
- NTFY_ENABLE_RESERVATIONS=false
|
||||||
|
volumes:
|
||||||
|
- ${VOLUMES_PATH}/push/ntfy/cache/:/var/cache/ntfy
|
||||||
|
- ${VOLUMES_PATH}/push/ntfy/varlib/:/var/lib/ntfy/
|
||||||
|
labels:
|
||||||
|
- "traefik.enable=true"
|
||||||
|
- "traefik.http.routers.push.rule=Host(`push.${DOMAIN}`)"
|
||||||
|
- "traefik.http.routers.push.entrypoints=websecure"
|
||||||
|
- "traefik.http.routers.push.tls.certresolver=netcup"
|
||||||
|
- "traefik.http.routers.push.tls.options=intermediate@file"
|
||||||
|
- "traefik.http.services.push.loadbalancer.server.port=80"
|
||||||
|
- "docker.group=push"
|
||||||
|
|
||||||
|
networks:
|
||||||
|
push:
|
||||||
|
web:
|
||||||
|
external: true
|
||||||
|
|
|
@ -12,3 +12,4 @@ up gitea;
|
||||||
up wallabag;
|
up wallabag;
|
||||||
up www;
|
up www;
|
||||||
up firefoxsync;
|
up firefoxsync;
|
||||||
|
up push;
|
||||||
|
|
Loading…
Reference in a new issue