diff --git a/arr/docker-compose.yml b/arr/docker-compose.yml index 4ecf299..d179679 100644 --- a/arr/docker-compose.yml +++ b/arr/docker-compose.yml @@ -1,21 +1,4 @@ services: - freshrss: - image: lscr.io/linuxserver/freshrss:latest - container_name: freshrss - environment: - - PUID=${UID} - - PGID=${GID} - - TZ=${TZ} - - VIRTUAL_HOST=rss.${DOMAIN} - - LETSENCRYPT_HOST=rss.${DOMAIN} - - LETSENCRYPT_EMAIL=${EMAIL} - volumes: - - ${CONFIG_LOCATION}/freshrss:/config - expose: - - "8085" - ports: - - 8085:80 - restart: unless-stopped radarr: image: lscr.io/linuxserver/radarr:latest container_name: radarr diff --git a/arr/extensions/freshrss-comicsinfeed b/arr/extensions/freshrss-comicsinfeed new file mode 160000 index 0000000..bc46489 --- /dev/null +++ b/arr/extensions/freshrss-comicsinfeed @@ -0,0 +1 @@ +Subproject commit bc4648940633919d5a8b7d6713a074d2a197b0a3 diff --git a/wordpress/.env.example b/botc/.env.example similarity index 100% rename from wordpress/.env.example rename to botc/.env.example diff --git a/botc/.gitignore b/botc/.gitignore new file mode 100644 index 0000000..4f8f2b3 --- /dev/null +++ b/botc/.gitignore @@ -0,0 +1 @@ +backup/* diff --git a/wordpress/docker-compose.yml b/botc/docker-compose.yml similarity index 73% rename from wordpress/docker-compose.yml rename to botc/docker-compose.yml index 160b150..e9a0581 100644 --- a/wordpress/docker-compose.yml +++ b/botc/docker-compose.yml @@ -4,19 +4,21 @@ services: restart: always environment: MYSQL_DATABASE: clocktower - MYSQL_USER: root + MYSQL_USER: wordpress MYSQL_PASSWORD: ${DBPASS} MYSQL_RANDOM_ROOT_PASSWORD: '1' volumes: - db:/var/lib/mysql - wordpress-botc: + wordpress: depends_on: - db image: wordpress restart: always environment: - WORDPRESS_DB_HOST: db - WORDPRESS_DB_USER: root + # PUID: ${UID} + # PGID: ${GID} + WORDPRESS_DB_HOST: botc-db-1 + WORDPRESS_DB_USER: wordpress WORDPRESS_DB_PASSWORD: ${DBPASS} WORDPRESS_DB_NAME: clocktower VIRTUAL_HOST: "botc.${DOMAIN}, *.phillybotc.com, phillybotc.com" @@ -24,9 +26,10 @@ services: LETSENCRYPT_EMAIL: ${EMAIL} LETSENCRYPT_TEST: true volumes: - - wordpress-botc:/var/www/html + - wordpress:/var/www/html + - ./backup:/var/www/html/wp-content/updraft volumes: - wordpress-botc: + wordpress: db: networks: default: diff --git a/minecraft/.env.example b/minecraft/.env.example new file mode 100644 index 0000000..604cbf5 --- /dev/null +++ b/minecraft/.env.example @@ -0,0 +1,7 @@ +DOMAIN=example.com +UID=1000 +GID=1000 +TZ=Etc/UTC +CONFIG_LOCATION=./config +DATA_LOCATION=./data +EMAIL=example@mail.com diff --git a/minecraft/.gitignore b/minecraft/.gitignore new file mode 100644 index 0000000..74f17e7 --- /dev/null +++ b/minecraft/.gitignore @@ -0,0 +1 @@ +crafty/ \ No newline at end of file diff --git a/minecraft/docker-compose.yml b/minecraft/docker-compose.yml new file mode 100644 index 0000000..b905f3e --- /dev/null +++ b/minecraft/docker-compose.yml @@ -0,0 +1,28 @@ +services: + crafty: + container_name: crafty_container + image: registry.gitlab.com/crafty-controller/crafty-4:latest + restart: always + environment: + - TZ=${TZ} + - VIRTUAL_HOST=minecraft.${DOMAIN} + - VIRTUAL_PORT=8443 + - LETSENCRYPT_HOST=minecraft.${DOMAIN} + - LETSENCRYPT_EMAIL=${EMAIL} + - LETSENCRYPT_TEST=true + ports: + - "8443:8443" # HTTPS + - "8123:8123" # DYNMAP + - "19132:19132/udp" # BEDROCK + - "25500-25600:25500-25600" # MC SERV PORT RANGE + volumes: + - ./crafty/backups:/crafty/backups + - ./crafty/logs:/crafty/logs + - ./crafty/servers:/crafty/servers + - ./crafty/config:/crafty/app/config + - ./crafty/import:/crafty/import + - ${DATA_LOCATION}:/external +networks: + default: + name: nginx-proxy + external: true diff --git a/rss-reader/docker-compose.yml b/rss-reader/docker-compose.yml index 27b769b..f1effcf 100644 --- a/rss-reader/docker-compose.yml +++ b/rss-reader/docker-compose.yml @@ -1,49 +1,35 @@ services: - db: - image: postgres:15-alpine - restart: unless-stopped - env_file: - - .env - environment: - - POSTGRES_USER=${TTRSS_DB_USER} - - POSTGRES_PASSWORD=${TTRSS_DB_PASS} - - POSTGRES_DB=${TTRSS_DB_NAME} - volumes: - - db:/var/lib/postgresql/data - app: - image: cthulhoo/ttrss-fpm-pgsql-static:latest - restart: unless-stopped - env_file: - - .env + freshrss: + image: freshrss/freshrss:edge + container_name: freshrss environment: + - PUID=${UID} + - PGID=${GID} + - TZ=${TZ} - VIRTUAL_HOST=rss.${DOMAIN} - # - LETSENCRYPT_HOST=rss.${DOMAIN} - # - LETSENCRYPT_EMAIL=${EMAIL} - # - LETSENCRYPT_TEST=true - ports: - - 8280:8280 + - LETSENCRYPT_HOST=rss.${DOMAIN} + - LETSENCRYPT_EMAIL=${EMAIL} + volumes: + - ${CONFIG_LOCATION}/freshrss:/config + - ./extensions:/var/www/FreshRSS/extensions expose: - - 8280 - volumes: - - app:/var/www/html - - ./config.d:/opt/tt-rss/config.d:ro - depends_on: - - db - updater: - image: cthulhoo/ttrss-fpm-pgsql-static:latest + - "8085" + ports: + - 8085:80 restart: unless-stopped - env_file: - - .env - volumes: - - app:/var/www/html - - ./config.d:/opt/tt-rss/config.d:ro - depends_on: - - app - command: /opt/tt-rss/updater.sh -volumes: db: - app: - backups: + image: lscr.io/linuxserver/mariadb:latest + environment: + - PUID=${UID} + - PGID=${GID} + - TZ=${TZ} + - MYSQL_ROOT_PASSWORD=ROOT_ACCESS_PASSWORD + - MYSQL_DATABASE=freshrss #optional + - MYSQL_USER=freshrss #optional + - MYSQL_PASSWORD=freshrss #optional + volumes: + - ${CONFIG_LOCATION}/mariadb:/config + restart: unless-stopped networks: default: name: nginx-proxy diff --git a/rss-reader/extensions/freshrss-comicsinfeed b/rss-reader/extensions/freshrss-comicsinfeed new file mode 160000 index 0000000..bc46489 --- /dev/null +++ b/rss-reader/extensions/freshrss-comicsinfeed @@ -0,0 +1 @@ +Subproject commit bc4648940633919d5a8b7d6713a074d2a197b0a3 diff --git a/rss-reader/extensions/xExtension-AutoRefresh/configure.phtml b/rss-reader/extensions/xExtension-AutoRefresh/configure.phtml new file mode 100644 index 0000000..d105d7d --- /dev/null +++ b/rss-reader/extensions/xExtension-AutoRefresh/configure.phtml @@ -0,0 +1,17 @@ +
+ + +
+ +
+ +
+
+ +
+
+ + +
+
+
diff --git a/rss-reader/extensions/xExtension-AutoRefresh/extension.php b/rss-reader/extensions/xExtension-AutoRefresh/extension.php new file mode 100644 index 0000000..4e63c79 --- /dev/null +++ b/rss-reader/extensions/xExtension-AutoRefresh/extension.php @@ -0,0 +1,34 @@ +getFileUrl('script.js', 'js'),'','',''); + + $this->registerHook('js_vars', [$this, 'addVariables']); + } + + public function addVariables($vars) { + $vars[$this->getName()]['configuration'] = [ + 'refresh-rate' => $this->getRefreshRate(), + ]; + + return $vars; + } + + public function handleConfigureAction() { + $this->registerTranslates(); + + if (Minz_Request::isPost()) { + $configuration = [ + 'refresh-rate' => Minz_Request::param('refresh-rate', self::DEFAULT_REFRESH_RATE), + ]; + $this->setUserConfiguration($configuration); + } + } + + public function getRefreshRate() { + return $this->getUserConfigurationValue('refresh-rate', static::DEFAULT_REFRESH_RATE); + } +} diff --git a/rss-reader/extensions/xExtension-AutoRefresh/i18n/de/ext.php b/rss-reader/extensions/xExtension-AutoRefresh/i18n/de/ext.php new file mode 100644 index 0000000..59ccf50 --- /dev/null +++ b/rss-reader/extensions/xExtension-AutoRefresh/i18n/de/ext.php @@ -0,0 +1,7 @@ + [ + 'refresh_rate' => 'Seiten-Aktualisierung jede x Minuten', + ], +]; diff --git a/rss-reader/extensions/xExtension-AutoRefresh/i18n/en/ext.php b/rss-reader/extensions/xExtension-AutoRefresh/i18n/en/ext.php new file mode 100644 index 0000000..04ad5f3 --- /dev/null +++ b/rss-reader/extensions/xExtension-AutoRefresh/i18n/en/ext.php @@ -0,0 +1,7 @@ + [ + 'refresh_rate' => 'Refresh rate in minutes', + ], +]; diff --git a/rss-reader/extensions/xExtension-AutoRefresh/i18n/fr/ext.php b/rss-reader/extensions/xExtension-AutoRefresh/i18n/fr/ext.php new file mode 100644 index 0000000..ae359ea --- /dev/null +++ b/rss-reader/extensions/xExtension-AutoRefresh/i18n/fr/ext.php @@ -0,0 +1,7 @@ + [ + 'refresh_rate' => 'Fréquence de rafraîchissement en minutes', + ], +]; diff --git a/rss-reader/extensions/xExtension-AutoRefresh/metadata.json b/rss-reader/extensions/xExtension-AutoRefresh/metadata.json new file mode 100644 index 0000000..0cdf731 --- /dev/null +++ b/rss-reader/extensions/xExtension-AutoRefresh/metadata.json @@ -0,0 +1,8 @@ +{ + "name": "Auto Refresh", + "author": "Essa AlAwadi", + "description": "Automatically refreshes the RSS feed when there is no activity", + "version": 1.3, + "entrypoint": "AutoRefresh", + "type": "user" +} diff --git a/rss-reader/extensions/xExtension-AutoRefresh/static/script.js b/rss-reader/extensions/xExtension-AutoRefresh/static/script.js new file mode 100644 index 0000000..a8bcdfb --- /dev/null +++ b/rss-reader/extensions/xExtension-AutoRefresh/static/script.js @@ -0,0 +1,34 @@ +'use strict'; + +const getNewTime = () => { + return new Date().getTime(); +}; + +const resetTimer = () => { + time = getNewTime(); +}; + +var time = getNewTime(); +const initTimer = () => { + if ('undefined' === typeof context) { + console.log('wait'); + return setTimeout(initTimer, 50); + } + + if (document.getElementById('nav_menu_views')) { + const refreshRate = context.extensions["Auto Refresh"].configuration["refresh-rate"]; + setInterval(() => { + if (getNewTime() - time >= refreshRate * 60000) { + window.location.reload(); + } + }, refreshRate * 30000); + + document.addEventListener("touchmove", resetTimer); + document.addEventListener("mousemove", resetTimer); + document.addEventListener("keypress", resetTimer); + } +} + +window.onload = () => { + initTimer(); +}