{"id":29362911,"url":"https://github.com/nuzair46/ueno-rb","last_synced_at":"2025-07-09T09:17:26.679Z","repository":{"id":303656526,"uuid":"1013192804","full_name":"Nuzair46/Ueno-rb","owner":"Nuzair46","description":"A Dokku api server written in Rails","archived":false,"fork":false,"pushed_at":"2025-07-03T13:56:15.000Z","size":41,"stargazers_count":0,"open_issues_count":3,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-08T19:12:53.810Z","etag":null,"topics":["dokku","dokku-application","rails","ruby"],"latest_commit_sha":null,"homepage":"","language":"Ruby","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/Nuzair46.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,"zenodo":null}},"created_at":"2025-07-03T13:54:54.000Z","updated_at":"2025-07-03T13:55:34.000Z","dependencies_parsed_at":"2025-07-08T19:23:11.340Z","dependency_job_id":null,"html_url":"https://github.com/Nuzair46/Ueno-rb","commit_stats":null,"previous_names":["nuzair46/ueno-rb"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Nuzair46/Ueno-rb","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nuzair46%2FUeno-rb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nuzair46%2FUeno-rb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nuzair46%2FUeno-rb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nuzair46%2FUeno-rb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Nuzair46","download_url":"https://codeload.github.com/Nuzair46/Ueno-rb/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nuzair46%2FUeno-rb/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264428786,"owners_count":23606692,"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":["dokku","dokku-application","rails","ruby"],"created_at":"2025-07-09T09:17:23.631Z","updated_at":"2025-07-09T09:17:26.667Z","avatar_url":"https://github.com/Nuzair46.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Dokku API Integration\n\nThis project provides a custom API to interact with Dokku, a platform for deploying and managing applications. The API is built using Ruby on Rails and offers endpoints for managing applications, processes, logs, domains, and configurations on a Dokku server.\n\n### I made this service for a PoC for [Miqor](https://miqor.app) when it was done with Dokku. But I moved to K8s entirely and wrote this service again in Go to suite my needs. Treat this as a PoC. It might work for you. A lot of features are lacking which the official Dokku API has (but this one is free though).\n\n## Features\n\n- **Application Management**: Create, destroy, rename, and deploy applications.\n- **Process Management**: Start, stop, restart, rebuild, and scale processes.\n- **Log Management**: Retrieve application logs.\n- **Domain Management**: Add and remove domains for applications.\n- **Configuration Management**: Set and unset environment variables for applications.\n\n## Requirements\n\n- Ruby 3.x\n- Rails 7.x\n- Redis for sidekiq\n- Traefik if you want to use the routing features\n- Dokku installed on the target server\n- SSH access to the Dokku server\n\nFollow the [Dokku documentation](https://dokku.com/docs/) for installation and setup instructions for Dokku.\n\n## Installation\n\n1. Clone the repository:\n   ```bash\n   git clone https://github.com/Nuzair46/Ueno-rb.git\n   cd Ueno-rb\n   ```\n\n2. Prepare:\n   ```bash\n   bin/setup\n   ```\n\n3. Configure environment variables:\n   Create a `.env` file and set the following variables:\n   ```env\n   DOMAIN=example.com\n   UENO_TOKEN=test_token\n   DOKKU_SSH_HOST_NAME=dokku@example.com\n   DOKKU_SSH_PRIVATE_KEY=path/to/private/key\n   ```\n\n4. Start the app:\n   ```bash\n   foreman start -f Procfile  \n   ```\n\n## API Endpoints\n\n### Applications\n\n- `POST /api/v1/apps/create`: Create a new application.\n- `POST /api/v1/apps/destroy`: Destroy an application.\n- `POST /api/v1/apps/rename`: Rename an application.\n- `POST /api/v1/apps/deploy`: Deploy an application.\n- `GET /api/v1/apps/urls`: Retrieve application URLs.\n\n### Processes\n\n- `POST /api/v1/procs/rebuild`: Rebuild application processes.\n- `POST /api/v1/procs/restart`: Restart application processes.\n- `POST /api/v1/procs/start`: Start application processes.\n- `POST /api/v1/procs/stop`: Stop application processes.\n- `POST /api/v1/procs/scale`: Scale application processes.\n- `POST /api/v1/procs/report`: Retrieve process reports.\n\n### Logs\n\n- `GET /api/v1/logs/show`: Retrieve application logs.\n\n### Domains\n\n- `POST /api/v1/domains/add`: Add a domain to an application.\n- `POST /api/v1/domains/remove`: Remove a domain from an application.\n\n### Configurations\n\n- `POST /api/v1/configs/set`: Set an environment variable.\n- `POST /api/v1/configs/unset`: Unset an environment variable.\n\n## Authentication\n\nThe API uses an `X-Auth-Token` header for authentication. The token is validated against the `UENO_TOKEN` environment variable.\n\n## Deployment\n\nTo deploy the API, use Dokku or any other deployment platform compatible with Rails applications. Ensure the environment variables are correctly set on the server.\n\n## Contributing\n\nContributions are welcome!\n\n## License\n\nThis project is licensed under the MIT License. See the LICENSE file for details.\n\n## Support\n\nI probably won't support this project anymore. If you have any issues, feel free to open an issue on GitHub, but I might not respond promptly.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnuzair46%2Fueno-rb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnuzair46%2Fueno-rb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnuzair46%2Fueno-rb/lists"}