This commit is contained in:
Brodin 2024-06-23 12:21:53 -04:00
parent de787e3c76
commit 30128d505d
36 changed files with 2802 additions and 405 deletions

3
botc/.gitignore vendored
View File

@ -1,2 +1,3 @@
backup/* backup/*
wordpress/* wordpress/*
data/*

View File

@ -8,7 +8,7 @@ services:
MYSQL_PASSWORD: ${DBPASS} MYSQL_PASSWORD: ${DBPASS}
MYSQL_RANDOM_ROOT_PASSWORD: '1' MYSQL_RANDOM_ROOT_PASSWORD: '1'
volumes: volumes:
- db:/var/lib/mysql - ./db:/var/lib/mysql
wordpress: wordpress:
depends_on: depends_on:
- db - db
@ -29,7 +29,6 @@ services:
- ./wordpress:/var/www/html - ./wordpress:/var/www/html
- ./backup:/var/www/html/wp-content/updraft - ./backup:/var/www/html/wp-content/updraft
volumes: volumes:
wordpress:
db: db:
networks: networks:
default: default:

View File

@ -1,376 +0,0 @@
services:
nginx-proxy:
image: jwilder/nginx-proxy
ports:
- "80:80"
- "443:443"
volumes:
- /var/run/docker.sock:/tmp/docker.sock:ro
- ./nginx/certs:/etc/nginx/certs
- ./nginx/html:/usr/share/nginx/html
- ./nginx/vhost.d:/etc/nginx/vhost.d
- ./client_max_body_size.conf:/etc/nginx/conf.d/client_max_body_size.conf:ro
nginx-letsencrypt:
image: jrcs/letsencrypt-nginx-proxy-companion
container_name: nginx-letsencrypt
restart: always
volumes_from:
- nginx-proxy
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
environment:
- DEFAULT_EMAIL=${EMAIL}
redis:
image: redis:alpine
container_name: redis-dbcache
restart: unless-stopped
homarr:
container_name: homarr
image: ghcr.io/ajnart/homarr:latest
restart: unless-stopped
volumes:
- /var/run/docker.sock:/var/run/docker.sock # Optional, only if you want docker integration
- ${CONFIG_LOCATION}/homarr:/app/data/configs
- ${DATA_LOCATION}/homarr/icons:/app/public/icons
- ${DATA_LOCATION}/homarr:/data
environment:
- VIRTUAL_HOST=homarr.${DOMAIN}, ${DOMAIN}, www.${DOMAIN}
- LETSENCRYPT_HOST="homarr.${DOMAIN}, ${DOMAIN}, www.${DOMAIN}"
- LETSENCRYPT_EMAIL=${EMAIL}
expose:
- "7575"
ports:
- '7575:7575'
dashdot:
image: mauricenino/dashdot
container_name: dashdot
restart: unless-stopped
privileged: true
environment:
- VIRTUAL_HOST=dash.${DOMAIN}
- DASHDOT_ENABLE_CPU_TEMPS=true
- DASHDOT_FS_DEVICE_FILTER=sda,sdb,sdc,sdd,sde,sdf
- DASHDOT_FS_VIRTUAL_MOUNTS=tank/storage/media, psb29404@psb29404.seedbox.io:/files
expose:
- "3001"
ports:
- 3001:3001
volumes:
- /:/mnt/host:ro
plex:
image: plexinc/pms-docker:latest
container_name: plex
environment:
- PUID=${UID}
- PGID=${GID}
- TZ=${TZ}
- VIRTUAL_HOST=plex.${DOMAIN}
- VERSION=docker
- PLEX_CLAIM=${PLEX_CLAIM}
volumes:
- ${CONFIG_LOCATION}/plex:/config
- ${DATA_LOCATION}/TV:/tv
- ${DATA_LOCATION}/Movies:/movies
- ${DATA_LOCATION}/Music:/music
expose:
- "32400"
ports:
- 32400:32400
restart: unless-stopped
tautulli:
image: lscr.io/linuxserver/tautulli:latest
container_name: tautulli
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
- VIRTUAL_HOST=tautulli.${DOMAIN},plex-stats.${DOMAIN}
- LETSENCRYPT_HOST=tautulli.${DOMAIN}
- LETSENCRYPT_EMAIL=${EMAIL}
volumes:
- ${CONFIG_LOCATION}/tautulli:/config
ports:
- 8181:8181
restart: unless-stopped
radarr:
image: lscr.io/linuxserver/radarr:latest
container_name: radarr
environment:
- PUID=${UID}
- PGID=${GID}
- TZ=${TZ}
- VIRTUAL_HOST=radarr.${DOMAIN},radar.${DOMAIN}
- LETSENCRYPT_HOST=radarr.${DOMAIN},radar.${DOMAIN}
- LETSENCRYPT_EMAIL=${EMAIL}
volumes:
- ${CONFIG_LOCATION}/radarr:/config
- ${DATA_LOCATION}/Movies:/movies
- /media/seedbox:/downloads
expose:
- "7878"
ports:
- 7878:7878
restart: unless-stopped
sonarr:
image: lscr.io/linuxserver/sonarr:latest
container_name: sonarr
environment:
- PUID=${UID}
- PGID=${GID}
- TZ=${TZ}
- VIRTUAL_HOST=sonarr.${DOMAIN},sonar.${DOMAIN}
- LETSENCRYPT_HOST=sonarr.${DOMAIN},sonar.${DOMAIN}
- LETSENCRYPT_EMAIL=${EMAIL}
volumes:
- ${CONFIG_LOCATION}/sonarr:/config
- ${DATA_LOCATION}/TV:/tv
- /media/seedbox:/downloads
expose:
- "8989"
ports:
- 8989:8989
restart: unless-stopped
prowlarr:
image: lscr.io/linuxserver/prowlarr:latest
container_name: prowlarr
environment:
- PUID=${UID}
- PGID=${GID}
- TZ=${TZ}
- VIRTUAL_HOST=prowlarr.${DOMAIN}
- LETSENCRYPT_HOST=prowlarr.${DOMAIN}
- LETSENCRYPT_EMAIL=${EMAIL}
volumes:
- ${CONFIG_LOCATION}/prowlarr:/config
expose:
- "9696"
ports:
- 9696:9696
restart: unless-stopped
bazarr:
image: lscr.io/linuxserver/bazarr:latest
container_name: bazarr
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
- VIRTUAL_HOST=bazarr.${DOMAIN}
- LETSENCRYPT_HOST=bazarr.${DOMAIN}
- LETSENCRYPT_EMAIL=${EMAIL}
volumes:
- ${CONFIG_LOCATION}/bazarr:/config
- ${DATA_LOCATION}/Movies:/movies #optional
- ${DATA_LOCATION}/TV:/tv #optional
expose:
- "6767"
ports:
- 6767:6767
restart: unless-stopped
overseerr:
image: lscr.io/linuxserver/overseerr:latest
container_name: overseerr
environment:
- PUID=${UID}
- PGID=${GID}
- TZ=${TZ}
- VIRTUAL_HOST=overseerr.${DOMAIN},overseer.${DOMAIN}
- LETSENCRYPT_HOST=overseerr.${DOMAIN},overseer.${DOMAIN}
- LETSENCRYPT_EMAIL=${EMAIL}
volumes:
- ${CONFIG_LOCATION}/overseerr:/config
expose:
- "5055"
ports:
- 5055:5055
restart: unless-stopped
lidarr:
image: lscr.io/linuxserver/lidarr:latest
container_name: lidarr
environment:
- PUID=${UID}
- PGID=${GID}
- TZ=${TZ}
- VIRTUAL_HOST=lidarr.${DOMAIN},lidar.${DOMAIN}
- LETSENCRYPT_HOST=lidarr.${DOMAIN},lidar.${DOMAIN}
- LETSENCRYPT_EMAIL=${EMAIL}
volumes:
- ${CONFIG_LOCATION}/lidarr:/config
- ${DATA_LOCATION}/Music:/music
- /media/seedbox:/downloads
expose:
- "8686"
ports:
- 8686:8686
restart: unless-stopped
mylar3:
image: lscr.io/linuxserver/mylar3:latest
container_name: mylar3
environment:
- PUID=${UID}
- PGID=${GID}
- TZ=${TZ}
- VIRTUAL_HOST=mylar.${DOMAIN},mylar3.${DOMAIN}
- LETSENCRYPT_HOST=mylar.${DOMAIN},mylar3.${DOMAIN}
- LETSENCRYPT_EMAIL=${EMAIL}
volumes:
- ${CONFIG_LOCATION}/mylar3:/config
- ${DATA_LOCATION}/Comics:/comics
- /media/seedbox:/downloads
ports:
- 8090:8090
restart: unless-stopped
navidrome:
image: deluan/navidrome:latest
user: 1000:1000 # should be owner of volumes
ports:
- "4533:4533"
expose:
- "4533"
restart: unless-stopped
environment:
# Optional: put your config options customization here. Examples:
ND_SCANSCHEDULE: 1h
ND_LOGLEVEL: info
ND_SESSIONTIMEOUT: 24h
ND_BASEURL: ""
VIRTUAL_HOST: "navidrome.${DOMAIN}"
LETSENCRYPT_HOST: "navidrome.${DOMAIN}"
LETSENCRYPT_EMAIL: ${EMAIL}
volumes:
- "${DATA_LOCATION}:/data"
- "${DATA_LOCATION}/Music:/music:ro"
ubooquity:
image: lscr.io/linuxserver/ubooquity:latest
container_name: ubooquity
environment:
- PUID=${UID}
- PGID=${GID}
- TZ=${TZ}
- VIRTUAL_HOST=ubooquity.${DOMAIN}
- VIRTUAL_PORT=2202
# - MAXMEM= #optional
volumes:
- ${CONFIG_LOCATION}/ubooquity:/config
- ${DATA_LOCATION}/Books:/books
- ${DATA_LOCATION}/Comics:/comics
# - /path/to/raw/files:/files
expose:
- "2202"
- "2203"
ports:
- 2202:2202 #:2202/ubooquity
- 2203:2203 #:2203/ubooquity/admin
restart: unless-stopped
audiobookshelf:
image: ghcr.io/advplyr/audiobookshelf:latest
ports:
- 13378:80
volumes:
- ${CONFIG_LOCATION}/audiobookshelf:/config
- ${DATA_LOCATION}/Audiobooks:/audiobooks
# - </path/to/podcasts>:/podcasts
- ${DATA_LOCATION}/Audiobooks/metadata:/metadata
environment:
- TZ=${TZ}
- VIRTUAL_HOST=audiobookshelf.${DOMAIN}
readarr:
image: lscr.io/linuxserver/readarr:develop
container_name: readarr
environment:
- PUID=${UID}
- PGID=${GID}
- TZ=${TZ}
- VIRTUAL_HOST=readarr.${DOMAIN},readar.${DOMAIN}
- LETSENCRYPT_HOST=readarr.${DOMAIN},readar.${DOMAIN}
- LETSENCRYPT_EMAIL=${EMAIL}
volumes:
- ${CONFIG_LOCATION}/readarr:/config
- ${DATA_LOCATION}/Books:/books
- /media/seedbox:/downloads
expose:
- "8787"
ports:
- 8787:8787
restart: unless-stopped
readarraudio:
image: lscr.io/linuxserver/readarr:develop
container_name: readarraudio
environment:
- PUID=${UID}
- PGID=${GID}
- TZ=${TZ}
- VIRTUAL_HOST=readarraudio.${DOMAIN},readaraudio.${DOMAIN}
- LETSENCRYPT_HOST=readarraudio.${DOMAIN},readaraudio.${DOMAIN}
- LETSENCRYPT_EMAIL=${EMAIL}
volumes:
- ${CONFIG_LOCATION}/readarr-audio:/config
- ${DATA_LOCATION}/Audiobooks:/audiobooks
- /media/seedbox:/downloads
restart: unless-stopped
wordpress-botc:
depends_on:
- db
image: wordpress
restart: always
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_USER: root
WORDPRESS_DB_PASSWORD: ${DBPASS}
WORDPRESS_DB_NAME: clocktower
VIRTUAL_HOST: "botc.${DOMAIN}, *.phillybotc.com"
LETSENCRYPT_HOST: "botc.${DOMAIN}, *.phillybotc.com"
LETSENCRYPT_EMAIL: ${EMAIL}
volumes:
- wordpress-botc:/var/www/html
# wordpress-home:
# depends_on:
# - db
# image: wordpress
# restart: always
# environment:
# WORDPRESS_DB_HOST: db
# WORDPRESS_DB_USER: root
# WORDPRESS_DB_PASSWORD: ${DBPASS}
# WORDPRESS_DB_NAME: homepage
# VIRTUAL_HOST: "${DOMAIN}, www.${DOMAIN}"
# LETSENCRYPT_HOST: "www.brodin.rocks"
# LETSENCRYPT_EMAIL: "bjageman@gmail.com"
# volumes:
# - wordpress-home:/var/www/html
db:
image: mysql:latest
restart: always
environment:
MYSQL_ROOT_PASSWORD: ${DBPASS}
volumes:
- db:/var/lib/mysql
- ./docker/provision/mysql/init:/docker-entrypoint-initdb.d
#Nextcloud
nextcloud:
depends_on:
- db
image: lscr.io/linuxserver/nextcloud:latest
container_name: nextcloud
environment:
PUID: "1000"
PGID: "1000"
TZ: "${TZ}"
VIRTUAL_HOST: "nextcloud.${DOMAIN}"
MYSQL_HOST: db
MYSQL_DATABASE: nextcloud
MYSQL_USER: root
MYSQL_PASSWORD: ${DBPASS}
REDIS_HOST: redis
LETSENCRYPT_HOST: nextcloud.${DOMAIN}
LETSENCRYPT_EMAIL: ${EMAIL}
# LETSENCRYPT_TEST: true
volumes:
- ${CONFIG_LOCATION}/nextcloud:/config
- ${DATA_LOCATION}/Cloud/Nextcloud:/data
restart: unless-stopped
volumes:
# wordpress-home:
wordpress-botc:
db:

3
fusiondance/.env.example Normal file
View File

@ -0,0 +1,3 @@
DOMAIN=example.com
DBPASS=password
EMAIL=example@mail.com

2
fusiondance/.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
backup/*
wordpress/*

View File

@ -0,0 +1,37 @@
services:
db:
image: mysql:8.0
restart: always
environment:
MYSQL_DATABASE: fusiondance
MYSQL_USER: wordpress
MYSQL_PASSWORD: ${DBPASS}
MYSQL_RANDOM_ROOT_PASSWORD: '1'
volumes:
- db:/var/lib/mysql
wordpress:
depends_on:
- db
image: wordpress
restart: always
environment:
# PUID: ${UID}
# PGID: ${GID}
WORDPRESS_DB_HOST: fusiondance-db-1
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: ${DBPASS}
WORDPRESS_DB_NAME: fusiondance
VIRTUAL_HOST: "www.phillyfusiondance.com, phillyfusiondance.com"
LETSENCRYPT_HOST: "phillyfusiondance.com, www.phillyfusiondance.com"
LETSENCRYPT_EMAIL: ${EMAIL}
# LETSENCRYPT_TEST: true
volumes:
- ./wordpress:/var/www/html
- ./backup:/var/www/html/wp-content/updraft
volumes:
wordpress:
db:
networks:
default:
name: nginx-proxy
external: true

2
games/.gitignore vendored
View File

@ -1 +1 @@
data/* db/*

View File

@ -31,9 +31,7 @@ services:
POSTGRES_DB: gamevault POSTGRES_DB: gamevault
volumes: volumes:
# Mount the folder where your PostgreSQL database files should land # Mount the folder where your PostgreSQL database files should land
- db:/var/lib/postgresql/data - ./db:/var/lib/postgresql/data
volumes:
db:
networks: networks:
default: default:
name: nginx-proxy name: nginx-proxy

1
nextcloud/.gitignore vendored Normal file
View File

@ -0,0 +1 @@
data/*

View File

@ -0,0 +1,25 @@
# Section for Apache 2.4 to 2.6
<IfModule mod_authz_core.c>
Require all denied
</IfModule>
<IfModule mod_access_compat.c>
Order Allow,Deny
Deny from all
Satisfy All
</IfModule>
# Section for Apache 2.2
<IfModule !mod_authz_core.c>
<IfModule !mod_access_compat.c>
<IfModule mod_authz_host.c>
Order Allow,Deny
Deny from all
</IfModule>
Satisfy All
</IfModule>
</IfModule>
# Section for Apache 2.2 to 2.6
<IfModule mod_autoindex.c>
IndexIgnore *
</IfModule>

View File

@ -0,0 +1,4 @@
<?php
$CONFIG = array (
'htaccess.RewriteBase' => '/',
);

View File

@ -0,0 +1,4 @@
<?php
$CONFIG = array (
'memcache.local' => '\OC\Memcache\APCu',
);

View File

@ -0,0 +1,15 @@
<?php
$CONFIG = array (
'apps_paths' => array (
0 => array (
'path' => OC::$SERVERROOT.'/apps',
'url' => '/apps',
'writable' => false,
),
1 => array (
'path' => OC::$SERVERROOT.'/custom_apps',
'url' => '/custom_apps',
'writable' => true,
),
),
);

69
nextcloud/config_bak/config.php Executable file
View File

@ -0,0 +1,69 @@
<?php
$CONFIG = array (
'htaccess.RewriteBase' => '/',
'memcache.local' => '\\OC\\Memcache\\APCu',
'apps_paths' =>
array (
0 =>
array (
'path' => '/var/www/html/apps',
'url' => '/apps',
'writable' => false,
),
1 =>
array (
'path' => '/var/www/html/custom_apps',
'url' => '/custom_apps',
'writable' => true,
),
),
'memcache.distributed' => '\\OC\\Memcache\\Redis',
'memcache.locking' => '\\OC\\Memcache\\Redis',
'redis' =>
array (
'host' => 'redis',
'password' => '',
'port' => 6379,
),
'upgrade.disable-web' => true,
'instanceid' => 'ocj30zib09xz',
'passwordsalt' => 'stITL4J+mfSFbwH1Dau7jBxDTMSgi8',
'secret' => '4JhczCjrPiJy0PlFgbiUQxBR8kSJcaXBZE3KOuBkpdfe4c6/',
'trusted_domains' =>
array (
0 => 'nextcloud.brodin.rocks',
),
'datadirectory' => '/var/www/html/data',
'dbtype' => 'mysql',
'version' => '29.0.0.19',
'overwrite.cli.url' => 'https://nextcloud.brodin.rocks',
'overwriteprotocol' => 'https',
'ratelimit.protection.enabled' => false,
'auth.bruteforce.protection.enabled' => false,
'dbname' => 'nextcloud',
'dbhost' => 'db',
'dbport' => '',
'dbtableprefix' => 'oc_',
'mysql.utf8mb4' => true,
'dbuser' => 'nextcloud',
'dbpassword' => 'whiskey-wango-woxtrot',
'installed' => true,
'memories.db.triggers.fcu' => true,
'memories.exiftool' => '/var/www/html/custom_apps/memories/bin-ext/exiftool-amd64-glibc',
'memories.vod.path' => '/var/www/html/custom_apps/memories/bin-ext/go-vod-amd64',
'mail_from_address' => 'admin',
'mail_smtpmode' => 'smtp',
'mail_sendmailmode' => 'smtp',
'mail_domain' => 'brodin.rocks',
'mail_smtphost' => 'smtp.sendgrid.net',
'mail_smtpport' => '587',
'mail_smtpauth' => 1,
'mail_smtpname' => 'apikey',
'mail_smtppassword' => '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',
'enabledPreviewProviders' =>
array (
0 => 'OC\\Preview\\Image',
1 => 'OC\\Preview\\Movie',
),
'memories.vod.disable' => false,
);

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,17 @@
<?php
if (getenv('REDIS_HOST')) {
$CONFIG = array(
'memcache.distributed' => '\OC\Memcache\Redis',
'memcache.locking' => '\OC\Memcache\Redis',
'redis' => array(
'host' => getenv('REDIS_HOST'),
'password' => (string) getenv('REDIS_HOST_PASSWORD'),
),
);
if (getenv('REDIS_HOST_PORT') !== false) {
$CONFIG['redis']['port'] = (int) getenv('REDIS_HOST_PORT');
} elseif (getenv('REDIS_HOST')[0] != '/') {
$CONFIG['redis']['port'] = 6379;
}
}

View File

@ -0,0 +1,30 @@
<?php
$overwriteHost = getenv('OVERWRITEHOST');
if ($overwriteHost) {
$CONFIG['overwritehost'] = $overwriteHost;
}
$overwriteProtocol = getenv('OVERWRITEPROTOCOL');
if ($overwriteProtocol) {
$CONFIG['overwriteprotocol'] = $overwriteProtocol;
}
$overwriteCliUrl = getenv('OVERWRITECLIURL');
if ($overwriteCliUrl) {
$CONFIG['overwrite.cli.url'] = $overwriteCliUrl;
}
$overwriteWebRoot = getenv('OVERWRITEWEBROOT');
if ($overwriteWebRoot) {
$CONFIG['overwritewebroot'] = $overwriteWebRoot;
}
$overwriteCondAddr = getenv('OVERWRITECONDADDR');
if ($overwriteCondAddr) {
$CONFIG['overwritecondaddr'] = $overwriteCondAddr;
}
$trustedProxies = getenv('TRUSTED_PROXIES');
if ($trustedProxies) {
$CONFIG['trusted_proxies'] = array_filter(array_map('trim', explode(' ', $trustedProxies)));
}

View File

@ -0,0 +1,48 @@
<?php
if (getenv('OBJECTSTORE_S3_BUCKET')) {
$use_ssl = getenv('OBJECTSTORE_S3_SSL');
$use_path = getenv('OBJECTSTORE_S3_USEPATH_STYLE');
$use_legacyauth = getenv('OBJECTSTORE_S3_LEGACYAUTH');
$autocreate = getenv('OBJECTSTORE_S3_AUTOCREATE');
$CONFIG = array(
'objectstore' => array(
'class' => '\OC\Files\ObjectStore\S3',
'arguments' => array(
'bucket' => getenv('OBJECTSTORE_S3_BUCKET'),
'region' => getenv('OBJECTSTORE_S3_REGION') ?: '',
'hostname' => getenv('OBJECTSTORE_S3_HOST') ?: '',
'port' => getenv('OBJECTSTORE_S3_PORT') ?: '',
'storageClass' => getenv('OBJECTSTORE_S3_STORAGE_CLASS') ?: '',
'objectPrefix' => getenv("OBJECTSTORE_S3_OBJECT_PREFIX") ? getenv("OBJECTSTORE_S3_OBJECT_PREFIX") : "urn:oid:",
'autocreate' => (strtolower($autocreate) === 'false' || $autocreate == false) ? false : true,
'use_ssl' => (strtolower($use_ssl) === 'false' || $use_ssl == false) ? false : true,
// required for some non Amazon S3 implementations
'use_path_style' => $use_path == true && strtolower($use_path) !== 'false',
// required for older protocol versions
'legacy_auth' => $use_legacyauth == true && strtolower($use_legacyauth) !== 'false'
)
)
);
if (getenv('OBJECTSTORE_S3_KEY_FILE') && file_exists(getenv('OBJECTSTORE_S3_KEY_FILE'))) {
$CONFIG['objectstore']['arguments']['key'] = trim(file_get_contents(getenv('OBJECTSTORE_S3_KEY_FILE')));
} elseif (getenv('OBJECTSTORE_S3_KEY')) {
$CONFIG['objectstore']['arguments']['key'] = getenv('OBJECTSTORE_S3_KEY');
} else {
$CONFIG['objectstore']['arguments']['key'] = '';
}
if (getenv('OBJECTSTORE_S3_SECRET_FILE') && file_exists(getenv('OBJECTSTORE_S3_SECRET_FILE'))) {
$CONFIG['objectstore']['arguments']['secret'] = trim(file_get_contents(getenv('OBJECTSTORE_S3_SECRET_FILE')));
} elseif (getenv('OBJECTSTORE_S3_SECRET')) {
$CONFIG['objectstore']['arguments']['secret'] = getenv('OBJECTSTORE_S3_SECRET');
} else {
$CONFIG['objectstore']['arguments']['secret'] = '';
}
if (getenv('OBJECTSTORE_S3_SSE_C_KEY_FILE') && file_exists(getenv('OBJECTSTORE_S3_SSE_C_KEY_FILE'))) {
$CONFIG['objectstore']['arguments']['sse_c_key'] = trim(file_get_contents(getenv('OBJECTSTORE_S3_SSE_C_KEY_FILE')));
} elseif (getenv('OBJECTSTORE_S3_SSE_C_KEY')) {
$CONFIG['objectstore']['arguments']['sse_c_key'] = getenv('OBJECTSTORE_S3_SSE_C_KEY');
}
}

View File

@ -0,0 +1,22 @@
<?php
if (getenv('SMTP_HOST') && getenv('MAIL_FROM_ADDRESS') && getenv('MAIL_DOMAIN')) {
$CONFIG = array (
'mail_smtpmode' => 'smtp',
'mail_smtphost' => getenv('SMTP_HOST'),
'mail_smtpport' => getenv('SMTP_PORT') ?: (getenv('SMTP_SECURE') ? 465 : 25),
'mail_smtpsecure' => getenv('SMTP_SECURE') ?: '',
'mail_smtpauth' => getenv('SMTP_NAME') && (getenv('SMTP_PASSWORD') || (getenv('SMTP_PASSWORD_FILE') && file_exists(getenv('SMTP_PASSWORD_FILE')))),
'mail_smtpauthtype' => getenv('SMTP_AUTHTYPE') ?: 'LOGIN',
'mail_smtpname' => getenv('SMTP_NAME') ?: '',
'mail_from_address' => getenv('MAIL_FROM_ADDRESS'),
'mail_domain' => getenv('MAIL_DOMAIN'),
);
if (getenv('SMTP_PASSWORD_FILE') && file_exists(getenv('SMTP_PASSWORD_FILE'))) {
$CONFIG['mail_smtppassword'] = trim(file_get_contents(getenv('SMTP_PASSWORD_FILE')));
} elseif (getenv('SMTP_PASSWORD')) {
$CONFIG['mail_smtppassword'] = getenv('SMTP_PASSWORD');
} else {
$CONFIG['mail_smtppassword'] = '';
}
}

View File

@ -0,0 +1,31 @@
<?php
if (getenv('OBJECTSTORE_SWIFT_URL')) {
$autocreate = getenv('OBJECTSTORE_SWIFT_AUTOCREATE');
$CONFIG = array(
'objectstore' => [
'class' => 'OC\\Files\\ObjectStore\\Swift',
'arguments' => [
'autocreate' => $autocreate == true && strtolower($autocreate) !== 'false',
'user' => [
'name' => getenv('OBJECTSTORE_SWIFT_USER_NAME'),
'password' => getenv('OBJECTSTORE_SWIFT_USER_PASSWORD'),
'domain' => [
'name' => (getenv('OBJECTSTORE_SWIFT_USER_DOMAIN')) ?: 'Default',
],
],
'scope' => [
'project' => [
'name' => getenv('OBJECTSTORE_SWIFT_PROJECT_NAME'),
'domain' => [
'name' => (getenv('OBJECTSTORE_SWIFT_PROJECT_DOMAIN')) ?: 'Default',
],
],
],
'serviceName' => (getenv('OBJECTSTORE_SWIFT_SERVICE_NAME')) ?: 'swift',
'region' => getenv('OBJECTSTORE_SWIFT_REGION'),
'url' => getenv('OBJECTSTORE_SWIFT_URL'),
'bucket' => getenv('OBJECTSTORE_SWIFT_CONTAINER_NAME'),
]
]
);
}

View File

@ -0,0 +1,4 @@
<?php
$CONFIG = array (
'upgrade.disable-web' => true,
);

View File

@ -10,7 +10,7 @@ services:
command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW --log_bin_trust_function_creators=true command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW --log_bin_trust_function_creators=true
# user: ${UID}:${GID} # user: ${UID}:${GID}
volumes: volumes:
- db:/var/lib/mysql - ${DB_LOCATION}:/var/lib/mysql
environment: environment:
- MYSQL_ROOT_PASSWORD=ROOT_ACCESS_PASSWORD - MYSQL_ROOT_PASSWORD=ROOT_ACCESS_PASSWORD
- MYSQL_PASSWORD=${DBPASS} - MYSQL_PASSWORD=${DBPASS}
@ -39,8 +39,6 @@ services:
- ${CONFIG_LOCATION}:/var/www/html/config:rw - ${CONFIG_LOCATION}:/var/www/html/config:rw
- ${DATA_LOCATION}/Cloud/Nextcloud:/var/www/html/data:rw - ${DATA_LOCATION}/Cloud/Nextcloud:/var/www/html/data:rw
restart: unless-stopped restart: unless-stopped
volumes:
db:
networks: networks:
default: default:
name: nginx-proxy name: nginx-proxy

View File

@ -1,9 +0,0 @@
# create databases
CREATE DATABASE IF NOT EXISTS `nextcloud`;
CREATE DATABASE IF NOT EXISTS `homepage`;
CREATE DATABASE IF NOT EXISTS `clocktower`;
-- # create root user and grant rights
-- CREATE USER 'brodin'@'%' IDENTIFIED BY 'whiskey-wango-woxtrot';
-- GRANT ALL PRIVILEGES ON *.* TO 'brodin'@'%' WITH GRANT OPTION;
-- FLUSH PRIVILEGES;

1
nextcloud/update.sh Normal file
View File

@ -0,0 +1 @@
docker exec --user root nextcloud bash -c "apt update && apt -y install libmagickcore-6.q16-6-extra smbclient iputils-ping nmap mc btop net-tools ncdu java-common default-jre graphicsmagick ffmpeg ghostscript"

View File

@ -0,0 +1 @@
0nvqKzz1EohOVB6bht1uUCmvcSSi7dBiG8jmzVdNjy4.-pySGwa5vVkj_cOXnCDnd-dGPAV2kVXglGIYiUrWeT8

View File

@ -1,13 +1,3 @@
## Start of configuration add by letsencrypt container
location ^~ /.well-known/acme-challenge/ {
auth_basic off;
auth_request off;
allow all;
root /usr/share/nginx/html;
try_files $uri =404;
break;
}
## End of configuration add by letsencrypt container
location /tt-rss/ { location /tt-rss/ {
proxy_set_header Host $host; proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Real-IP $remote_addr;

View File

@ -28,6 +28,8 @@ services:
- TZ=${TZ} - TZ=${TZ}
- VIRTUAL_HOST=ubooquity.${DOMAIN} - VIRTUAL_HOST=ubooquity.${DOMAIN}
- VIRTUAL_PORT=2202 - VIRTUAL_PORT=2202
- LETSENCRYPT_HOST=ubooquity.${DOMAIN}
- LETSENCRYPT_EMAIL= ${EMAIL}
# - MAXMEM= #optional # - MAXMEM= #optional
volumes: volumes:
- ${CONFIG_LOCATION}/ubooquity:/config - ${CONFIG_LOCATION}/ubooquity:/config
@ -53,6 +55,8 @@ services:
environment: environment:
- TZ=${TZ} - TZ=${TZ}
- VIRTUAL_HOST=audiobookshelf.${DOMAIN} - VIRTUAL_HOST=audiobookshelf.${DOMAIN}
- LETSENCRYPT_HOST=audiobookshelf.${DOMAIN}
- LETSENCRYPT_EMAIL= ${EMAIL}
networks: networks:
default: default:
name: nginx-proxy name: nginx-proxy

19
run_all.sh Executable file
View File

@ -0,0 +1,19 @@
#!/bin/bash
cd arr
sudo docker compose up -d
cd ../botc
sudo docker compose up -d
cd ../dashboard
sudo docker compose up -d
cd ../fusiondance
sudo docker compose up -d
cd ../games
sudo docker compose up -d
cd ../nextcloud
sudo docker compose up -d
cd ../plex
sudo docker compose up -d
cd ../readers
sudo docker compose up -d
cd ../rss-reader

BIN
vnc/data/db_v2.sqlite3 Normal file

Binary file not shown.

BIN
vnc/data/db_v2.sqlite3-shm Normal file

Binary file not shown.

BIN
vnc/data/db_v2.sqlite3-wal Normal file

Binary file not shown.

1
vnc/data/id_ed25519 Normal file
View File

@ -0,0 +1 @@
6KaueJVZIh+2r1mEATATVzwrd0R3wd2mZPbsXypgoVNyoh8ft6M8AQ/HV5TfQbym6EpO0sGTb7sKJsiz4Do2KA==

1
vnc/data/id_ed25519.pub Normal file
View File

@ -0,0 +1 @@
cqIfH7ejPAEPx1eU30G8puhKTtLBk2+7CibIs+A6Nig=

View File

@ -0,0 +1 @@
XYDXfHz/zm3QtKeHQkUyb4Ka5KMP6JRnhVs1bqTFlHR900zna7bzOlxrZhbaKPeeDOCK7EeYM+CiITg8B0qAEw==

View File

@ -0,0 +1 @@
fdNM52u28zpca2YW2ij3ngzgiuxHmDPgoiE4PAdKgBM=

21
vnc/docker-compose.yml Normal file
View File

@ -0,0 +1,21 @@
services:
hbbs:
container_name: hbbs
image: rustdesk/rustdesk-server:latest
command: hbbs
volumes:
- ./data:/root
network_mode: "host"
depends_on:
- hbbr
restart: unless-stopped
hbbr:
container_name: hbbr
image: rustdesk/rustdesk-server:latest
command: hbbr
volumes:
- ./data:/root
network_mode: "host"
restart: unless-stopped