{"id":13312216,"url":"https://github.com/bad-mushroom/eco","last_synced_at":"2026-01-21T18:41:01.719Z","repository":{"id":37761707,"uuid":"504351583","full_name":"bad-mushroom/eco","owner":"bad-mushroom","description":"A personal web ecosystem.","archived":false,"fork":false,"pushed_at":"2022-07-15T11:41:37.000Z","size":11427,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-06T10:00:42.859Z","etag":null,"topics":["blog","content-management-system","indieweb","laravel","microformats","ownyourcontent"],"latest_commit_sha":null,"homepage":"","language":"PHP","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/bad-mushroom.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}},"created_at":"2022-06-17T01:03:29.000Z","updated_at":"2022-06-28T00:54:52.000Z","dependencies_parsed_at":"2022-07-12T21:01:21.642Z","dependency_job_id":null,"html_url":"https://github.com/bad-mushroom/eco","commit_stats":null,"previous_names":[],"tags_count":18,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bad-mushroom%2Feco","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bad-mushroom%2Feco/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bad-mushroom%2Feco/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bad-mushroom%2Feco/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bad-mushroom","download_url":"https://codeload.github.com/bad-mushroom/eco/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242921697,"owners_count":20207090,"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","content-management-system","indieweb","laravel","microformats","ownyourcontent"],"created_at":"2024-07-29T18:03:37.479Z","updated_at":"2026-01-21T18:41:01.686Z","avatar_url":"https://github.com/bad-mushroom.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Eco - Personal Web Ecosystem\n\nInspired by @IndieWeb, Eco aims to be a personal hub for your web presence and publishing platform where you own your content.\n\nBuilt with modern tooling:\n- Laravel 9\n- Bootstrap 5 \u0026 SaSS\n- Livewire\n\nFeatures\n- Not a blog platform, a content platform\n- Developer friendly\n- Extendable themes\n- Supports hCard microformat\n- Atom syndication\n\nEco is still very early in development and may not recommended for production sites - take it for a spin locally first. Pull requests and issues are very much welcome!\n\n## Screenshots\n\n[Theme](https://github.com/bad-mushroom/eco/blob/main/docs/screenshots/default_theme.png?raw=true)\n\n[Creating Stories](https://github.com/bad-mushroom/eco/blob/main/docs/screenshots/manage_create.png?raw=true)\n\n# Development Installation\n\n## Requirements\n\n* Docker [Docker Website](http://www.docker.com)\n* Git [Git Website](https://git-scm.com/)\n* Composer [PHP Composer Website](https://getcomposer.org/)\n* NPM [NPM Website](https://www.npmjs.com/)\n\n### Clone this repo locally\n\n```\ngit clone https://github.com:bad-mushroom/eco.git ./my-website/eco\n\ncd ./eco\n```\n\nThe remaining installation steps will assume you're in the `eco` directory, or which ever directory you cloned the repo to.\n\n### Install Composer Dependencies\n\n```\ncomposer install\n```\n\n### Environemnt Variables\n\nEco is built on Laravel which uses .env files for environment configuration. You'll first need to copy the example file.\n\n```\ncp .env.example .env\n```\n\n#### Paths\n\nIn your `.env` file there are a few paths that Eco will use to store content that you create - your data, file uploads, custom themes, etc. All of that data needs to be stored outside of Docker otherwise it will be lost each time Docker recreates its containers.\n\nThe values should be a relative path from the root Eco directory.\n\n```\n# -- Environment\n\nCONTENT_PATH=../eco-content\nDATABASE_PATH=../eco-db\nTHEMES_PATH=../eco-themes\nPUBLIC_PATH=../eco-public\n```\n\nLet's say you have installed Eco in `/srv/apps/my-website/eco`. When Eco builds, your content files will be placed in `/srv/apps/my-website/eco-content`.\n\n### Docker\n\nWith the configuration values in place, we need to spin up Eco's Docker environemnt. This will spin up all the necessary containers to run Eco; MySQL, php-fpm, etc.\n\n```\ndocker-compose up\n```\n\n### Node Packages\n\nThere are a handfull of node packages to install and frontend assets to build that Eco requires for the admin pages.\n\n```\ncd resources/views/manage\nnpm i\nnpm run dev\n```\n\n### Environment Setup\n\nWe'll need to build the database tables, seed them with some initial data, generate an app key, etc... but we can do this all with one command:\n\n```\ndocker exec -it eco_fpm /var/www/artisan eco:setup\n```\n\n# Configuration\n\n### Theme Assets\n\nAnytime you add a theme or make changes to any frontend assets you'll need to publish those changes.\n\n```\ndocker exec -it eco_fpm /var/www/artisan eco:publish-theme-assets\n```\n\n### User Account\n\nBy default, there isn't a user account created during setup. To do this there is an artisan command you can run:\n\n```\ndocker exec -it eco_fpm /var/www/artisan eco:make-account \u003cemail address\u003e \u003cname\u003e --password=\u003cpassword\u003e\n```\n\nFor example:\n```\n$ docker exec -it eco_fpm /var/www/artisan eco:make-account chris@example.org Chris --password password123\nUser account created:\n - ID: 8eded58c-6cca-41f8-be73-c79584d767d9\n - Email: chris@example.org\n - Name: Chris\n - Password: password123\n```\n\n# Wrapping Up\n\nYou should now be able to access Eco in your web browser at http://localhost:8080 to see the main page or the admin page at http://localhost:8300/manage and log in with the email/password you created.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbad-mushroom%2Feco","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbad-mushroom%2Feco","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbad-mushroom%2Feco/lists"}