{"id":18647632,"url":"https://github.com/artcom/acms-compose","last_synced_at":"2026-03-19T05:35:21.115Z","repository":{"id":142420037,"uuid":"350352290","full_name":"artcom/acms-compose","owner":"artcom","description":"ACMS is a basic, modular, JSON-based and headless CMS","archived":false,"fork":false,"pushed_at":"2024-03-03T12:02:51.000Z","size":269,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-05-17T19:37:51.867Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"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/artcom.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}},"created_at":"2021-03-22T13:23:37.000Z","updated_at":"2025-02-20T20:20:09.000Z","dependencies_parsed_at":"2023-12-04T14:52:55.606Z","dependency_job_id":"d4254420-d3a3-47be-9a82-19fc86758f2f","html_url":"https://github.com/artcom/acms-compose","commit_stats":null,"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/artcom/acms-compose","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artcom%2Facms-compose","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artcom%2Facms-compose/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artcom%2Facms-compose/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artcom%2Facms-compose/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/artcom","download_url":"https://codeload.github.com/artcom/acms-compose/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artcom%2Facms-compose/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28757358,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-25T16:32:25.380Z","status":"ssl_error","status_checked_at":"2026-01-25T16:32:09.189Z","response_time":113,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":[],"created_at":"2024-11-07T06:27:14.673Z","updated_at":"2026-01-25T19:31:38.264Z","avatar_url":"https://github.com/artcom.png","language":null,"readme":"# ACMS Compose\n\nACMS is a simple, modular, headless CMS.\n\nIt is centered around JSON files which contain the content including asset links as well as templates defining the content structure. It is composed of four modules:\n\n| Module      | Task                                     | Github                                               |\n| :---------- | :--------------------------------------- | :--------------------------------------------------- |\n| ACMS Config | git repository to store JSON files       | [acms-config](https://github.com/artcom/acms-config) |\n| ACMS API    | HTTP methods to modify JSON files        | [acms-api](https://github.com/artcom/acms-api)       |\n| ACMS Assets | Webdav asset server to store media files | [acms-assets](https://github.com/artcom/acms-assets) |\n| ACMS UI     | Webapp to edit ACMS content with a UI    | [acms-ui](https://github.com/artcom/acms-ui)         |\n\nThis repository provides [docker-compose](./docker-compose.yml) files to setup the ACMS. It orchestrates the services above in containers as well as an optional `gateway` to access them.\n\n## Requirements\n\n- [docker](https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-22-04) (\u003e= 24.0.6)\n- [docker compose CLI plugin](https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-compose-on-ubuntu-22-04) (\u003e= 2.23.0)\n\n## Install the ACMS UI web page\n\n- download the UI static files inside the `acms-compose` folder\n  ```bash\n  wget https://github.com/artcom/acms-ui/releases/download/v2.17.8/acms-ui-v2.17.8.tar.gz\n  mkdir ui\n  tar -xvzf acms-ui-v2.17.8.tar.gz -C ui\n  ```\n- edit the `ui/config.json` file\n  ```json\n  {\n    \"acmsAssetsUri\": \"https://\u003chostname\u003e/services/acms-assets\",\n    \"acmsApiUri\": \"https://\u003chostname\u003e/services/acms-api\",\n    \"acmsConfigPath\": \"acmsConfig\"\n  }\n  ```\n\n## Start Services\n\n### HTTP Gateway\n\n- edit the `.env.http.example` file\n- deploy with\n\n```bash\ndocker compose --env-file .env.http.example -f docker-compose.yml -f docker-compose-gateway-http.yml up\n```\n\n- browse to the ACMS UI: `http://127.0.0.1`\n\n### HTTPS Gateway\n\n- create an [SSL certificate and key](https://letsencrypt.org/docs/certificates-for-localhost)\n\n```bash\nopenssl req -x509 -out localhost.crt -keyout localhost.key \\\n  -newkey rsa:2048 -nodes -sha256 \\\n  -subj '/CN=localhost' -extensions EXT -config \u003c( \\\n   printf \"[dn]\\nCN=localhost\\n[req]\\ndistinguished_name = dn\\n[EXT]\\nsubjectAltName=DNS:localhost\\nkeyUsage=digitalSignature\\nextendedKeyUsage=serverAuth\")\n```\n\n- create a `dhparam.pem` file\n  ```bash\n  openssl dhparam -out dhparam.pem 2048\n  ```\n- update the `.env.https.example` file\n- deploy with\n\n```bash\ndocker compose --env-file .env.https.example -f docker-compose.yml -f docker-compose-gateway-https.yml up\n```\n\n- browse to the ACMS UI: `https://localhost`\n\n### Basic Authentication\n\n- create a `.htpasswd` file\n\n```bash\nhtpasswd -c .htpasswd username\n```\n\n- edit the `AUTH_FILE` variable in `.env.https.example`\n- deploy with\n\n```bash\ndocker compose --env-file .env.https.example -f docker-compose.yml -f docker-compose-gateway.yml -f docker-compose-gateway-basic-auth.yml up\n```\n\n## CORS\n\n- to support cross origin requests uncomment the `CORS` section in `gateway/nginx.conf`\n\n## Edit Content\n\nThe content repository will be setup with some sample data. To modify the content structure you can clone the config repository:\n\nif you're usting http\n```bash\ngit clone http://localhost/services/acms-config\n```\n\nif you're using https\n```bash\ngit clone https://localhost/services/acms-config\n```\n\n- Edit the template/content files according to the [documentation](https://github.com/artcom/acms-ui)\n- Commit and push your changes\n- Reload the ACMS UI\n\n## Troubleshooting\n\n- use the `--force-recreate` flag when any configurations in `gateway` have changed\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fartcom%2Facms-compose","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fartcom%2Facms-compose","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fartcom%2Facms-compose/lists"}