Add watchtower, fixes and prepare for new caddy handling
This commit is contained in:
parent
a594e5d083
commit
29f31783f5
14 changed files with 213 additions and 42 deletions
|
@ -4,6 +4,8 @@ services:
|
||||||
server:
|
server:
|
||||||
image: gitea/gitea:1.17
|
image: gitea/gitea:1.17
|
||||||
container_name: gitea
|
container_name: gitea
|
||||||
|
labels:
|
||||||
|
com.centurylinklabs.watchtower.enable: true
|
||||||
env_file:
|
env_file:
|
||||||
- .env
|
- .env
|
||||||
- .secret.env
|
- .secret.env
|
||||||
|
@ -16,6 +18,14 @@ services:
|
||||||
- "3000:3000"
|
- "3000:3000"
|
||||||
- "3022:22"
|
- "3022:22"
|
||||||
- "22:22"
|
- "22:22"
|
||||||
|
networks:
|
||||||
|
services:
|
||||||
|
aliases:
|
||||||
|
- gitea
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
data:
|
data:
|
||||||
|
|
||||||
|
networks:
|
||||||
|
services:
|
||||||
|
external: true
|
||||||
|
|
|
@ -2,8 +2,10 @@ version: '3'
|
||||||
|
|
||||||
services:
|
services:
|
||||||
grafana:
|
grafana:
|
||||||
image: grafana/grafana
|
image: grafana/grafana:latest
|
||||||
restart: always
|
restart: always
|
||||||
|
labels:
|
||||||
|
com.centurylinklabs.watchtower.enable: true
|
||||||
env_file:
|
env_file:
|
||||||
- .env
|
- .env
|
||||||
- .secret.env
|
- .secret.env
|
||||||
|
@ -12,5 +14,14 @@ services:
|
||||||
user: "104"
|
user: "104"
|
||||||
ports:
|
ports:
|
||||||
- 3001:3000/tcp
|
- 3001:3000/tcp
|
||||||
|
networks:
|
||||||
|
services:
|
||||||
|
aliases:
|
||||||
|
- grafana
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
grafana-data:
|
grafana-data:
|
||||||
|
|
||||||
|
networks:
|
||||||
|
services:
|
||||||
|
external: true
|
||||||
|
|
|
@ -1,14 +0,0 @@
|
||||||
version: '3'
|
|
||||||
services:
|
|
||||||
app:
|
|
||||||
image: 'jc21/nginx-proxy-manager:latest'
|
|
||||||
restart: unless-stopped
|
|
||||||
ports:
|
|
||||||
- '80:80'
|
|
||||||
- '443:443'
|
|
||||||
- '81:81'
|
|
||||||
volumes:
|
|
||||||
- data:/data
|
|
||||||
- /etc/letsencrypt:/etc/letsencrypt
|
|
||||||
volumes:
|
|
||||||
data:
|
|
|
@ -5,20 +5,31 @@ services:
|
||||||
synapse:
|
synapse:
|
||||||
image: docker.io/matrixdotorg/synapse:latest
|
image: docker.io/matrixdotorg/synapse:latest
|
||||||
restart: always
|
restart: always
|
||||||
|
labels:
|
||||||
|
com.centurylinklabs.watchtower.enable: true
|
||||||
environment:
|
environment:
|
||||||
- SYNAPSE_CONFIG_PATH=/data/
|
- SYNAPSE_CONFIG_PATH=/data/
|
||||||
volumes:
|
volumes:
|
||||||
- ./data:/data
|
- ./data:/data
|
||||||
- media_store:/media_store
|
- media_store:/media_store
|
||||||
ports:
|
networks:
|
||||||
- 8008:8008/tcp
|
services:
|
||||||
|
aliases:
|
||||||
|
- synapse
|
||||||
|
|
||||||
synapse-admin:
|
synapse-admin:
|
||||||
image: awesometechnologies/synapse-admin:latest
|
image: awesometechnologies/synapse-admin:latest
|
||||||
restart: always
|
restart: always
|
||||||
ports:
|
labels:
|
||||||
- "8009:80"
|
com.centurylinklabs.watchtower.enable: true
|
||||||
restart: always
|
networks:
|
||||||
|
services:
|
||||||
|
aliases:
|
||||||
|
- synapse-admin
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
media_store:
|
media_store:
|
||||||
|
|
||||||
|
networks:
|
||||||
|
services:
|
||||||
|
external: true
|
||||||
|
|
|
@ -3,6 +3,8 @@ services:
|
||||||
web_recipes:
|
web_recipes:
|
||||||
image: vabene1111/recipes
|
image: vabene1111/recipes
|
||||||
restart: always
|
restart: always
|
||||||
|
labels:
|
||||||
|
com.centurylinklabs.watchtower.enable: true
|
||||||
env_file:
|
env_file:
|
||||||
- .env
|
- .env
|
||||||
- .secret.env
|
- .secret.env
|
||||||
|
@ -10,12 +12,14 @@ services:
|
||||||
- staticfiles:/opt/recipes/staticfiles
|
- staticfiles:/opt/recipes/staticfiles
|
||||||
- nginx_config:/opt/recipes/nginx/conf.d
|
- nginx_config:/opt/recipes/nginx/conf.d
|
||||||
- mediafiles:/opt/recipes/mediafiles
|
- mediafiles:/opt/recipes/mediafiles
|
||||||
|
networks:
|
||||||
|
tandoor:
|
||||||
|
|
||||||
nginx_recipes:
|
nginx_recipes:
|
||||||
image: nginx:mainline-alpine
|
image: nginx:mainline-alpine
|
||||||
restart: always
|
restart: always
|
||||||
ports:
|
labels:
|
||||||
- 3017:80
|
com.centurylinklabs.watchtower.enable: true
|
||||||
env_file:
|
env_file:
|
||||||
- .env
|
- .env
|
||||||
- .secret.env
|
- .secret.env
|
||||||
|
@ -25,8 +29,18 @@ services:
|
||||||
- nginx_config:/etc/nginx/conf.d:ro
|
- nginx_config:/etc/nginx/conf.d:ro
|
||||||
- staticfiles:/static
|
- staticfiles:/static
|
||||||
- mediafiles:/media
|
- mediafiles:/media
|
||||||
|
networks:
|
||||||
|
tandoor:
|
||||||
|
services:
|
||||||
|
aliases:
|
||||||
|
- tandoor
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
nginx_config:
|
nginx_config:
|
||||||
staticfiles:
|
staticfiles:
|
||||||
mediafiles:
|
mediafiles:
|
||||||
|
|
||||||
|
networks:
|
||||||
|
tandoor:
|
||||||
|
services:
|
||||||
|
external: true
|
||||||
|
|
|
@ -13,5 +13,3 @@ TTRSS_SELF_URL_PATH=https://rss.serguzim.me/tt-rss/
|
||||||
# TTRSS_SESSION_COOKIE_LIFETIME=2592000
|
# TTRSS_SESSION_COOKIE_LIFETIME=2592000
|
||||||
# TTRSS_FORCE_ARTICLE_PURGE=30
|
# TTRSS_FORCE_ARTICLE_PURGE=30
|
||||||
# etc, etc.
|
# etc, etc.
|
||||||
|
|
||||||
HTTP_PORT=8280
|
|
||||||
|
|
|
@ -4,15 +4,23 @@ services:
|
||||||
app:
|
app:
|
||||||
image: cthulhoo/ttrss-fpm-pgsql-static
|
image: cthulhoo/ttrss-fpm-pgsql-static
|
||||||
restart: always
|
restart: always
|
||||||
|
labels:
|
||||||
|
com.centurylinklabs.watchtower.enable: true
|
||||||
env_file:
|
env_file:
|
||||||
- .env
|
- .env
|
||||||
- .secret.env
|
- .secret.env
|
||||||
volumes:
|
volumes:
|
||||||
- app:/var/www/html
|
- app:/var/www/html
|
||||||
|
networks:
|
||||||
|
tt-rss:
|
||||||
|
aliases:
|
||||||
|
- tt-rss-app
|
||||||
|
|
||||||
updater:
|
updater:
|
||||||
image: cthulhoo/ttrss-fpm-pgsql-static
|
image: cthulhoo/ttrss-fpm-pgsql-static
|
||||||
restart: always
|
restart: always
|
||||||
|
labels:
|
||||||
|
com.centurylinklabs.watchtower.enable: true
|
||||||
env_file:
|
env_file:
|
||||||
- .env
|
- .env
|
||||||
- .secret.env
|
- .secret.env
|
||||||
|
@ -21,16 +29,29 @@ services:
|
||||||
depends_on:
|
depends_on:
|
||||||
- app
|
- app
|
||||||
command: /opt/tt-rss/updater.sh
|
command: /opt/tt-rss/updater.sh
|
||||||
|
networks:
|
||||||
|
tt-rss:
|
||||||
|
|
||||||
web-nginx:
|
web-nginx:
|
||||||
image: cthulhoo/ttrss-web-nginx
|
image: cthulhoo/ttrss-web-nginx
|
||||||
restart: always
|
restart: always
|
||||||
ports:
|
labels:
|
||||||
- ${HTTP_PORT}:80
|
com.centurylinklabs.watchtower.enable: true
|
||||||
volumes:
|
volumes:
|
||||||
- app:/var/www/html:ro
|
- app:/var/www/html:ro
|
||||||
|
- ./nginx.conf:/etc/nginx/nginx.conf
|
||||||
depends_on:
|
depends_on:
|
||||||
- app
|
- app
|
||||||
|
networks:
|
||||||
|
tt-rss:
|
||||||
|
services:
|
||||||
|
aliases:
|
||||||
|
- tt-rss
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
app:
|
app:
|
||||||
|
|
||||||
|
networks:
|
||||||
|
tt-rss:
|
||||||
|
services:
|
||||||
|
external: true
|
||||||
|
|
61
tt-rss/nginx.conf
Normal file
61
tt-rss/nginx.conf
Normal file
|
@ -0,0 +1,61 @@
|
||||||
|
worker_processes auto;
|
||||||
|
pid /var/run/nginx.pid;
|
||||||
|
|
||||||
|
events {
|
||||||
|
worker_connections 1024;
|
||||||
|
}
|
||||||
|
|
||||||
|
http {
|
||||||
|
include /etc/nginx/mime.types;
|
||||||
|
default_type application/octet-stream;
|
||||||
|
|
||||||
|
access_log /dev/stdout;
|
||||||
|
error_log /dev/stderr warn;
|
||||||
|
|
||||||
|
sendfile on;
|
||||||
|
|
||||||
|
index index.php;
|
||||||
|
|
||||||
|
upstream app {
|
||||||
|
server tt-rss-app:9000;
|
||||||
|
}
|
||||||
|
|
||||||
|
server {
|
||||||
|
listen 80;
|
||||||
|
listen [::]:80;
|
||||||
|
|
||||||
|
root /var/www/html;
|
||||||
|
|
||||||
|
location /tt-rss/cache {
|
||||||
|
aio threads;
|
||||||
|
internal;
|
||||||
|
}
|
||||||
|
|
||||||
|
location /tt-rss/backups {
|
||||||
|
internal;
|
||||||
|
}
|
||||||
|
|
||||||
|
location ~ \.php$ {
|
||||||
|
# regex to split $uri to $fastcgi_script_name and $fastcgi_path
|
||||||
|
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
|
||||||
|
|
||||||
|
# Check that the PHP script exists before passing it
|
||||||
|
try_files $fastcgi_script_name =404;
|
||||||
|
|
||||||
|
# Bypass the fact that try_files resets $fastcgi_path_info
|
||||||
|
# see: http://trac.nginx.org/nginx/ticket/321
|
||||||
|
set $path_info $fastcgi_path_info;
|
||||||
|
fastcgi_param PATH_INFO $path_info;
|
||||||
|
|
||||||
|
fastcgi_index index.php;
|
||||||
|
include fastcgi.conf;
|
||||||
|
|
||||||
|
fastcgi_pass app;
|
||||||
|
}
|
||||||
|
|
||||||
|
location / {
|
||||||
|
try_files $uri $uri/ =404;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,10 +1,18 @@
|
||||||
version: '3'
|
version: '3'
|
||||||
services:
|
services:
|
||||||
umami:
|
app:
|
||||||
image: ghcr.io/mikecao/umami:postgresql-latest
|
image: docker.umami.is/umami-software/umami:postgresql-latest
|
||||||
ports:
|
restart: always
|
||||||
- "3013:3000"
|
labels:
|
||||||
|
com.centurylinklabs.watchtower.enable: true
|
||||||
env_file:
|
env_file:
|
||||||
- .env
|
- .env
|
||||||
- .secret.env
|
- .secret.env
|
||||||
restart: always
|
networks:
|
||||||
|
services:
|
||||||
|
aliases:
|
||||||
|
- umami
|
||||||
|
|
||||||
|
networks:
|
||||||
|
services:
|
||||||
|
external: true
|
||||||
|
|
11
watchtower/.env
Normal file
11
watchtower/.env
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
WATCHTOWER_LABEL_ENABLE=true
|
||||||
|
WATCHTOWER_CLEANUP=true
|
||||||
|
|
||||||
|
WATCHTOWER_NOTIFICATIONS=email
|
||||||
|
WATCHTOWER_NOTIFICATION_EMAIL_FROM=watchtower@serguzim.me
|
||||||
|
WATCHTOWER_NOTIFICATION_EMAIL_TO=tobias@msrg.cc
|
||||||
|
WATCHTOWER_NOTIFICATION_EMAIL_SERVER=mail.serguzim.me
|
||||||
|
WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PORT=587
|
||||||
|
WATCHTOWER_NOTIFICATION_EMAIL_SERVER_USER=watchtower@serguzim.me
|
||||||
|
WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PASSWORD=
|
||||||
|
WATCHTOWER_NOTIFICATION_EMAIL_DELAY=5
|
11
watchtower/docker-compose.yml
Normal file
11
watchtower/docker-compose.yml
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
version: "3"
|
||||||
|
|
||||||
|
services:
|
||||||
|
watchtower:
|
||||||
|
image: containrrr/watchtower
|
||||||
|
restart: always
|
||||||
|
env_file:
|
||||||
|
- .env
|
||||||
|
- .secret.env
|
||||||
|
volumes:
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
@ -2,21 +2,28 @@ services:
|
||||||
webdis:
|
webdis:
|
||||||
image: nicolas/webdis:latest
|
image: nicolas/webdis:latest
|
||||||
restart: always
|
restart: always
|
||||||
|
labels:
|
||||||
|
com.centurylinklabs.watchtower.enable: true
|
||||||
command: /usr/local/bin/webdis /config/webdis.json
|
command: /usr/local/bin/webdis /config/webdis.json
|
||||||
volumes:
|
volumes:
|
||||||
- ./webdis.json:/config/webdis.json
|
- ./webdis.json:/config/webdis.json
|
||||||
networks:
|
networks:
|
||||||
- shared
|
local-net:
|
||||||
|
services:
|
||||||
|
aliases:
|
||||||
|
- webdis
|
||||||
depends_on:
|
depends_on:
|
||||||
- redis
|
- redis
|
||||||
ports:
|
|
||||||
- "127.0.0.1:7379:7379"
|
|
||||||
|
|
||||||
redis:
|
redis:
|
||||||
image: redis:6.2.6
|
image: redis:6.2.6
|
||||||
restart: always
|
restart: always
|
||||||
|
labels:
|
||||||
|
com.centurylinklabs.watchtower.enable: true
|
||||||
networks:
|
networks:
|
||||||
- shared
|
local-net:
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
shared:
|
local-net:
|
||||||
|
services:
|
||||||
|
external: true
|
||||||
|
|
|
@ -1,11 +1,19 @@
|
||||||
version: '3'
|
version: '3'
|
||||||
|
|
||||||
services:
|
services:
|
||||||
wiki-js:
|
app:
|
||||||
image: requarks/wiki
|
image: requarks/wiki
|
||||||
restart: always
|
restart: always
|
||||||
|
labels:
|
||||||
|
com.centurylinklabs.watchtower.enable: true
|
||||||
env_file:
|
env_file:
|
||||||
- .env
|
- .env
|
||||||
- .secret.env
|
- .secret.env
|
||||||
ports:
|
networks:
|
||||||
- 3003:3000/tcp
|
services:
|
||||||
|
aliases:
|
||||||
|
- wiki-js
|
||||||
|
|
||||||
|
networks:
|
||||||
|
services:
|
||||||
|
external: true
|
||||||
|
|
|
@ -4,16 +4,23 @@ services:
|
||||||
woodpecker-server:
|
woodpecker-server:
|
||||||
image: woodpeckerci/woodpecker-server:latest
|
image: woodpeckerci/woodpecker-server:latest
|
||||||
restart: always
|
restart: always
|
||||||
|
labels:
|
||||||
|
com.centurylinklabs.watchtower.enable: true
|
||||||
env_file:
|
env_file:
|
||||||
- .env
|
- .env
|
||||||
- .secret.env
|
- .secret.env
|
||||||
ports:
|
networks:
|
||||||
- 3500:8000
|
local-net:
|
||||||
|
services:
|
||||||
|
aliases:
|
||||||
|
- woodpecker
|
||||||
|
|
||||||
woodpecker-agent:
|
woodpecker-agent:
|
||||||
image: woodpeckerci/woodpecker-agent:latest
|
image: woodpeckerci/woodpecker-agent:latest
|
||||||
command: agent
|
|
||||||
restart: always
|
restart: always
|
||||||
|
labels:
|
||||||
|
com.centurylinklabs.watchtower.enable: true
|
||||||
|
command: agent
|
||||||
env_file:
|
env_file:
|
||||||
- .env
|
- .env
|
||||||
- .secret.env
|
- .secret.env
|
||||||
|
@ -23,3 +30,10 @@ services:
|
||||||
- /var/run/docker.sock:/var/run/docker.sock
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
environment:
|
environment:
|
||||||
WOODPECKER_SERVER: "woodpecker-server:9000"
|
WOODPECKER_SERVER: "woodpecker-server:9000"
|
||||||
|
networks:
|
||||||
|
local-net:
|
||||||
|
|
||||||
|
networks:
|
||||||
|
local-net:
|
||||||
|
services:
|
||||||
|
external: true
|
||||||
|
|
Reference in a new issue