{"id":26745867,"url":"https://github.com/mmmries/blog","last_synced_at":"2025-04-14T19:54:46.051Z","repository":{"id":7881090,"uuid":"9256162","full_name":"mmmries/blog","owner":"mmmries","description":"My Blog","archived":false,"fork":false,"pushed_at":"2024-09-15T23:21:40.000Z","size":11305,"stargazers_count":2,"open_issues_count":1,"forks_count":2,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-03-28T08:19:31.572Z","etag":null,"topics":["blog","elixir"],"latest_commit_sha":null,"homepage":"","language":"Elixir","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mmmries.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2013-04-06T06:13:10.000Z","updated_at":"2024-12-15T02:40:47.000Z","dependencies_parsed_at":"2023-10-20T17:33:33.582Z","dependency_job_id":"c7dea7e9-6cec-49a4-95f0-5c216c34e1a9","html_url":"https://github.com/mmmries/blog","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mmmries%2Fblog","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mmmries%2Fblog/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mmmries%2Fblog/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mmmries%2Fblog/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mmmries","download_url":"https://codeload.github.com/mmmries/blog/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248952139,"owners_count":21188422,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["blog","elixir"],"created_at":"2025-03-28T08:19:36.354Z","updated_at":"2025-04-14T19:54:46.030Z","avatar_url":"https://github.com/mmmries.png","language":"Elixir","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Blog\n\nMy personal blog\n\n## Writing\n\nWhen I'm writing locally for this blog, I run the following steps to get the server up and running.\nIt should reload immediately when changes are made.\n\n```shell\n$ mix deps.get\n$ source .env\n$ iex --name blog@127.0.0.1 -S mix phx.server\n```\n\n\u003e The .env file contains sensitive credentials needed for the application. It is not committed to the git repo.\n\n## Deploying\n\nThis blog is deployed using [Fly](https://fly.io).\nWhen changes are ready to be published, make sure [you have installed flyctl](https://fly.io/docs/hands-on/installing/) and then run `fly deploy` in the home directory.\nIf you are on an M1 mac there may be some architecture issues, so you need to run `fly deploy --remote-only` to build the docker image on a remote host.\n\n## Interacting With Production\n\nThere are two easy ways to connect to the production instance of this application.\nYou can use `fly ssh console` to easily jump onto the shell of the production instance.\nThis is handy for checking out files etc, and you can also quickly jump into the app with `/app/blog/bin/blog remote` to jump into an IEx shell connected to the running application.\n\nWe also have a helper `./remote_connect.sh` which can connect a local vm to the production instance so you can use things like `:observer.start()` to introspect the production instance.\n\n## Showoff\n\nThis application also hosts the showoff tool which is a tool to learn about programming and SVG.\nIn order to access it you need to make a request with a hostname prefixed by `showoff.*`.\nThe easiest way to do this in development is to add an entry to `/etc/hosts` that points `showoff.local` to `127.0.0.1`.\nThen in your browser you can go to `http://showoff.local:4001`.\n\n## Home\n\nI've started to build out some functionality that I plan to use as a way to manage some home automation hobby projects.\nIdeally I would like these to be only available via the `home.riesd.com` domain, but I can't test OAuth flows via a `home.local` domain.\nI can only use public domains or `localhost`.\nTo work around this problem for now all of the routes for the home app are available on any subdomain, but I'd love to find a better solution for this to isolate the functionality more cleanly.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmmmries%2Fblog","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmmmries%2Fblog","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmmmries%2Fblog/lists"}