Move docker containers to new PVE container
This commit is contained in:
16
ansible/roles/pve_docker/files/calibre/docker-compose.yml
Normal file
16
ansible/roles/pve_docker/files/calibre/docker-compose.yml
Normal 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
|
14
ansible/roles/pve_docker/files/gotify/docker-compose.yml
Normal file
14
ansible/roles/pve_docker/files/gotify/docker-compose.yml
Normal 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
|
17
ansible/roles/pve_docker/files/librespeed/docker-compose.yml
Normal file
17
ansible/roles/pve_docker/files/librespeed/docker-compose.yml
Normal 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 }}
|
44
ansible/roles/pve_docker/files/nextcloud/config.php
Normal file
44
ansible/roles/pve_docker/files/nextcloud/config.php
Normal 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',
|
||||
);
|
60
ansible/roles/pve_docker/files/nextcloud/docker-compose.yml
Normal file
60
ansible/roles/pve_docker/files/nextcloud/docker-compose.yml
Normal 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
|
29
ansible/roles/pve_docker/files/quassel/docker-compose.yml
Normal file
29
ansible/roles/pve_docker/files/quassel/docker-compose.yml
Normal 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
|
34
ansible/roles/pve_docker/files/synapse/docker-compose.yml
Normal file
34
ansible/roles/pve_docker/files/synapse/docker-compose.yml
Normal 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
|
1650
ansible/roles/pve_docker/files/synapse/homeserver.yml
Normal file
1650
ansible/roles/pve_docker/files/synapse/homeserver.yml
Normal file
File diff suppressed because it is too large
Load Diff
82
ansible/roles/pve_docker/files/tt-rss/config.php
Normal file
82
ansible/roles/pve_docker/files/tt-rss/config.php
Normal 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);
|
32
ansible/roles/pve_docker/files/tt-rss/docker-compose.yml
Normal file
32
ansible/roles/pve_docker/files/tt-rss/docker-compose.yml
Normal 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
|
24
ansible/roles/pve_docker/files/wallabag/docker-compose.yml
Normal file
24
ansible/roles/pve_docker/files/wallabag/docker-compose.yml
Normal 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
|
10
ansible/roles/pve_docker/files/whoami/docker-compose.yml
Normal file
10
ansible/roles/pve_docker/files/whoami/docker-compose.yml
Normal 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
|
Reference in New Issue
Block a user