Move docker containers to new PVE container

This commit is contained in:
Jake Howard
2021-01-09 18:02:17 +00:00
parent a35f2f91ff
commit fef7f2c2b4
35 changed files with 30 additions and 31 deletions

View File

@ -0,0 +1,16 @@
version: "2.3"
services:
calibre:
image: linuxserver/calibre-web:latest
environment:
- PUID={{ docker_user.id }}
- PGID={{ docker_user.id }}
- TZ=Europe/London
restart: unless-stopped
volumes:
- "./calibre:/config"
- /mnt/tank/files/ebooks:/books:ro
labels:
- traefik.enable=true
- traefik.http.routers.calibre.rule=Host(`calibre.jakehoward.tech`)
- traefik.http.routers.calibre.tls.certresolver=le

View File

@ -0,0 +1,14 @@
version: "2.3"
services:
gotify:
image: gotify/server:2.0.19
environment:
- TZ=Europe/London
volumes:
- ./data:/app/data
restart: unless-stopped
labels:
- traefik.enable=true
- traefik.http.routers.gotify.rule=Host(`gotify.jakehoward.tech`)
- traefik.http.routers.gotify.tls.certresolver=le
- traefik.http.routers.gotify.middlewares=compress@file

View File

@ -0,0 +1,17 @@
version: "2.3"
services:
librespeed:
image: linuxserver/librespeed:latest
environment:
- PUID={{ docker_user.id }}
- PGID={{ docker_user.id }}
- TZ=Europe/London
ports:
- 33377:80
restart: unless-stopped
labels:
- traefik.enable=true
- traefik.http.routers.librespeed.rule=Host(`speed.jakehoward.tech`)
- traefik.http.routers.librespeed.tls.certresolver=le
- traefik.http.routers.librespeed.middlewares=librespeed-auth@docker
- traefik.http.middlewares.librespeed-auth.basicauth.users={{ librespeed_basicauth }}

View File

@ -0,0 +1,44 @@
<?php
$CONFIG = array (
'memcache.local' => '\\OC\\Memcache\\APCu',
'memcache.locking' => '\\OC\\Memcache\\Redis',
'memcache.distributed' => '\\OC\\Memcache\\Redis',
'filelocking.enabled' => true,
'redis' =>
array (
'host' => 'redis',
'port' => 6379,
'timeout' => 0.0,
),
'datadirectory' => '/data',
'instanceid' => '{{ nextcloud.instance_id }}',
'passwordsalt' => '{{ nextcloud.passwordsalt }}',
'secret' => '{{ nextcloud.secret }}',
'trusted_domains' =>
array (
0 => 'intersect.jakehoward.tech',
),
'dbtype' => 'mysql',
'version' => '20.0.3.2',
'overwrite.cli.url' => 'https://intersect.jakehoward.tech',
'dbname' => 'nextcloud',
'dbhost' => 'mariadb',
'dbport' => '3306',
'dbtableprefix' => 'oc_',
'mysql.utf8mb4' => true,
'dbuser' => 'nextcloud',
'dbpassword' => 'nextcloud',
'installed' => true,
'trusted_proxies' =>
array (
0 => '172.17.0.1',
),
'maintenance' => false,
'theme' => '',
'loglevel' => 2,
'preview_max_x' => '2048',
'preview_max_y' => '2048',
'jpeg_quality' => '60',
'has_rebuilt_cache' => true,
'logfile' => '/config/log/nextcloud.log',
);

View File

@ -0,0 +1,60 @@
version: "2.3"
services:
nextcloud:
image: linuxserver/nextcloud:version-20.0.3
environment:
- PUID={{ docker_user.id }}
- PGID={{ docker_user.id }}
- TZ=Europe/London
- DOCKER_MODS=theorangeone/lsio-mod-more-processes:latest
volumes:
- "./nextcloud/apps:/config/www/nextcloud/apps"
- "./nextcloud/config.php:/config/www/nextcloud/config/config.php"
- /mnt/tank/files/nextcloud:/data
- /mnt/tank/files:/mnt/files
restart: unless-stopped
depends_on:
- mariadb
- redis
- collabora
tmpfs:
- /config/log
labels:
- traefik.enable=true
- traefik.http.routers.nextcloud.rule=Host(`intersect.jakehoward.tech`)
- traefik.http.routers.nextcloud.tls.certresolver=le
- traefik.http.services.nextcloud-nextcloud.loadbalancer.server.port=443
- traefik.http.services.nextcloud-nextcloud.loadbalancer.server.scheme=https
- traefik.http.middlewares.nextcloud-hsts.headers.stsseconds=15552000
- traefik.http.routers.nextcloud.middlewares=nextcloud-hsts@docker
mariadb:
image: mariadb:10.5
restart: unless-stopped
volumes:
- ./mariadb:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=nextcloud
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
- MYSQL_PASSWORD=nextcloud
redis:
image: redis:6-alpine
restart: unless-stopped
volumes:
- ./redis:/data
collabora:
image: collabora/code:latest
restart: unless-stopped
cap_add:
- MKNOD
environment:
- domain=intersect\\.jakehoward\\.tech
labels:
- traefik.enable=true
- traefik.http.routers.collabora.rule=Host(`collabora.jakehoward.tech`)
- traefik.http.routers.collabora.tls.certresolver=le
- traefik.http.services.collabora-nextcloud.loadbalancer.server.scheme=https

View File

@ -0,0 +1,29 @@
version: "2.3"
services:
quassel-core:
image: linuxserver/quassel-core:latest
environment:
- PUID={{ docker_user.id }}
- PGID={{ docker_user.id }}
- TZ=Europe/London
- DB_BACKEND=PostgreSQL
- DB_PGSQL_USERNAME=quassel
- DB_PGSQL_PASSWORD=quassel
- DB_PGSQL_HOSTNAME=db
- DB_PGSQL_PORT=5432
- AUTH_AUTHENTICATOR=Database
- RUN_OPTS=--config-from-environment
restart: unless-stopped
depends_on:
- db
ports:
- "4242:4242"
db:
image: postgres:12-alpine
restart: unless-stopped
environment:
- POSTGRES_USER=quassel
- POSTGRES_PASSWORD=quassel
volumes:
- /mnt/tank/dbs/postgres/quassel:/var/lib/postgresql/data

View File

@ -0,0 +1,34 @@
version: "2.3"
services:
synapse:
image: matrixdotorg/synapse:v1.24.0
restart: unless-stopped
environment:
- SYNAPSE_CONFIG_PATH=/etc/homeserver.yaml
- SYNAPSE_REPORT_STATS=yes
- UID={{ docker_user.id }}
- GID={{ docker_user.id }}
volumes:
- "{{ app_data_dir }}/synapse/homeserver.yaml:/etc/homeserver.yaml"
- "{{ app_data_dir }}/synapse:/data"
depends_on:
- db
expose:
- 8008
labels:
- traefik.enable=true
- traefik.http.routers.synapse.rule=Host(`matrix.jakehoward.tech`)
- traefik.http.routers.synapse.tls.certresolver=le
- traefik.http.routers.synapse.entrypoints=web-secure,matrix
db:
image: postgres:12-alpine
restart: unless-stopped
environment:
- POSTGRES_USER=synapse
- POSTGRES_PASSWORD=synapse
- POSTGRES_INITDB_ARGS=--encoding=UTF-8 --lc-collate=C --lc-ctype=C
volumes:
- /mnt/tank/dbs/postgres/synapse:/var/lib/postgresql/data

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,82 @@
<?php
// *******************************************
// *** Database configuration (important!) ***
// *******************************************
define('DB_TYPE', 'pgsql');
define('DB_HOST', 'db');
define('DB_USER', 'tt-rss');
define('DB_NAME', 'tt-rss');
define('DB_PASS', 'tt-rss');
define('DB_PORT', '5432');
define('MYSQL_CHARSET', 'UTF8');
// ***********************************
// *** Basic settings (important!) ***
// ***********************************
define('SELF_URL_PATH', 'https://tt-rss.jakehoward.tech/');
define('SINGLE_USER_MODE', false);
define('SIMPLE_UPDATE_MODE', false);
// *****************************
// *** Files and directories ***
// *****************************
define('PHP_EXECUTABLE', '/usr/bin/php');
define('LOCK_DIRECTORY', 'lock');
define('CACHE_DIR', 'cache');
define('ICONS_DIR', "feed-icons");
define('ICONS_URL', "feed-icons");
// **********************
// *** Authentication ***
// **********************
define('AUTH_AUTO_CREATE', true);
define('AUTH_AUTO_LOGIN', true);
// *********************
// *** Feed settings ***
// *********************
define('FORCE_ARTICLE_PURGE', 0);
// ****************************
// *** Sphinx search plugin ***
// ****************************
define('SPHINX_SERVER', 'localhost:9312');
define('SPHINX_INDEX', 'ttrss, delta');
// ***********************************
// *** Self-registrations by users ***
// ***********************************
define('ENABLE_REGISTRATION', false);
define('REG_NOTIFY_ADDRESS', 'user@your.domain.dom');
define('REG_MAX_USERS', 10);
// **********************************
// *** Cookies and login sessions ***
// **********************************
define('SESSION_COOKIE_LIFETIME', 864000);
// *********************************
// *** Email and digest settings ***
// *********************************
define('SMTP_FROM_NAME', 'Tiny Tiny RSS');
define('SMTP_FROM_ADDRESS', 'noreply@your.domain.dom');
define('DIGEST_SUBJECT', '[tt-rss] New headlines for last 24 hours');
// ************************
// *** General settings ***
// ************************
define('CHECK_FOR_UPDATES', false);
define('ENABLE_GZIP_OUTPUT', true);
define('PLUGINS', 'auth_internal, note');
define('LOG_DESTINATION', 'sql');
define('CONFIG_VERSION', 26);

View File

@ -0,0 +1,32 @@
version: "2.3"
services:
tt-rss:
image: lunik1/tt-rss:latest
environment:
- PUID={{ docker_user.id }}
- PGID={{ docker_user.id }}
- TZ=Europe/London
volumes:
- "./tt-rss/config.php:/config/config.php:ro"
- "./tt-rss/feed-icons:/config/feed-icons"
- ./plugins:/config/plugins.local
restart: unless-stopped
labels:
- traefik.enable=true
- traefik.http.routers.tt-rss.rule=Host(`tt-rss.jakehoward.tech`)
- traefik.http.routers.tt-rss.tls.certresolver=le
- traefik.http.routers.tt-rss.middlewares=compress@file
depends_on:
- db
tmpfs:
- /config/log
db:
image: postgres:12-alpine
restart: unless-stopped
volumes:
- ./postgres:/var/lib/postgresql/data
environment:
- POSTGRES_PASSWORD=tt-rss
- POSTGRES_USER=tt-rss

View File

@ -0,0 +1,24 @@
version: "2.3"
services:
wallabag:
image: wallabag/wallabag:2.4.0
restart: unless-stopped
environment:
- SYMFONY__ENV__SECRET={{ wallabag_secret }}
- SYMFONY__ENV__DOMAIN_NAME=https://wallabag.jakehoward.tech
volumes:
- "./wallabag/data:/var/www/wallabag/data"
- "./wallabag/images:/var/www/wallabag/images"
labels:
- traefik.enable=true
- traefik.http.routers.wallabag.rule=Host(`wallabag.jakehoward.tech`)
- traefik.http.routers.wallabag.tls.certresolver=le
depends_on:
- redis
redis:
image: redis:6-alpine
restart: unless-stopped
volumes:
- ./redis:/data

View File

@ -0,0 +1,10 @@
version: "2.3"
services:
whoami:
image: traefik/whoami:latest
restart: unless-stopped
labels:
- traefik.enable=true
- traefik.http.routers.whoami.rule=Host(`whoami.theorangeone.net`) || Host(`who.0rng.one`)
- traefik.http.routers.whoami.tls.certresolver=le