From c0c8391339b638cf79273c1c9ed59cc02ae49903 Mon Sep 17 00:00:00 2001 From: "RingOfStorms (Joshua Bell)" Date: Fri, 6 Jun 2025 17:30:11 -0500 Subject: [PATCH] obsidian sync stuyff --- common/_containers/obsidian_sync.md | 7 ++ common/_containers/obsidian_sync.nix | 4 +- common/secrets/secrets/obsidian_sync_env.age | 74 ++++++++++---------- hosts/lio/containers.nix | 2 + hosts/oracle/o001/nginx.nix | 7 ++ 5 files changed, 54 insertions(+), 40 deletions(-) create mode 100644 common/_containers/obsidian_sync.md diff --git a/common/_containers/obsidian_sync.md b/common/_containers/obsidian_sync.md new file mode 100644 index 0000000..98f7e11 --- /dev/null +++ b/common/_containers/obsidian_sync.md @@ -0,0 +1,7 @@ +docker run \ + -e hostname=https://obsidiansync.joshuabell.xyz \ + -e database=obsidian_sync \ + -e username=obsidian_admin \ + -e password=$REPLACE \ + docker.io/oleduc/docker-obsidian-livesync-couchdb:master \ + deno -A /scripts/generate_setupuri.ts diff --git a/common/_containers/obsidian_sync.nix b/common/_containers/obsidian_sync.nix index 6d4baf4..94c12af 100644 --- a/common/_containers/obsidian_sync.nix +++ b/common/_containers/obsidian_sync.nix @@ -47,8 +47,8 @@ in environment = { SERVER_URL = cfg.serverUrl; COUCHDB_DATABASE = "obsidian_sync"; - COUCHDB_USER = if cfg.dockerEnvFiles == [] then "adminu" else null; - COUCHDB_PASSWORD = if cfg.dockerEnvFiles == [] then "Password123" else null; + COUCHDB_USER = pkgs.lib.mkIf (cfg.dockerEnvFiles == []) "adminu"; + COUCHDB_PASSWORD = pkgs.lib.mkIf (cfg.dockerEnvFiles == []) "Password123"; }; environmentFiles = cfg.dockerEnvFiles; volumes = [ diff --git a/common/secrets/secrets/obsidian_sync_env.age b/common/secrets/secrets/obsidian_sync_env.age index b00492c..25e4a12 100644 --- a/common/secrets/secrets/obsidian_sync_env.age +++ b/common/secrets/secrets/obsidian_sync_env.age @@ -1,40 +1,38 @@ -----BEGIN AGE ENCRYPTED FILE----- -YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IDd6MzN5USA3VHM4 -ekJTSmJvT2lTTHRBMzFXdFFHaytJK1lHemVmNnRnSURVbjVVK2lFCkxZNFZLUW1R -R055ZGNLNTZLcDg3Y0wzbUdRWVFFd1pjVlpVdVJVOVdBd0EKLT4gc3NoLWVkMjU1 -MTkgSmh2TCtRIHFwVE1aKytFYndQdHN4U0lDVjlIR3Q0STNrN3RkcTBLbVRxczM4 -dDBUV2cKcUd0cldLQTJ5Ti9uQjJFdC9YeDFmSUM2cTB3eWFwSXhqY0JQR0hOOTJi -awotPiBzc2gtZWQyNTUxOSBTcENqQlEgSkZuVVh6VlRORXZCR01LSU1uN3ViU0ln -Vko2a09kaWhHNEREMkIyQjd6awpCd3liSkN6cERtbERnTENTQm5Lcm1XcGl2QVJw -MHR6VWZQUjZJd2Zud2UwCi0+IHNzaC1lZDI1NTE5IEJZS0crdyBkOTYvVkN6Q2ht -ZGNlVWJpdGs3Q1pFT2ZmV25mYzE0cFB3Nzd6Tk11emxvCjRIVEJvdXU1dXNxSXhM -a0JJanRtMUVjT3d3VTEyTHJRN3laVXdtVWZjdkUKLT4gc3NoLWVkMjU1MTkgWHpm -bWFRIGdrRTJJNFRud2JCcnZNWW9sanlaRTNxWmgxV0ErVVdDQXNTQU5IeFl2SE0K -QUUxQ2NrWjJ4MUpobzBQRStVRGtZY1Q4QTdteWsrL3UwVm1EQVlnbTN0SQotPiBz -c2gtZWQyNTUxOSBSNSt4ZncgMDNBTW1UNUx3OWxmU2ZGdUtoWmc5ak0vWjV0RmFB -MWgxcVB3bC9QdlVRcwpyeWVSTkN3aHRBUkRybzF0S2MxcCtWRTBZVWsra1MvWVBX -cVVvampybkdVCi0+IHNzaC1lZDI1NTE5IFJvWDVQUSBnSHhUTlpscUNLSjJYSTNu -KzF2TzZ3V3IwZDBnRloySXVaMzJ5b3JlYUdJCjg2bVZDREpVcTY1TE8xR2h4OXlz -QWtrRXZzS01XT01JSlJQZnU3Tm93bDQKLT4gc3NoLWVkMjU1MTkgRjRiYjhnIFYx -YW9iUWJNRGY5dFdkY2pCMm5sdTl4dHBIZXpqL0ZhWTA1V2FSZHoyd2MKWm0xdmFp -aGJWZDBLRURDZ21vT0F5NGlaVGw0Tml3dml0S3FpUkRiZGNGQQotPiBzc2gtZWQy -NTUxOSB3ZHJaSkEgcWhhT2sxQVJpMklMbmhpaHFVZU1BYi94aEhyVkVlN2Y2dHAr -Vmtmak9pbwpMUk0xNHpCWHJFVTJSSkdzTTVwalFSQThjWmM2T1FWTEtzclIvMGMy -V3J3Ci0+IHNzaC1lZDI1NTE5IDVhZHFNZyA1d0tZUzJIcTNMY0ViaDdrcmJzRHZh -ZThlK2E1Y091U1V2WXVDYTZvOXlrCmdlTGlMUG9FekExSHlkTFhUR2d5KzZDcnd1 -TFEzUUJlcGtaVzhJUkhrSmMKLT4gc3NoLWVkMjU1MTkgWmUxTXdRIHVHc1dYZjJC -dnRac2tBc2lqZmNaZ0NFYnozWm94VktEcEU0UGdiOFBsemMKU0hGQXZGTU9oNyt2 -SGZwTWViUVo5NCtWcGVNdHNnUGhFeGZhY044aTJSVQotPiBzc2gtZWQyNTUxOSBw -ZUZCUWcgUitGb1pRNEh5eTdldU5OaDNwYzFxRm1sZzRYVk8vT1crdTRjSVlDSUFU -SQo5MnhVZjMzMHlDZ3R3QnhXL2VsQmU4WHhlT1A0QmV4blFld3ozbDZLUVJzCi0+ -IHNzaC1lZDI1NTE5IDl2LzJIQSBKTjBaTWtTb2JHbXFqTGMxamx2WkkxY0VPQ3Jz -cVIvdnBnMXFSK0FnVlR3CjF6c2llYkZDTk9yY1E3Vjk2K2ZpbVFQVmJEMlV3cXNw -dkM0Sm81am1nMUkKLT4gTj5sLWdyZWFzZSBbQSwxRGc4CldWVUNsT1lITkFqOUpG -TEFUTHB3TkZJU2hQUGtuZ0ZNOFNEd0poQ1VGOXZyTnh5RTA0SGI2M0dpOHpBYzkz -eUYKS1Rjb1lsaE13WTByUFRSbGN5aFQwcVdsVy8xcVY3aUo4Q2kxbk1iMTFLOUx6 -TGllbkR6QwotLS0gbncyWWhJdDN1QnlSR09WbnBSbUg5YVd3Y2swSVd6eW9OU3Js -Q1RObmR1dwqLMWIo7EfqRCDm9i7SEQEumyTsTrO85HdRhcn7MmM50cMJVhA0Evsp -tYUVfj1UWvL9w7r3AVzHr4Kcgz5dlVpgXQ/K3QL5Bxzx87KXdafJWkxzMMDE1dDM -94mu+/CErH7oFTE0LNEDDvhSZfNPC6+SvMuffAwUoEXExec8plSDBoCYIz0qz3Ci -95WU/HTXQ2om3FiCDxJJO+Tg4FjJDgxHwQ3Ldg== +YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IDd6MzN5USBrcmlF +OFVrOTNvTHJ6d1ZqNDVIb3pNSUMyMzNsU241MXVKM3hxNHp6ZTIwCmtVcWVxbVIv +UXRLdFkyOWU5Ty8wZ2djRnBKRWFYMlliTXF5eUozc25NL1UKLT4gc3NoLWVkMjU1 +MTkgSmh2TCtRIHJXTzFaU2tERGxuak5Kc0NjbXZWbENJRG51YTFLMitldjJwa1Vk +ZUlRbUkKNGgxbFQ1bTVUMFJIck42eHUvYmcrREJzMDlvTVAwdFVhU1pTZEZTQXNE +ZwotPiBzc2gtZWQyNTUxOSBTcENqQlEgQ1BrZ2hoZEJadW1YdGNRZUxGZVI4VEJG +c0taTkM2Qmg1YXFWTG1idjJEYwpoRTlMcWNTMmU3M0JCU01PbEJ5aUxhOVZFUXJi +YkRqUHdnS1QzWTFsUHRvCi0+IHNzaC1lZDI1NTE5IEJZS0crdyBPN3RKdW1Ib2Qx +bXVzMzlBOXlUMXFCU24yVmoycUlWcU82UUx6eFEvYkNRCk1WWUswM0xlUWkzeUpt +VnQxR21OU1pGSTByLzRZNlBsL25iQkR2c3VQcGcKLT4gc3NoLWVkMjU1MTkgWHpm +bWFRIEM1UGIzZDExOWllOStvWmxUcXZGYTN1SEM3TDUyNWF1R2JEcm9CREZaMUEK +aE5iSG5zQ2JKanJGMlNiRnNZUVQ5TVNObFo5SWM5OThERS9Ga0ZnYU9SdwotPiBz +c2gtZWQyNTUxOSBSNSt4ZncgYi80anJ0WDNRTnhTeGw4ZGhiMzZHUHB5UkdicWp0 +aDJQQ0pIZXNwZ3hEYwpldkE5WmRQenV3TzdXSzZaT2xkK2hIMUpjNzFaam84dStu +ZzFCeTBxTHE4Ci0+IHNzaC1lZDI1NTE5IFJvWDVQUSAxdmowRWJyZytwUkJqRkJm +RWNRUUxsdXhXcDdVTTZkM1k0M1VPZkFteDBZCmp0WmZpK25Vc0t4NzVrQVZEZks1 +cXVnQzA0cWliS0hSSWRXblQzRjU5Z2cKLT4gc3NoLWVkMjU1MTkgRjRiYjhnIFB0 +Y1dwT2RzYkVsSE5FSHRYbEYwNThvK2NUcWd6WGJzdEZiaGJBNG00bGcKQXphcy90 +TElUN1g4RXVGa1NOSXhjREM5eE9mOHJHOGU5K2x1djlvUnJWawotPiBzc2gtZWQy +NTUxOSB3ZHJaSkEgRWhmNUZxN0NxcllHT3V6TFVLbkhkVVFiUHorREFuZHkvYkFK +czViMTJTSQo5YzR1d3FRVFBIWDgzdXZOVGJVSGd0Rk5sZGtESUZ5LzVWdVhUMnJl +MUpzCi0+IHNzaC1lZDI1NTE5IDVhZHFNZyAxbi9WWnc3ZVhMa2kyQ1JXU1FTUDF5 +N1pJOXhVQXBPc3E3cmtaZVcvOFVNClkyQ3UvcGNQTm1OZTJSZ0JNZXVzRWNUUU9Y +ZnJsMm9iaDRIN1V6bUhTSDgKLT4gc3NoLWVkMjU1MTkgWmUxTXdRIFJpT2lSMUdI +Z25NdnRaVHJwWW9uQ25WcWVoVnN1bW9DVUxra0Z2RlRQeWsKWUdNbEp3dDJTcHBp +TUlzUE5mTVkwREE2b2NlMTdHVUFSMmpkRkFwcDJ5QQotPiBzc2gtZWQyNTUxOSBw +ZUZCUWcgN0N2ZDJuSFRRSk4zZGVaSTJ1aGd4blVJVm9oY0s2ZHpVNXhWRXdCMFkw +dwpBYU85cnV0bkE1NjhUWVBzeGI1MFRtcG5uVlp6aTIyNFYzTmxqOEE0OWdrCi0+ +IHNzaC1lZDI1NTE5IDl2LzJIQSAxS3VZUkxPZHNtYlJ4TGYrQ0pIOHBSZWMwOXlN +VnNyTmNQcjRCS3FObDNvCngrQ0ZTQ21XUkdKZURDaWJ1elNRc2VEYjNicXQxajFk +WFh2c010Z3NOUU0KLT4gc2w1N1FpLWdyZWFzZQpkZjA2bUlqNFh5eDNLZDIvT3VM +YnJVKzI3OEcyU3ZwaHBEWQotLS0gbC9sUHZDeFVNV0pXQkR6SnBCYjFYZnUzQkN3 +eVhFVTVQd0cxOGF2K1BKVQoklAHBGEN9x6Tefj2B8he2iEFKipCl+nkkizdrMWTw +j9ugsysqFomNM1CLn2LgRTzi75MK6rAZsFFX6K02SxISRU6XotyLXvJM+w/nh0Ev +knPLAxAPmgC+ES0tIVuTpUDG0sM9+iwGrEQ4w72pULmW0JjjskmM/xFPiI4fTlTY +tAsRaOui0Qgxg3Du34d44U16ThEq3yLItEITRl6dJJv1 -----END AGE ENCRYPTED FILE----- diff --git a/hosts/lio/containers.nix b/hosts/lio/containers.nix index 8b62eef..8854431 100644 --- a/hosts/lio/containers.nix +++ b/hosts/lio/containers.nix @@ -1,5 +1,6 @@ { common }: { + config, ... }: { @@ -17,6 +18,7 @@ # Obsidian Sync settings services.obsidian_sync = { serverUrl = "https://obsidiansync.joshuabell.xyz"; + dockerEnvFiles = [ config.age.secrets.obsidian_sync_env.path ]; }; ## Give internet access diff --git a/hosts/oracle/o001/nginx.nix b/hosts/oracle/o001/nginx.nix index 65c0bb7..543351a 100644 --- a/hosts/oracle/o001/nginx.nix +++ b/hosts/oracle/o001/nginx.nix @@ -134,6 +134,13 @@ proxyPass = "http://100.64.0.13"; }; }; + "obsidiansync.joshuabell.xyz" = { + enableACME = true; + forceSSL = true; + locations."/" = { + proxyPass = "http://100.64.0.1:5984"; + }; + }; "_" = { default = true;