{"id":19732085,"url":"https://github.com/ffalt/jam-docker","last_synced_at":"2026-01-31T17:01:33.755Z","repository":{"id":67930273,"uuid":"262533897","full_name":"ffalt/jam-docker","owner":"ffalt","description":"default configuration running jam with docker","archived":false,"fork":false,"pushed_at":"2025-07-01T16:53:56.000Z","size":40,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-07-01T17:46:40.262Z","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":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ffalt.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}},"created_at":"2020-05-09T09:18:43.000Z","updated_at":"2025-07-01T16:53:59.000Z","dependencies_parsed_at":null,"dependency_job_id":"b02456a3-2450-4cfb-9634-8309a07e324a","html_url":"https://github.com/ffalt/jam-docker","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ffalt/jam-docker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffalt%2Fjam-docker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffalt%2Fjam-docker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffalt%2Fjam-docker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffalt%2Fjam-docker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ffalt","download_url":"https://codeload.github.com/ffalt/jam-docker/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffalt%2Fjam-docker/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28948356,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-31T14:26:55.697Z","status":"ssl_error","status_checked_at":"2026-01-31T14:26:52.545Z","response_time":128,"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":[],"created_at":"2024-11-12T00:24:40.372Z","updated_at":"2026-01-31T17:01:33.740Z","avatar_url":"https://github.com/ffalt.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# jam-docker\na default configuration running jam \u0026 postgres with docker\n\n## Platform Support\n\n[docker images](https://hub.docker.com/r/ffalt/jam/tags) are available as\n\n* amd64\n* arm64\n\n## Howto\n\n### Download\n\ndownload this repo with git (or use the github download button and unzip the downloaded file)\n\n`git clone https://github.com/ffalt/jam-docker.git jam`\n\nnavigate to the downloaded/extracted folder\n\n`cd jam`\n\ncopy default config files (DO NOT SKIP THIS STEP)\n\n```\ncp .env.dist .env\ncp storage/data/config/firststart.config.json.dist storage/data/config/firststart.config.json\n```\n\ncreate a folder for the database files\n\n```\nmkdir storage/db/postgres\n```\n\n### Configuration\n\nFolder \u0026 files structure:\n```\njam\n├── .env                      # Jamserve settings\n└── storage                   # runtime data folder\n    ├── data                    # where Jam stores its data\n    │   ├── config                     # where Jam read its configuration\n    │   │   └── firststart.config.json # Default admin user and media source settings\n    │   └ ...                          # Other Cache directories \n    ├── db                      # where the Database stores its files\n    ├── logs                    # where Jam stores its log files\n    └── media                   # where you can store or link your media sources\n```\n\nMost of the configuration is already done to match the docker configuration. \n\nFollowing important settings have to be changed by you:\n\n### `.env`\n\nBasic Environment Settings\n\nThese settings are used on startup, changes require a Docker restart.\n\n```\n# Server Domain URL (e.g. https://music.yourdomain.somewhere)\nJAM_DOMAIN=http://localhost:4040\n\n# Server listen address\nJAM_HOST=0.0.0.0\n\n# Server listen port\nJAM_PORT=4040\n\n# Log Level, possible values: 'error' | 'warn' | 'info' | 'debug'\nJAM_LOG_LEVEL=info\n\n# Due to CORS security you MUST name all domains where login with session cookie is allowed\n# https://de.wikipedia.org/wiki/Cross-Origin_Resource_Sharing\n#  (background: random sites cannot access/create cookies for your domain)\nJAM_ALLOWED_COOKIE_DOMAINS=http://localhost:4040\n\n# An unique string for your instance to sign the session cookie (change it!)\n# http://www.senchalabs.org/connect/session.html\nJAM_JWT_SECRET=keyboard cat is stomping\nJAM_SESSION_SECRET=keyboard cat is dancing\n\n# If true, session cookies are only available for https, NOT http\nJAM_SESSION_COOKIE_SECURE=false\n\n# Set true if you want to use a reverse proxy like nginx\nJAM_SESSION_TRUST_PROXY=false\n\n# Database name\nJAM_DB_NAME=jam\n\n# Database user name\nJAM_DB_USER=jam\n\n# Database user password\nJAM_DB_PASSWORD=jam\n\n```\n\n\n### `storage/data/config/firststart.config.json`\n\nMedia and User Settings only applied once on first start\n\nJam in Docker expects all path entries to your media in `\u003clocation on your system\u003e/jam/data/media/` to be replaced with `/usr/share/media/`\n\ne.g. `/Users/ffalt/projects/jam/docker/run/data/media/Awesome Collection`\n\nentered as `/usr/share/media/music/Awesome Collection`\n\nThese settings are copied to the database on the first run, you can change them within the Admin Section of the front-end.\n\n```json5\n/*\n  Add Admin user and media folders on first start\n */\n{\n  /*\n    Default Admin user\n  */\n  \"adminUser\": {\n    \"name\": \"admin\",\n    /*\n      Since the default admin password is stored in clear in this file,\n      you MUST change it on first login\n    */\n    \"pass\": \"your admin password\"\n  },\n  /*\n    Default Media folders\n    Scan strategies:\n    'auto' -- try to figure it out\n    'artistalbum' -- artist/album folder structure\n    'compilation' -- bunch of compilation folders\n    'audiobook' -- bunch of audiobook folders\n   */\n  \"roots\": [\n    {\"name\": \"Music\", \",path\": \"path/to/music\", strategy: \"auto\"},\n    {\"name\": \"Compilations\", \"path\": \"path/to/compilations\", \"strategy\": \"compilation\"},\n    {\"name\": \"Soundtracks\", \"path\": \"path/to/soundtracks\", \"strategy\": \"compilation\"},\n    {\"name\": \"Audiobooks\", \"path\": \"path/to/audiobooks\", \"strategy\": \"audiobook\"}\n  ]\n}\n```\n\n### Build\n`docker compose build`\n\n### Start\n`docker compose up -d`\n\n### Stop\n`docker compose stop`\n\n### Update\n`docker compose pull`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fffalt%2Fjam-docker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fffalt%2Fjam-docker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fffalt%2Fjam-docker/lists"}