{"id":20713031,"url":"https://github.com/jackdbd/giacomodebidda-indiekit","last_synced_at":"2025-03-11T06:42:57.203Z","repository":{"id":258539056,"uuid":"874122881","full_name":"jackdbd/giacomodebidda-indiekit","owner":"jackdbd","description":"Indiekit server for my personal website","archived":false,"fork":false,"pushed_at":"2024-12-06T00:14:59.000Z","size":165,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-17T21:29:37.579Z","etag":null,"topics":["indiekit","indieweb"],"latest_commit_sha":null,"homepage":"https://giacomodebidda-indiekit.fly.dev/","language":"Nix","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jackdbd.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2024-10-17T09:41:03.000Z","updated_at":"2024-10-21T16:03:02.000Z","dependencies_parsed_at":"2024-11-17T02:34:18.522Z","dependency_job_id":null,"html_url":"https://github.com/jackdbd/giacomodebidda-indiekit","commit_stats":null,"previous_names":["jackdbd/giacomodebidda-indiekit"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jackdbd%2Fgiacomodebidda-indiekit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jackdbd%2Fgiacomodebidda-indiekit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jackdbd%2Fgiacomodebidda-indiekit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jackdbd%2Fgiacomodebidda-indiekit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jackdbd","download_url":"https://codeload.github.com/jackdbd/giacomodebidda-indiekit/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242988012,"owners_count":20217534,"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":["indiekit","indieweb"],"created_at":"2024-11-17T02:23:15.106Z","updated_at":"2025-03-11T06:42:57.173Z","avatar_url":"https://github.com/jackdbd.png","language":"Nix","funding_links":[],"categories":[],"sub_categories":[],"readme":"# My Indiekit server\n\n[Indiekit](https://github.com/getindiekit/indiekit/) server I use to publish content to the [giacomodebidda-content](https://github.com/jackdbd/giacomodebidda-content/) repository.\n\n## Development\n\nTo run this project locally you will need a MongoDB database and the Indiekit app itself. The file [`devenv.nix`](./devenv.nix) declares all the necessary components for a complete developer environment. This file is used by [devenv](https://github.com/cachix/devenv) to create and manage such environment.\n\n`devenv.nix` defines a `mongodb` service (under the hood this background process is managed by [Process Compose](https://github.com/F1bonacc1/process-compose)). You can start it by running this command in a terminal:\n\n```sh\ndevenv up\n```\n\nTo run the Indiekit Node.js app itself you have these alternatives:\n\n- run the `serve` script defined in `devenv.nix` to launch Indiekit as a **Node.js application**.\n- run the `container-run` script defined in `devenv.nix` to launch Indiekit as a **containerized application** (you will need to build the container image first by running `container-build`).\n- Click **Run and Debug** in VS Code to use the [launch configuration](https://code.visualstudio.com/docs/editor/debugging#_launch-configurations) provided in `.vscode/launch.json`.\n\n\u003e [!TIP]\n\u003e When debugging is useful to set the `DEBUG` environment variable.\n\n## Production\n\nMy Indiekit server is deployed on [Fly.io](https://fly.io/). My MongoDB database is hosted on [MongoDB Atlas](https://www.mongodb.com/products/platform/atlas-database).\n\nEvery time I need to deploy a new version of my Indiekit server I run this command:\n\n```sh\nfly-deploy\n```\n\n\u003e [!NOTE]\n\u003e The `Dockerfile` is used to build the container image locally and it's also used by Fly.io. However, [Fly.io uses a Dockerfile not to build a container image, but to create a Firecracker microVM](https://fly.io/blog/docker-without-docker/).\n\nWhenever I change a secret (e.g. `MONGO_URL`), I redeploy my secrets to Fly.io using this command.\n\n```sh\nfly-secrets-set\n```\n\n\u003e [!WARNING]\n\u003e As far as I understand, existing deployments in Fly.io are not updated to use the new secrets, so as soon as I edit my secrets I immediately redeploy my Indiekit server with `fly-deploy`.\n\n## Troubleshooting\n\nTo explore all layers of the container image, you can run this command that launches [dive](https://github.com/wagoodman/dive):\n\n```sh\ncontainer-dive\n```\n\nTo scan the container image for vulnerabilities, you can run this command that uses [trivy](https://github.com/aquasecurity/trivy):\n\n```sh\ncontainer-dive\n```\n\nTo inspect the developer environment generated by devenv, you can run `devenv info`.\n\n\u003e [!CAUTION]\n\u003e The command `devenv info` will print all the secrets that you defined in your `devenv.nix`.\n\n## Other people's Indiekit configurations\n\n- [ciccarello-indiekit](https://github.com/aciccarello/ciccarello-indiekit/)\n- [paulrobertlloyd-indiekit](https://github.com/paulrobertlloyd/paulrobertlloyd-indiekit)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjackdbd%2Fgiacomodebidda-indiekit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjackdbd%2Fgiacomodebidda-indiekit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjackdbd%2Fgiacomodebidda-indiekit/lists"}