{"id":36924232,"url":"https://github.com/my-devices/meta-gateway-docker","last_synced_at":"2026-02-02T12:03:14.954Z","repository":{"id":170587144,"uuid":"285473183","full_name":"my-devices/meta-gateway-docker","owner":"my-devices","description":"macchina.io REMOTE provides secure remote access via web (HTTP), shell (SSH), remote desktop (VNC, RDP) and other protocols to IoT devices behind routers or firewalls. No port forwarding, scarce public IPv4 addresses, or complex and inflexible VPNs required. This repository contains the files to build and run the macchina.io REMOTE Gateway Docker image.","archived":false,"fork":false,"pushed_at":"2026-01-20T15:09:43.000Z","size":37,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2026-01-28T23:46:11.208Z","etag":null,"topics":["docker","edge-device","iot","iot-gateway","remote-access"],"latest_commit_sha":null,"homepage":"https://macchina.io/remote","language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsl-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/my-devices.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-08-06T04:28:51.000Z","updated_at":"2026-01-20T15:14:30.000Z","dependencies_parsed_at":"2023-12-07T14:47:28.222Z","dependency_job_id":null,"html_url":"https://github.com/my-devices/meta-gateway-docker","commit_stats":null,"previous_names":["my-devices/meta-gateway-docker"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/my-devices/meta-gateway-docker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/my-devices%2Fmeta-gateway-docker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/my-devices%2Fmeta-gateway-docker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/my-devices%2Fmeta-gateway-docker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/my-devices%2Fmeta-gateway-docker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/my-devices","download_url":"https://codeload.github.com/my-devices/meta-gateway-docker/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/my-devices%2Fmeta-gateway-docker/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29012209,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-02T10:37:29.253Z","status":"ssl_error","status_checked_at":"2026-02-02T10:37:28.644Z","response_time":58,"last_error":"SSL_read: 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","edge-device","iot","iot-gateway","remote-access"],"created_at":"2026-01-12T19:00:25.489Z","updated_at":"2026-02-02T12:03:14.948Z","avatar_url":"https://github.com/my-devices.png","language":"Dockerfile","funding_links":[],"categories":["Dockerfile"],"sub_categories":[],"readme":"# The macchina.io REMOTE Gateway Docker Image\n\n## About macchina.io REMOTE\n\n[macchina.io REMOTE](https://macchina.io/remote) provides secure remote access to connected devices\nvia HTTP or other TCP-based protocols and applications such as secure shell (SSH) or\nVirtual Network Computing (VNC). With macchina.io REMOTE, any network-connected device\nrunning the macchina.io REMOTE Device Agent software can be securely accessed remotely over the internet\nfrom browsers, mobile apps, desktop, server or cloud applications.\n\nThis even works if the device is behind a NAT router, firewall or proxy server.\nThe device becomes just another host on the internet, addressable via its own URL and\nprotected by the macchina.io REMOTE server against unauthorized or malicious access.\nmacchina.io REMOTE is a great solution for secure remote support and maintenance,\nas well as for providing secure remote access to devices for end-users via web or\nmobile apps.\n\nVisit [macchina.io/remote](https://macchina.io/remote) to learn more and to register for a free account.\nSpecifically, see the [Getting Started](https://macchina.io/remote_signup.html) page and the\n[Frequently Asked Questions](https://macchina.io/remote_faq.html) for\ninformation on how to use the macchina.io REMOTE device agent.\n\nThere is also a [blog post](https://macchina.io/blog/?p=257) showing step-by-step instructions to connect a Raspberry Pi.\n\n## About This Docker Image\n\nThis repository contains a [Dockerfile](Dockerfile) and related files for building and running\nthe [macchina.io REMOTE Gateway](https://github.com/my-devices/gateway) in a Docker container.\n\nThe image comes with a configuration file ([`rmgateway.properties`](rmgateway.properties)) that allows\nconfiguring the most essential settings via environment variables.\nThe following environment variables are supported:\n\n  - `DOMAIN`: The domain (UUID) of the device. Must be specified.\n  - `HTTP_PORT`: The port number where the gateway's web server runs on. Defaults to 8080.\n  - `REFLECTOR_URI`: The address of the macchina.io REMOTE Server (*reflector*).\n    Default: https://remote.macchina.io\n  - `LOGPATH`: Path to the log file (defaults to `/var/log/rmgateway.log`); can be\n    overridden to log to a different file (e.g. in a volume). Note: `LOGCHANNEL` must\n    be set to `file` for the logfile to be written.\n  - `LOGLEVEL`: Specifies the log level (`debug`, `information`, `notice`, `warning`,\n    `error`, `critical`, `fatal`, `none`). Defaults to `information`.\n  - `LOGCHANNEL`: Specifies where log messages go (`file` or `console`). Defaults to `console`.\n  - `CONNECT_TIMEOUT`: The timeout (in seconds) for connecting to the local (forwarded) server socket.\n    Defaults to 10 seconds.\n  - `LOCAL_TIMEOUT`: The timeout (in seconds) for local (forwarded) socket connections. Defaults to 7200 seconds or 2 hours.\n  - `REMOTE_TIMEOUT`: The timeout (in seconds) for the WebTunnel connection to the macchina.io REMOTE server (*reflector*).\n    Defaults to 300 seconds or 5 minutes.\n\n## Prerequisites\n\n  - Docker\n\n## Building\n\n```\n$ docker build . -t macchina/rmgateway\n```\n\n## Running\n\nThe gateway server must be able to connect to the device's web server and/or any other services\nthat are to be forwarded. So when running the container, an appropriate network configuration\nfor the container must be set up. In many cases, just using the default `bridge` network\ncreated by Docker will work. The gateway server's web user interface runs on port 8080\n(unless configured otherwise via the `HTTP_PORT` environment variable), so you may want\nto map this port to make it accessible from the host system.\n\nFurthermore, a volume needs to be created to store persistent data, mounted to\n`/var/lib/rmgateway`. Otherwise, any device definitions created in the gateway will be\nlost when the container is stopped.\n\n```\n$ docker run -e DOMAIN=eac8b99b-1866-4ef4-8f57-76b655949c29 -p 8080:8080 -v datavol:/var/lib/rmgateway macchina/rmgateway\n```\n\nYou must replace the value for `DOMAIN` with your specific domain ID which you can\nfind in the macchina.io REMOTE Server's web application. It's also possible to leave\nthe DOMAIN environment variable unset. In this case, when logging in to the gateway,\nit will obtain the default domain assigned to the user account from the macchina.io\nREMOTE server.\n\nGetting the network configuration right can be a bit tricky, as the *Gateway* running in\nthe Docker container must be able to connect to network services provided by other containers,\nthe host running Docker, or other hosts in the network (depending on your needs).\n\nPlease refer to the Docker documentation on [networking](https://docs.docker.com/engine/network/)\nfor more information.\n\nThis repository also contains an example [`docker-compose.yml`](docker-compose.yml) file.\n\n\n## Configuration\n\nThe most important configuration settings can be set via environment variables (see above).\nIf you need to change other configuration options, edit [`rmgateway.properties`](rmgateway.properties)\nand rebuild the Docker image, or use a volume to pass a custom `/etc/rmgateway.properties` to the\ncontainer.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmy-devices%2Fmeta-gateway-docker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmy-devices%2Fmeta-gateway-docker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmy-devices%2Fmeta-gateway-docker/lists"}