{"id":29995261,"url":"https://github.com/mrdaemon/factorio-container","last_synced_at":"2026-05-17T11:33:10.822Z","repository":{"id":39916295,"uuid":"150968890","full_name":"mrdaemon/factorio-container","owner":"mrdaemon","description":"A hopefully reasonable headless factorio server container","archived":false,"fork":false,"pushed_at":"2025-03-27T16:48:44.000Z","size":56,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-08-05T01:35:23.710Z","etag":null,"topics":["docker-container","factorio","headless-server"],"latest_commit_sha":null,"homepage":null,"language":"Shell","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/mrdaemon.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":"2018-09-30T13:17:49.000Z","updated_at":"2025-03-27T16:40:28.000Z","dependencies_parsed_at":"2024-10-27T06:40:34.291Z","dependency_job_id":null,"html_url":"https://github.com/mrdaemon/factorio-container","commit_stats":null,"previous_names":[],"tags_count":50,"template":false,"template_full_name":null,"purl":"pkg:github/mrdaemon/factorio-container","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrdaemon%2Ffactorio-container","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrdaemon%2Ffactorio-container/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrdaemon%2Ffactorio-container/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrdaemon%2Ffactorio-container/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mrdaemon","download_url":"https://codeload.github.com/mrdaemon/factorio-container/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrdaemon%2Ffactorio-container/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33136746,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-17T09:28:26.183Z","status":"ssl_error","status_checked_at":"2026-05-17T09:27:52.702Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: 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":["docker-container","factorio","headless-server"],"created_at":"2025-08-05T01:35:17.230Z","updated_at":"2026-05-17T11:33:10.805Z","avatar_url":"https://github.com/mrdaemon.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Factorio-container\n\n[![CI](https://github.com/mrdaemon/factorio-container/actions/workflows/main-pipeline.yml/badge.svg)](https://github.com/mrdaemon/factorio-container/actions/workflows/main-pipeline.yml)\n\nA hopefully reasonable headless factorio server container\n\nAutomatic image builds available on docker hub:\nhttps://hub.docker.com/r/mrdaemon/factorio\n\n## What is this?\n\nYet another headless server for Factorio made by some asshole on the internet because they felt they knew better.\n\n## But why?\n\nGame servers are the kind of reasonably ephemeral, self-contained services that are a good target for containers.\n\n## What was wrong the gazillion other ones\n\nWhat's different with this one is that it doesn't require a baked in UID and has the entirety of its writable data on a single volume.\nThat's basically all I wanted so there it is.\n\n## Can I run this?\n\nSure, but whether or not you should is a different question.\nDon't just pull and run random container off the internet and expect a good time, if you feel like using this, review it first.\n\n## Will this stay up to date?\nOn a best effort basis, while I'm actively making use of it.\nThat said, the Dockerfile takes two arguments: a version number and a SHA256 checksum for the resulting file.\nThis makes rebuilding with a new version for your own uses trivial, should you want to.\nPRs are welcome, too!\n\n## What can I configure\nThere are some environment variables you can change.\nThe rest is going to be configuration files in the data volume, that are factorio specific.\n\nSee the Dockerfile for a list.\nAlso see the `docker-compose.yml` file for an example compose file.\n\n# Quickstart\n\n## Quick Test\n\n1. Put your current uid in the `docker-compose.yml` file\n2. `$ docker-compose up --build`\n3. Data is under the `testvolume/` directory.\n\n## Production\n\n1. Create a user and group to use as a service account on the docker host, note the uid and gid. It can be a system user if you'd like (ex. 999:999).\n2. Create a directory tree somewhere on the host to hold the game data and configurations, e.g: `mkdir -p /srv/factorio/{config,saves,mods}`\n3. (optional) Place your existing configurations and saves in the relevant directories.\n3. Change ownership and permissions on this directory tree to match the service account and group.\n4. Run the container with `--user 999:999` where the uid and gid are the ones of the service account and group as well as the volume mount on `/opt/factorio/volume`\n\nOn first run, the container will generate a new set of configurations off the defaults and create an initial map with them. You can either place your own configs in the relevant directories, or run the container once, stop, edit the configuration files and start it back up.\n\nThe rcon password can be found under `/path/to/your/volume/rconpw`. It will be generated automatically on first run, if none is specified.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmrdaemon%2Ffactorio-container","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmrdaemon%2Ffactorio-container","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmrdaemon%2Ffactorio-container/lists"}