{"id":32345291,"url":"https://github.com/giocomai/omeka-s-docker","last_synced_at":"2025-10-24T05:04:03.369Z","repository":{"id":48056266,"uuid":"202698043","full_name":"giocomai/omeka-s-docker","owner":"giocomai","description":"A docker image for Omeka S - does not include either modules or themes, just Omeka itself","archived":false,"fork":false,"pushed_at":"2025-08-31T07:59:41.000Z","size":59,"stargazers_count":15,"open_issues_count":3,"forks_count":7,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-11T17:42:48.241Z","etag":null,"topics":["docker-compose","dockerfile","omeka-s"],"latest_commit_sha":null,"homepage":"https://hub.docker.com/r/giocomai/omeka-s-docker","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/giocomai.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2019-08-16T09:20:08.000Z","updated_at":"2025-08-31T07:59:44.000Z","dependencies_parsed_at":"2025-05-05T22:29:16.831Z","dependency_job_id":"c46ca96d-f94a-429b-bd7e-5bdc9a119b4b","html_url":"https://github.com/giocomai/omeka-s-docker","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/giocomai/omeka-s-docker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giocomai%2Fomeka-s-docker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giocomai%2Fomeka-s-docker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giocomai%2Fomeka-s-docker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giocomai%2Fomeka-s-docker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/giocomai","download_url":"https://codeload.github.com/giocomai/omeka-s-docker/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giocomai%2Fomeka-s-docker/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280742541,"owners_count":26382926,"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","status":"online","status_checked_at":"2025-10-24T02:00:06.418Z","response_time":73,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["docker-compose","dockerfile","omeka-s"],"created_at":"2025-10-24T05:04:01.642Z","updated_at":"2025-10-24T05:04:03.361Z","avatar_url":"https://github.com/giocomai.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# omeka-s-docker\n\nThis repository hosts a Dockerfile for easily deploying Omeka S with Docker. The core idea of these images is that they take care only of Omeka S core: you will need to take care of the config files, modules, and themes. \n\nIn order to update, you normally just need to change the tag of the relevant image if you're taking this from Docker Hub, or update the relevant line in the Dockerfile if you build this image yourself.\n\n## Environment Variables\n\nYou can configure the database connection using environment variables instead of editing the database.ini file directly:\n\n| Variable                | Description                            | Default      |\n|-------------------------|----------------------------------------|--------------|\n| MYSQL_DATABASE_USER     | Database username                      |              |\n| MYSQL_DATABASE_PASSWORD | Database password                      |              |\n| MYSQL_DATABASE_NAME     | Database name                          |              |\n| MYSQL_DATABASE_HOST     | Database host                          |              |\n| MYSQL_DATABASE_PORT     | Database port (optional)               | 3306         |\n| MYSQL_DATABASE_SOCKET   | Database unix socket path (optional)   |              |\n| MYSQL_DATABASE_LOG_PATH | Database log path (optional)           |              |\n| APPLICATION_ENV         | App mode: development or production    | production   |\n| OMEKA_THEMES            | List of theme URLs (GitHub repo or zip)|              |\n| OMEKA_MODULES           | List of module URLs (GH repo or zip)   |              |\n| PHP_MEMORY_LIMIT        | PHP memory limit (e.g. 512M)           | 512M         |\n| PHP_UPLOAD_MAX_FILESIZE | Max upload file size (e.g. 64M)        | 128M         |\n| PHP_POST_MAX_SIZE       | Max post size (e.g. 64M)               | 128M         |\n| PHP_MAX_EXECUTION_TIME  | Max script execution time (seconds)    | 300          |\n| OMEKA_ADMIN_EMAIL       | Email for the first Omeka S admin user |              |\n| OMEKA_ADMIN_NAME        | Name of the first admin user           |              |\n| OMEKA_ADMIN_PASSWORD    | Password for the admin user            |              |\n| OMEKA_SITE_TITLE        | Public title of the Omeka S site       |              |\n| OMEKA_TIMEZONE          | Installation timezone (optional)       | UTC          |\n| OMEKA_LOCALE            | Interface locale (optional)            | en_US        |\n\n\u003e If the `OMEKA_ADMIN_` variables (`EMAIL`, `NAME`, `PASSWORD`, `SITE_TITLE`) are not set, Omeka S will not be configured automatically at startup.\n\n## Docker Hub\n\nRecent versions are available directly from Docker Hub  https://hub.docker.com/r/giocomai/omeka-s-docker\n\nCheck out the relevant tags. At this stage, the latest Omeka S Omeka S 4.1.1 is kept reasonably updated. \n\n## docker-compose examples\n\nIn this repository, you will find also a \"docker-compose_traefik_example.yml\". Adjust the lines where you find \"FIXME\" and, after adjusting relevant details in the `database.ini` file you should be good to go with a deployed Omeka S. \n\nIn your `omekas` volume, you will have a `config` folder, and inside it a `database.ini` file.\n\nIts contents should be something along the lines of:\n\n```\nuser     = \"secretstring\"\npassword = \"secretpassword\"\ndbname   = \"secretstring\"\nhost     = \"omekas_db\"\n```\n(obviously, fix these lines with the values you used in your docker-compose.yml)\n\nIf you use this in deployment, you'll probably want to have a look also at the `local.config.php` file in the same folder.\n\nYou will also find a \"docker-compose_local_example.yml\".  Adjust the lines where you find \"FIXME\", update your `database.ini` as shown above, and you should be good to go with an instance of Omeka S on your local machine at the 172.20.0.1 address. \n\n## Installing Themes Automatically\n\nYou can automatically download and install themes by setting the `OMEKA_THEMES` environment variable.\n\nEach entry in this variable must be either:\n\n* A **direct URL to a ZIP file**, pointing to a valid Omeka S theme archive.\n* A **GitHub repository URL**, from which the latest release ZIP will be automatically resolved.\n\nUse one URL per line.\n\nThe ZIP file is expected to contain a single folder at its root. This folder will be extracted into the `themes` directory inside the container or your persistent volume.\n\n### Example\n\nIn your `docker-compose.yml`:\n\n```yaml\nservices:\n  omeka:\n    image: your-image:latest\n    environment:\n      OMEKA_THEMES: |\n        https://github.com/omeka-s-themes/freedom\n        https://github.com/omeka-s-themes/default/releases/download/v1.9.1/theme-default-v1.9.1.zip \n```\nWhen the container starts, it will:\n\n1. Download the ZIP file from the URL.\n2. Extract it into `/var/www/html/volume/themes/`.\n3. Set the proper file permissions.\n\nIf the theme is already present in the `themes` directory, the download will be skipped.\n\n## Installing Modules Automatically\n\nYou can also automatically install modules by setting the `OMEKA_MODULES` environment variable. This should contain one or more URLs (one per line) pointing to GitHub repositories or ZIP files of valid Omeka S modules.\n\nThe ZIP archives are expected to contain a single folder at their root. These folders will be extracted into the `modules` directory inside your persistent volume.\n\n### Example\n\nIn your `docker-compose.yml`:\n\n```yaml\nservices:\n  omeka:\n    image: your-image:latest\n    environment:\n      OMEKA_MODULES: |\n        https://github.com/Daniel-KM/Omeka-S-module-Common\n        https://github.com/Daniel-KM/Omeka-S-module-EasyAdmin/releases/download/3.4.29/EasyAdmin-3.4.29.zip\n```\n\nAt container startup:\n\n1. Each ZIP file will be downloaded.\n2. Its contents will be extracted into `/var/www/html/volume/modules/`.\n3. Permissions will be set accordingly.\n\nIf a module is already present in the `modules` directory, the download will still proceed unless you implement further logic for skipping.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgiocomai%2Fomeka-s-docker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgiocomai%2Fomeka-s-docker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgiocomai%2Fomeka-s-docker/lists"}