{"id":19163288,"url":"https://github.com/oada/oadadeploy","last_synced_at":"2026-06-17T13:30:19.252Z","repository":{"id":78121710,"uuid":"345212060","full_name":"OADA/oadadeploy","owner":"OADA","description":"Bash command-line tool to aid in oada deployments.","archived":false,"fork":false,"pushed_at":"2021-06-15T03:10:40.000Z","size":219,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":12,"default_branch":"master","last_synced_at":"2025-01-03T21:43:33.523Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OADA.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":"2021-03-06T22:51:28.000Z","updated_at":"2021-06-15T03:10:43.000Z","dependencies_parsed_at":"2023-02-26T13:31:23.083Z","dependency_job_id":null,"html_url":"https://github.com/OADA/oadadeploy","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OADA%2Foadadeploy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OADA%2Foadadeploy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OADA%2Foadadeploy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OADA%2Foadadeploy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OADA","download_url":"https://codeload.github.com/OADA/oadadeploy/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240245887,"owners_count":19771029,"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":[],"created_at":"2024-11-09T09:14:44.324Z","updated_at":"2026-06-17T13:30:19.111Z","avatar_url":"https://github.com/OADA.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# oadadeploy\n----------------------------------\nCommand-line client to aid in managing an oada deployment.\n\nThis tool helps you to setup domains, add other services, and bring everything up and down together.\nIt primarily combines all your `docker-compose.yml` files together into a single master and enables\nyou write a single `docker-compose.override.yml`.  It also includes the proper environment and volume mounts\nfor your domains.\n\n## Install\n---------------------------------\nCreate a folder to hold your local `oada` installation, then curl this file into it and make it executable.\n\n```bash\ncurl -OfsSL https://raw.githubusercontent.com/oada/oadadeploy/master/oadadeploy \u0026\u0026 chmod u+x oadadeploy\n```\n\n## Usage\n----------------------------------\n*Step 1*: Install oada and create deployment structure\n```bash\noadadeploy init\nsource .oadadeploy/bash-completion\n```\nThis creates the following structure:\n```\noada/\n     docker-compose.yml: oada release docker-compose file\ndomains/\n     docker-compose.yml: all overrides necessary to enable your domains\n     \u003cdomain_name\u003e/: one folder per domain holding files like SSL certs, configs, private keys, etc.\nservices/\n     docker-compose.yml: all your individual service's docker-compose.oada.yml files squashed together\n     \u003cservice_name\u003e/: one folder per installed service holding a file named \"docker-compose.oada.yml\"\nsupport/: any files you need to map into your overrides specific to this deployment (signing keys, etc.)\ndocker-compose.yml: squashed together oada, domains, and services docker-compose.yml files.  This is your core deployment.\ndocker-compose.override.yml: anything you want to override from the docker-compose.yml file.\n.oadadeploy/: place for oadaddeploy to keep track of things like which domain is your primary domain, bash-completion, etc.\n```\n\n*Step 2*: Setup your primary domain\nIf you are on a non-public IP, you need to setup localhost.  If you have a domain name, use that instead.\n```\noadadeploy domain add -y localhost\n```\nThis creates a `domains/localhost` file and refreshes your main docker-compose.yml.\n\n*Step 3*: Install some services\nIf you have some properly-constructed services that you'd like to bring up and down with your\noada installation, or any modules that will override some oada behavior, you can\ninstall them from a github release:\n```\noadadeploy service install \u003corg\u003e/\u003crepo\u003e\n```\nThe release you choose must have at least a docker-compose.oada.yml file for the service to be merged in.\nThe services are all merged into `services/docker-compose.yml` prior to merging into the main `docker-compose.yml`.\n\nNote that you **can** just clone a git repo there instead of using oadadeploy to pull a release and it will work fine\nas long as the thing you cloned has a docker-compose.oada.yml file.  If the service's directory has a `.git/` folder, \nit will not upgrade or mess with it.\n\n\n## Additional Commands\n-------------------------------\nAll commands will print usage information with `-h` or `help`.\n\n**upgrade**: change your oada version to a different release.\n```\noadadeploy upgrade\n```\n\n**refresh**: if you change anything in your base docker-compose files (oada/, domains/ services/), run this to re-merge them into `docker-compose.yml`.\n```\noadadeploy refresh\n```\n\n**service upgrade**: upgrade a particular service to a new version\n```\noadadeploy service upgrade \u003cservicename\u003e\n```\n\n**domain**: add a domain or refresh your domains/docker-compose.yml\n```\noadadeploy domain add my.domain\noadadeploy domain refresh\n```\n\n## Create oadadeploy installable service\n---------------------------------------\n\n`oadadeploy` looks for `docker-compose.oada.yml` inside the `services/\u003cname\u003e` directory.  Simply create a service\nwith that file (which assumes the context is the root of an oadadeployment), and you're good.  If you want to\nmake your service installable and upgradeable, make the docker-compose.oada.yml file accessible in a github release.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foada%2Foadadeploy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foada%2Foadadeploy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foada%2Foadadeploy/lists"}