Commit Graph

1775 Commits

Author SHA1 Message Date
6de2a0beb6 Remove jafner.dev from ddns
Repurposing the domain for GitHub Pages.
2024-05-28 22:17:37 -07:00
4fa9446777 Disable deploy-to-fighter job while it's broken 2024-05-28 13:20:12 -07:00
0ae5247407 Fix typo 2024-05-28 13:17:04 -07:00
f04aff5ff8 Update all zones to update root
Also CNAME'd wildcard subdomains to root
2024-05-28 13:15:48 -07:00
c11880c67b Update ddclient config 2024-05-28 13:07:30 -07:00
4d77b12d60 Init jafner-dev wordpress portfolio instance 2024-05-28 12:34:19 -07:00
7c121138b1 #126 Cleanup to facilitate diagnosis later 2024-05-28 11:42:59 -07:00
5530b8661f Update ai traefik routiung 2024-05-28 11:42:15 -07:00
82b15fd327 Replace disk in NAS 2024-05-27 11:57:31 -07:00
55009fca5a Update AI routers 2024-05-23 22:19:47 -07:00
4410150e43 Set upload size limits explicitly 2024-05-20 22:02:14 -07:00
0f16d8b663 Update env vars for new DATASOURCE_* storage configuration 2024-05-20 21:14:16 -07:00
f181c77220 Add permanent volume for /public in Zipline 2024-05-20 21:10:30 -07:00
267151ca8c Fix typo 2024-05-20 21:01:51 -07:00
4376219065 Allow zipline to assume the mimetype of files uploaded via API (Curl) 2024-05-20 18:00:23 -07:00
c7bcbcdefe #126 Check whether connecting runner container to host network eliminates traefik errors. 2024-05-19 15:20:08 -07:00
f3ee8bbcd6 Disable megan-portfolio until DNS records can be updated 2024-05-19 15:06:26 -07:00
52deb6ff44 Document most recent NAS disk replacements. 2024-05-19 14:37:46 -07:00
fc78e428c6 Update nextcloud docs to better address config manipulation 2024-05-19 14:37:29 -07:00
0264a6248e #127 Add Traefik route for ollama and open-webui 2024-05-19 14:36:08 -07:00
198dd867be Update script to use proper fully-qualified path for secrets file 2024-04-25 17:23:12 -07:00
f0b77f370d Fix secrets file not passed 2024-04-25 11:39:56 -07:00
d9996607c1 Add discord notifier script to qbt container 2024-04-25 11:07:29 -07:00
a1a49b21cd Braindump for March 2024 Rescue 2024-03-30 17:54:10 -07:00
27f1a0251f Update docker network web to use wider subnet and restricted DHCP pool 2024-03-30 17:53:19 -07:00
f7431ef0e4 Split out Media share into three components: Movies, Shows, and Music 2024-03-12 21:00:01 -07:00
98d7fb3d57 #123 Disable security headers to troubleshoot "MIME type not found" error 2024-03-10 18:57:15 -07:00
0eea0276cf #123 Enable CORE_RETURN_HTTPS as first step in diagnosing failure to render media 2024-03-10 18:52:15 -07:00
ceeac33f93 #123 Fix typo'd healthcheck command 2024-03-10 17:54:12 -07:00
604ea86fb1 #123 Init Zipline 2024-03-10 17:51:47 -07:00
2db9f8a25d Clean up volume map names 2024-03-09 01:55:20 -08:00
ecf6d86d1c Update fighter startup/shutdown scripts 2024-03-09 01:04:44 -08:00
c9521264a3 Remove dependency on healthcheck 2024-03-08 20:44:10 -08:00
3498a1cced Remove broken healthcheck 2024-03-08 20:41:37 -08:00
296adca235 Fix typo 2024-03-02 17:27:26 -08:00
fd103e833f Fix try-catch blocks to make bash happy 2024-03-02 17:21:06 -08:00
96da89793c Init improved share handling
- Automatically attempt to connect and mount iSCSI
- For each stack, check share dependency against availability
Add 'clean' "subcommand" to shutdown and remove existing containers
Consistently indent console printouts
2024-03-02 17:13:44 -08:00
63f19dd847 Move iscsi mount to /mnt/nas/iscsi to match format used by smb shares 2024-03-02 17:07:04 -08:00
8c53033159 Maybe defaulting to turning everything off when the script runs wasn't a great idea 2024-03-02 00:52:59 -08:00
396ce8b23e Brain dump. 2024-03-02 00:45:39 -08:00
b48ae8fe7e Switch to piggybacking deployment on host-specific startup script 2024-02-29 20:02:21 -08:00
f8b7b4f301 Add cleanup to beginning of startup script 2024-02-29 19:53:36 -08:00
84bdbc154f Begin documenting bluetooth configuration for LE 2024-02-29 19:53:16 -08:00
3f1e70a8d0 Document removing configuration for mdadm raid device 2024-02-29 19:52:54 -08:00
0145c7704f Polish up startup.sh:
- Invert logic for onlining a stack (online if no tests fail)
  - Add diagnostic printouts for logic process for each stack
  - Print time to process for each stack
  - Print list of stacks onlined at end of script
2024-02-29 17:23:34 -08:00
e00d1a1872 Update keycloak hack to be more precise 2024-02-29 15:28:06 -08:00
692a7a8b50 Disable debug set -x
Mute compose config test
Update logic for onlining stack
2024-02-29 15:26:48 -08:00
72d99a646b Fix comparison logic for bringing up a stack 2024-02-29 14:52:32 -08:00
602d9b6b3f Improve handling of network shares offline
Allows the script to online stacks which don't need the SMB or iSCSI shares.
2024-02-29 01:39:44 -08:00
e3f608d4bc Update with new procedure docs
Update for disk replacement
2024-02-29 01:38:57 -08:00
b97f0a5cf4 Update copy.sh to use rsync and a tmp file in the /tmp/ directory 2024-02-29 01:38:01 -08:00
df89d5850d Update home-assistant TODO
Delete unused NUT container
2024-02-28 02:08:06 -08:00
43731a3752 Document NUT setup 2024-02-28 02:06:09 -08:00
2bc316cfb0 Oh my god it was a switch nsp manager.
Replace the "NUT" nsp manager with a real networkupstools docker server
2024-02-28 01:20:27 -08:00
803762e396 I ALWAYS MAKE THIS MISTAKE 2024-02-28 01:05:00 -08:00
8beaa2f315 Fix accidental double-binding of port 9000 2024-02-28 01:03:06 -08:00
0a01ed6737 Disable problematic env var 2024-02-28 01:00:01 -08:00
00bf9306af Single-quote env var which contains double quotes 2024-02-28 00:37:49 -08:00
d116121d46 Init networkupstools 2024-02-28 00:35:10 -08:00
7321b6bcca Mount tmpfs to wyze-bridge to reduce drive wear 2024-02-28 00:11:15 -08:00
56444fa3a9 Explicitly set webui port in traefik labels 2024-02-27 23:29:54 -08:00
949746b744 Add traefik labels to Wyze bridge 2024-02-27 23:15:49 -08:00
ed16b4a834 Init wyze bridge 2024-02-27 23:12:46 -08:00
28c9ed629b Add Cowboy Tasmota, reorder bookmarks 2024-02-27 13:58:36 -08:00
184d78907f Bind Traefik container to current IP 2024-02-27 13:58:07 -08:00
8129a2e82d Pass dbus to home-assistant 2024-02-27 01:48:51 -08:00
e03f7c0b45 Update for resolved IP collision 2024-02-26 17:31:19 -08:00
6b25b3d0ed Move sprout to .57 2024-02-26 17:24:11 -08:00
c1dd038342 Attempt to resolve IP conflict 2024-02-26 17:22:19 -08:00
871d0437e2 Add tasmota-toes-night 2024-02-26 17:07:28 -08:00
2d99e0d147 Trim config to only used config nodes
Disable anonymouse access
2024-02-26 16:43:13 -08:00
2205e3f860 Allow anonymouse (for testing) 2024-02-26 16:26:17 -08:00
37cb5ffc30 Explicitly set location of passwd file in config 2024-02-26 12:49:26 -08:00
166db7e6f0 Add mount for mosquitto.passwd file
Gitignore *.passwd files
2024-02-26 12:45:42 -08:00
050b257253 Create shared network for mosquitto and home-assistant 2024-02-26 12:28:57 -08:00
4e6b462fcb Configure explicit listener 2024-02-26 12:26:53 -08:00
33f3ed0b6e Use higher-number port for 1883 2024-02-26 12:17:05 -08:00
9c17d57a99 Use non-default port for 9001 conflict 2024-02-26 12:15:26 -08:00
7d16a1894b Remove unused mosquitto env file 2024-02-26 11:45:03 -08:00
85684b8e07 Fix host side volume map 2024-02-26 11:44:21 -08:00
f6ab7cc56c Fix typo 2024-02-26 11:41:55 -08:00
19daafdd09 Init mosquitto 2024-02-26 11:41:12 -08:00
69c644bc19 Init home assistant 2024-02-26 10:51:50 -08:00
0755e48527 Fix indentation again 2024-02-26 01:28:28 -08:00
6e8e269aa9 Fix indentation 2024-02-26 01:26:44 -08:00
2bbf54eeb0 Fix broken indentation 2024-02-26 01:21:50 -08:00
be002089f2 Switch from individual config files to config directory 2024-02-26 01:18:23 -08:00
120c861d7d Add missing config files 2024-02-26 01:13:31 -08:00
f55d54f2b4 Add infrastructure for tasmota homepage 2024-02-26 01:03:59 -08:00
1c751e65ae Improve error handling for network devices, clean up echos 2024-02-21 13:39:38 -08:00
f1bce290dc Update iSCSI doc 2024-02-21 13:32:47 -08:00
283fcf0068 #112 Init Diagram.md 2024-02-21 13:27:02 -08:00
0108c19dbd Update NAS docs 2024-02-20 19:46:50 -08:00
a01f9c1a5f Hack for keycloak forwardauth containers not respecting depends_on 2024-02-20 19:13:01 -08:00
4f090e1d9a Fix using wrong docker compose command 2024-02-20 11:38:30 -08:00
8e0fd6edc2 #94 Fix env mapping 2024-02-18 01:38:16 -08:00
409c5a995b #94 Fix Traefik rule 2024-02-18 01:31:15 -08:00
a73b0efc88 #94 Init Jellyfin config 2024-02-18 01:29:46 -08:00
2f51673131 Delete unused hosts 2024-02-17 19:46:37 -08:00
f83312abda Update inxi for each host 2024-02-17 19:46:22 -08:00
96ebd8e4af #112 Init reorganized README 2024-02-17 19:39:06 -08:00
d32217f422 Document Gitea SSO configuration (disabling native auth) 2024-02-17 13:45:52 -08:00
5fb4e1f342 Init upgrade doc for Debian 11 to 12 2024-02-17 12:22:04 -08:00
b5752b1c57 Create startup script with checking for network shares 2024-02-17 12:21:51 -08:00
50c5a076ae Init repo setup doc 2024-02-16 23:13:28 -08:00
b6e94538f3 Change user for 5eTools to match admin (1003) 2024-02-16 22:37:01 -08:00
ed1493dd80 Add documentation for deleting runners from DB. 2024-02-16 20:52:47 -08:00
3f97c3dad8 Remove broken dind runner 2024-02-16 17:30:56 -08:00
0d810115b9 Update all compose files to 3.9 spec 2024-02-15 02:09:59 -08:00
cbb5b355d8 #120 Switch all env_file parameters to long format 2024-02-15 02:05:23 -08:00
47182487b9 Newline 2024-02-15 01:47:40 -08:00
c432137a31 Add deploy stage to druid 2024-02-15 01:47:30 -08:00
6de0e1901d Add notify step to druid and wizard pipelines 2024-02-15 01:42:13 -08:00
0164bdf002 Test commit 2024-02-15 01:40:17 -08:00
b1dd849c69 Add mention to deploy message 2024-02-15 01:40:03 -08:00
df5c884920 Trigger workflow 2024-02-15 01:36:35 -08:00
44c7d45388 Switch from Ilshidur to appleboy discord notifier action 2024-02-15 01:36:20 -08:00
396ace1f94 Test trigger workflow 2024-02-15 01:29:05 -08:00
0fda5a280f Experiment with expressions in workflows 2024-02-15 01:28:55 -08:00
39c2180b3e Test commit to trigger workflow 2024-02-15 01:22:29 -08:00
7a160efb65 Add Discord notification job 2024-02-15 01:20:38 -08:00
2f18f1c212 Revert previous 2024-02-15 01:16:08 -08:00
3d023c9070 Test commit to trigger workflow 2024-02-15 01:13:33 -08:00
a135d92d67 Add complete deploy step for fighter 2024-02-15 01:12:44 -08:00
1983ef3ecd Update to match working current 2024-02-15 01:05:32 -08:00
d30172bc84 Update compose schema version number, reorganize command parameter for forwardauth 2024-02-15 01:05:11 -08:00
6876b1be21 Implement temporary workaround for Nvidia driver bug
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1063675
2024-02-15 01:04:12 -08:00
8bf93e4b18 Update keycloak to new env_file format 2024-02-15 00:16:48 -08:00
f50ba0e3fb Test commit with changes to apply 2024-02-14 13:40:28 -08:00
229185eb97 Call absolute path of strip-private 2024-02-14 13:37:29 -08:00
90b99e2e24 Move printing configuration to script 2024-02-14 13:09:43 -08:00
69fa31e77f Test commit no changes 2024-02-14 13:01:08 -08:00
12412ea4ee Diagnostic: print shell and env variables 2024-02-14 13:00:58 -08:00
da71a4b972 Another test commit with no changes to apply 2024-02-14 12:55:56 -08:00
d11ba19994 Try running command on one line 2024-02-14 12:55:22 -08:00
feac264bad Diagnostics for deploy script 2024-02-14 12:47:39 -08:00
1c8701973a Apply strip-private to compare 2024-02-14 12:47:23 -08:00
d9ab82b377 Test commit, no changes to apply 2024-02-14 12:38:47 -08:00
10a33c4fdc Explicitly use vbash for show configuration 2024-02-14 12:37:15 -08:00
5aac726354 Fix handling when no changes to apply 2024-02-14 12:35:16 -08:00
3c6c4d63a6 Fix erroring out when no changes to commit 2024-02-14 12:25:48 -08:00
5e10ef0b30 Add step to print current configuration to logs
De-secretize pubkeys
2024-02-14 11:47:23 -08:00
561f95fabf Increase interval for update-nat-reflection 2024-02-14 11:31:47 -08:00
2fa516712b Test commit to trigger wizard workflow 2024-02-14 11:28:34 -08:00
e1f1f43ebb Clean up exit behavior 2024-02-14 11:28:18 -08:00
467277c023 Add apply configuration step to deploy workflow for wizard 2024-02-14 11:22:15 -08:00
aab982a82c Send source command stdout to /dev/null to prevent leaking secrets 2024-02-14 11:19:29 -08:00
62f9e6032c Add permissions fix step to deploy pipeline 2024-02-14 11:19:00 -08:00
5f4d405c23 Add basic error handling to configure.sh
Add newline to end of test.sh
2024-02-14 11:07:57 -08:00
4c600de447 Switch to explicit 'source' command, add compare, commit, save to end of script 2024-02-14 10:52:55 -08:00
f331326ff0 Switch wizard config to testing 2024-02-14 10:47:46 -08:00
1c2e275b75 Init new, split, commands-based configuration for wizard to ease automated deployment 2024-02-14 10:37:43 -08:00
269d2842e5 Wipe old version of storing wizard config 2024-02-14 10:37:08 -08:00
d13820c487 Clean up deploy job naming 2024-02-14 10:36:48 -08:00
3791766a49 Commit to test deploy-to-wizard workflow 2024-02-14 00:24:10 -08:00
41957ce070 Add deploy-to-wizard 2024-02-14 00:23:36 -08:00
ef6fe3d757 Update "internal" label to "fighter" 2024-02-13 21:15:32 -08:00
8969fd92ae Add deploy workflow for druid 2024-02-13 20:54:49 -08:00
8d6a995e26 Test commit for path-filtered workflow trigger 2024-02-13 20:04:25 -08:00
7d2395e9b0 Update path matching syntax 2024-02-13 20:03:55 -08:00
e6bee76288 Test commit to trigger path-filtered workflow 2024-02-13 20:02:19 -08:00
87e68ac08e Run only on relevant commits 2024-02-13 20:00:59 -08:00
d717f57f20 Rename workflow 2024-02-13 12:58:15 -08:00
ca054dc0bb Fix leak 2024-02-13 12:55:59 -08:00
4761e98019 Add compose config step to deploy 2024-02-13 11:27:37 -08:00
f680691398 Update docs for removing 2FA 2024-02-13 11:22:00 -08:00
0b90f55383 Someone write some documentation for Gitea actions. 2024-02-13 10:59:14 -08:00
e3776f514c Init new deploy job for fighter 2024-02-13 10:55:45 -08:00
27bc06bacd Add host labels to gitea runners 2024-02-13 10:53:03 -08:00
a59e2398ec Document removal of 2FA for SSH 2024-02-13 10:49:23 -08:00
61381499bd #120 Init runner on fighter 2024-02-13 10:49:07 -08:00
e892709aab #120 I give up for now 2024-02-12 23:48:51 -08:00
7d3a84b3fc #120 Even simpler 2024-02-12 23:47:35 -08:00
3bc865e5d5 #120 Try running compose version on dind 2024-02-12 23:46:42 -08:00
8a73bcc0ef #120 Split config yaml 2024-02-12 23:34:48 -08:00
1abfe01ef4 #120 Privileged to dind 2024-02-12 23:33:21 -08:00
b29bb5df74 #120 Split data directories 2024-02-12 23:27:53 -08:00
8f4c2e0a40 #120 Consistency 2024-02-12 23:27:14 -08:00
2974d7b216 #120 Add labels for each runner 2024-02-12 23:26:37 -08:00
1c11f0b064 #120 Create second runner for dind 2024-02-12 23:24:14 -08:00
60b852299c #120 Switch runner to dind 2024-02-12 23:13:21 -08:00
3938618ade #120 Revert to minimal useful 2024-02-12 23:13:11 -08:00
2818ba78c1 #120 Fix typo 2024-02-12 22:43:01 -08:00
82ac537faa #120 Try reading the documentation for the action... 2024-02-12 22:41:44 -08:00
46092fb6f7 #120 Switch from actions/docker/cli to actions-hub/docker 2024-02-12 22:39:58 -08:00
b7166a6f6a #120 Try again 2024-02-12 22:37:10 -08:00
6465753606 #120 Try using the docker/cli action 2024-02-12 22:34:59 -08:00
8479d8aa07 #120 Tone it back 2024-02-12 22:24:48 -08:00
68366ca75c #120 Init comprehensive compose config contraption 2024-02-12 22:23:15 -08:00
2c96855f91 #120 Fix typo 2024-02-12 22:11:50 -08:00
00ab95d343 #120 Test initial gitea actions workflow 2024-02-12 22:10:50 -08:00
bc1f71f4b3 #120 druid/gitea 2024-02-12 21:27:33 -08:00
58c687917a Misc 2024-02-12 17:20:00 -08:00
fb405c3c8a Fix volume mount 2024-02-12 14:30:25 -08:00
5e285f5d01 Init Gitea Runner 2024-02-12 14:29:48 -08:00
5a91cbceb5 #119 Document iSCSI parameters, graceful startup 2024-02-12 11:41:22 -08:00
d39c860559 Init shutdown script, add empty newline to SHUTDOWN.md 2024-02-11 16:31:28 -08:00
898b9a025e Document graceful shutdown process for fighter 2024-02-11 16:24:31 -08:00
35ca093fcb Clean up calibre paths 2024-02-11 16:09:47 -08:00
c4738470f2 #119 Move Send from AppData dir on SMB share to iSCSI 2024-02-11 15:26:03 -08:00
171148676d Move autopirate md0 mounts to iscsi 2024-02-11 11:44:21 -08:00
0ea8382c83 Move minecraft from md0 to iscsi 2024-02-11 02:11:27 -08:00
7f23d205f6 Move stash from md0 to iscsi 2024-02-11 01:40:00 -08:00
4cd986f864 #119 Remove nextcloud-test, move DOCKER_DATA to iSCSI drive 2024-02-11 00:56:41 -08:00
c617702c88 #119 Move test nextcloud to non-conflicting subdomain 2024-02-11 00:45:51 -08:00
6f7a8946e3 #119 Update nextcloud-test to use nextcloud-test-headers middleware 2024-02-11 00:45:02 -08:00
6cb69c74f9 #119 Add modified version of nextcloud-headers middleware 2024-02-11 00:44:36 -08:00
7768550567 #119 Remove middlewares 2024-02-11 00:24:51 -08:00
267f978ae8 #119 Fix router name collision 2024-02-11 00:23:35 -08:00
58cb755806 #119 Add test Nextcloud instance using iSCSI storage 2024-02-11 00:20:27 -08:00
0bdbb30459 #113 Reorganize compose file 2024-01-08 11:44:38 -08:00
fdeb8a5f61 Merge remote-tracking branch 'refs/remotes/origin/main' 2024-01-08 11:42:23 -08:00
7ca9570f4a #113 Remove old keycloak install, copy new install over 2024-01-08 11:41:52 -08:00
eac9227530 Add Aruba S2500 setup documentation 2024-01-08 11:10:33 -08:00
78d0a5ba3e Update for better script method 2024-01-07 02:26:18 -08:00
69a16058f0 Delete Uptime-kuma from standalone. Moved to monitoring stack 2024-01-06 12:05:06 -08:00
f8717b0d85 Deprecate GitLab 2024-01-06 11:55:07 -08:00
8fecb04cd9 #113 Remove deprecated Dockerfile 2024-01-06 11:53:01 -08:00
7878c5d233 #113 Update to working config 2024-01-05 17:42:09 -08:00
e9b7c4086f #113 Update DB parameters 2024-01-05 14:49:38 -08:00
2e8d386e1d #113 Add DB env vars to keycloak-wip.env 2024-01-04 15:54:40 -08:00
d191e09bb9 #113 Implement keycloak-wip parallel to current prod 2024-01-04 15:46:14 -08:00
ec0b6fe4e6 #117 Add healthcheck requirement to forwardauth depdends_on 2024-01-04 15:34:58 -08:00
f6f27f37f9 #117 Remove "start_period" config 2024-01-04 15:33:15 -08:00
5813c397ed #117 Reduce test interval 2024-01-04 15:31:41 -08:00
780e919a99 #117 Update healthcheck test URL 2024-01-04 15:29:51 -08:00
2147af04cf #117 Init healthcheck for Keycloak 2024-01-04 15:25:44 -08:00
9f4a19011b #117 WIP 2024-01-04 12:16:05 -08:00
f18fda0c86 #113 Attempt to fix instant death 2024-01-04 12:05:43 -08:00
6cc5538ddd #113 Comment out WIP env vars 2024-01-04 12:01:27 -08:00
8edd33ac43 #113 Fix typo 2024-01-04 11:59:29 -08:00
1468d69b1b #113 Comment out WIP blocks 2024-01-04 11:59:06 -08:00
5dcaf09b6b #113 Save progress in commented block, fallback to working dev config 2024-01-04 11:58:13 -08:00
303b57750d #113 Fix typos 2024-01-04 11:52:52 -08:00
88e840eab3 #113 Update start command per docs
https://www.keycloak.org/server/containers
2024-01-04 11:49:41 -08:00
605c71d558 #113 Switch command to simple start with --optimized flag. Will import realms later 2024-01-04 11:46:17 -08:00
8404d544f1 #113 Update DB config 2024-01-04 11:45:05 -08:00
516249d848 #113 Replace start command to import realms 2024-01-04 11:39:00 -08:00
6c51a957b5 #113 Fix second case of incorrect KC_DB 2024-01-04 11:37:36 -08:00
ce0cbbdd32 #113 Fix incorrect KC_DB value 2024-01-04 11:34:38 -08:00
c7c45c0e44 #113 Fix missing network declaration 2024-01-04 11:33:41 -08:00
9143639ba5 #113 Fix missing volume declaration 2024-01-04 11:32:56 -08:00
49112ce3ca #113 Fix missing context 2024-01-04 11:32:07 -08:00
5493e65448 #113 Init built Keycloak image 2024-01-04 11:30:47 -08:00
6817b68dd0 Update config 2023-12-30 13:46:48 -08:00
9aa4b419ef Add torrent export script to docs 2023-12-30 13:42:45 -08:00
aed1f6a14d Update router config 2023-12-27 16:03:48 -08:00
65c704f043 Upgrade Keycloak to most recent version 2023-12-17 15:29:40 -08:00
f62344049a #110 Init Secrets.md
Update DDClient readme for new hostname
2023-12-15 11:48:44 -08:00
f1b72d53ce Remove deprecated labels 2023-12-15 01:47:48 -08:00