{"id":20825865,"url":"https://github.com/upstatement/ups-dock","last_synced_at":"2025-12-27T04:09:50.626Z","repository":{"id":58822239,"uuid":"119058852","full_name":"Upstatement/ups-dock","owner":"Upstatement","description":"A front-end stack for Docker-based projects at Upstatement","archived":false,"fork":false,"pushed_at":"2024-02-05T22:24:49.000Z","size":72,"stargazers_count":23,"open_issues_count":4,"forks_count":6,"subscribers_count":17,"default_branch":"develop","last_synced_at":"2025-01-18T17:48:30.701Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://ups.dock","language":"HTML","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/Upstatement.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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-01-26T14:09:20.000Z","updated_at":"2024-08-03T15:21:55.000Z","dependencies_parsed_at":"2025-01-18T17:43:52.320Z","dependency_job_id":"ce986ef2-a5a3-4930-9dda-eb8e018b13a5","html_url":"https://github.com/Upstatement/ups-dock","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/Upstatement%2Fups-dock","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Upstatement%2Fups-dock/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Upstatement%2Fups-dock/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Upstatement%2Fups-dock/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Upstatement","download_url":"https://codeload.github.com/Upstatement/ups-dock/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243173112,"owners_count":20248047,"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-17T23:07:00.015Z","updated_at":"2025-12-27T04:09:45.589Z","avatar_url":"https://github.com/Upstatement.png","language":"HTML","readme":"# Ups Dock\n\n\u003e Streamline your local development workflow with Docker.\n\nAt Upstatement we're [technology agnostic](https://www.upstatement.com/engineers/values.html). We love tooling that enables us to build in any tech stack with minimal fuss, and [shortens the feedback loop](https://vimeo.com/36579366) between changing things and seeing the results. [Docker](https://www.docker.com/) allows us to quickly spin up local development environments with any tech stack and build in a production-like environment, simulatenously solving the \"works on my machine\" problem, avoiding conflicting dependencies between projects, and keeping our local machines clean.\n\nUps Dock is our solution to some common pain points we encountered working with Docker, namely automating DNS resolution and SSL certificate management across projects.\n\n## Table of Contents\n\n- [Ups Dock](#ups-dock)\n  - [Table of Contents](#table-of-contents)\n  - [What's in the Box](#whats-in-the-box)\n  - [System Requirements](#system-requirements)\n  - [Installation](#installation)\n  - [Getting Started](#getting-started)\n  - [Making your project work with Ups Dock](#making-your-project-work-with-ups-dock)\n  - [Troubleshooting](#troubleshooting)\n  - [Contributing](#contributing)\n  - [Code of Conduct](#code-of-conduct)\n  - [About Upstatement](#about-upstatement)\n\n## What's in the Box\n\nUps Dock provides a number of tools designed to streamline the process of spinning up and switching between projects.\n\n- **Dashboard**. Visit https://ups.dock to view all of your Ups Dock-compatible Docker projects.\n- **Proxy**. An nginx instance configured to proxy requests to connected containers. Based on [nginx-proxy](https://github.com/jwilder/nginx-proxy).\n- **DNS**. A custom DNS server to resolve all `*.ups.dock` host names to the nginx proxy, powered by [dnsmasq](https://github.com/andyshinn/docker-dnsmasq).\n- **SSL**. A shared, self-signed wildcard certificate for use with `*.ups.dock` domains.\n- **Email**. A fake mail server to intercept e-mails while in development, powered by [Mailhog](https://github.com/mailhog/MailHog).\n\n## System Requirements\n\n- Mac OS Sierra 10.12 and newer\n- [Docker Desktop](https://www.docker.com/products/docker-desktop)\n- Administrator privileges (the install script requires `sudo` to modify a few system settings related to DNS resolution and trusting SSL certificates).\n\n## Installation\n\n1. Clone this repository\n\n   ```bash\n   git clone git@github.com:Upstatement/ups-dock.git \u0026\u0026 cd ups-dock\n   ```\n\n2. Run the install script\n\n   ```bash\n   ./bin/install.sh\n   ```\n\n3. Visit the [dashboard](https://ups.dock) to view all of your ups.dock sites\n\n   ```bash\n   open https://ups.dock\n   ```\n\n## Getting Started\n\nWe've curated a collection of Ups Dock-compatible starter kits for the most common stacks we're working with these days:\n\n- [Skela (Wordpress + Timber)](https://github.com/Upstatement/skela-wp-theme)\n- [Craft CMS](https://github.com/Upstatement/craft-starter)\n\n## Making your project work with Ups Dock\n\nOur starter kits not cutting it? Roll your own!\n\nYou can add Ups Dock support to your Docker Compose project with a few simple steps:\n\n1. Add the `VIRTUAL_HOST` and `UPS_DOCK_NAME` environment variables to your web service\n2. Add the `ups-dock` external network to your web service\n3. Configure your web services' application to use Mailhog (optional)\n\nHere's a minimal `docker-compose.yml` example:\n\n```yaml\nversion: '3.5'\nservices:\n  web:\n    image: your-web-image\n    environment:\n      # Display name presented on http://ups.dock\n      UPS_DOCK_NAME: Example Website\n      # Host name you want to use. Must end in `ups.dock`.\n      VIRTUAL_HOST: example.ups.dock\n      # Allow http and https traffic (default will automatically redirect http -\u003e https)\n      HTTPS_METHOD: noredirect\n      # Set this if your web service is running on a port other than 80\n      # VIRTUAL_PORT: 8080\n    networks:\n      - proxy\n      - default\nnetworks:\n  proxy:\n    name: ups-dock\n    external: true\n```\n\nYou can route SMTP traffic to the `mailhog` host, port `1025` to catch outgoing email during development. Intercepted email is visible at https://mailhog.ups.dock.\n\n## Troubleshooting\n\n### Docker Desktop: Error invoking remote method `docker-start-container` - Mounts Denied\n\n![image](https://user-images.githubusercontent.com/1508604/188007165-5bfbb1c7-bfcb-4cae-9f79-3b533e637cc9.png)\n\nYou should be able to resolve this by re-creating the Ups Dock containers with the following command:\n\n```\ndocker-compose up -d\n```\n\n## Contributing\n\nWe welcome all contributions to our projects! Filing bugs, feature requests, code changes, docs changes, or anything else you'd like to contribute are all more than welcome! More information about contributing can be found in the [contributing guidelines](.github/CONTRIBUTING.md)\n\n## Code of Conduct\n\nUpstatement strives to provide a welcoming, inclusive environment for all users. To hold ourselves accountable to that mission, we have a strictly-enforced [code of conduct](CODE_OF_CONDUCT.md).\n\n## About Upstatement\n\n[Upstatement](https://www.upstatement.com/) is a digital transformation studio headquartered in Boston, MA that imagines and builds exceptional digital experiences. Make sure to check out our [services](https://www.upstatement.com/services/), [work](https://www.upstatement.com/work/), and [open positions](https://www.upstatement.com/jobs/)!\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fupstatement%2Fups-dock","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fupstatement%2Fups-dock","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fupstatement%2Fups-dock/lists"}