{"id":13507354,"url":"https://github.com/cloud8421/dragonfly-server","last_synced_at":"2025-03-30T08:30:29.245Z","repository":{"id":22192354,"uuid":"25524598","full_name":"cloud8421/dragonfly-server","owner":"cloud8421","description":"Elixir app to serve Dragonfly images","archived":true,"fork":false,"pushed_at":"2015-08-07T07:00:54.000Z","size":926,"stargazers_count":41,"open_issues_count":0,"forks_count":5,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-11-01T06:34:28.667Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Elixir","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cloud8421.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-10-21T13:42:58.000Z","updated_at":"2023-11-03T05:34:42.000Z","dependencies_parsed_at":"2022-08-20T22:10:11.239Z","dependency_job_id":null,"html_url":"https://github.com/cloud8421/dragonfly-server","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/cloud8421%2Fdragonfly-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloud8421%2Fdragonfly-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloud8421%2Fdragonfly-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloud8421%2Fdragonfly-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cloud8421","download_url":"https://codeload.github.com/cloud8421/dragonfly-server/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246296325,"owners_count":20754623,"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-08-01T02:00:31.931Z","updated_at":"2025-03-30T08:30:28.768Z","avatar_url":"https://github.com/cloud8421.png","language":"Elixir","funding_links":[],"categories":["Applications"],"sub_categories":[],"readme":"# Dragonfly server\n\n[![Build Status](https://travis-ci.org/cloud8421/dragonfly-server.svg?branch=master)](https://travis-ci.org/cloud8421/dragonfly-server)\n\nThis application can be used to serve Dragonfly urls.\n\n# Limitations\n\n- Doesn't support the full Dragonfly feature set (for now).\n- Limited to Imagemagick.\n\n# Setup\n\n## Dependencies\n\n#### Erlang\n\n**IMPORTANT**: Due to a known bug in Erlang 17.3, fetching urls with an `https` scheme are not processed correctly and throw an exception.\n\nPlease use Erlang \u003e= 17.4, available at \u003chttps://www.erlang-solutions.com/downloads/download-erlang-otp\u003e.\n\n#### Elixir\n\nTo install elixir on a Mac, `brew install elixir` (you may need to `brew update` first).\n\nAlternatively, you can follow [these instructions](http://elixir-lang.org/install.html).\n\n#### Imagemagick\n\nTo install Imagemagick with png support, run `brew install jpeg libpng imagemagick`.\n\n#### Goon\n\nCommunication with Imagemagick is managed by [Goon](https://github.com/alco/goon), a middleman needed to polyfill the incomplete Port\nimplementation provided by Erlang (see [here](https://github.com/alco/porcelain/wiki/Implementation#the-middleman) for more information).\n\nDownload the binary and add it to a directory available in your `$PATH`.\n\n## App setup\n\n    $ mix deps.get\n\nThis will install all needed packages.\n\nThen, copy the example environment file and make the necessary adjustments.\n\n    $ cp .env.example .env\n\n## Run the app in development\n\n    $ iex -S mix\n\nStarts the app and opens a console.\n\n## Run tests\n\n    $ mix test\n\n## General api\n\nImages are served at the entry point defined in `config.exs`, set as default at `/media/:payload/:filename`.\n\nNote that both params in the url scheme are needed by the application.\n\n## Admin api\n\nThe app exposes an admin api that can be used to programmatically expire an image and all its associated resources.\nEndpoints are:\n\n- GET image (shows steps necessary to generate image)\n- DELETE image (expires all caches involved in the generation of the image)\n\nGiven an image url in the form of:\n\n    http://example.com/media/12345/untitled.jpg\n\nIt can be deleted by sending a `DELETE` request to the following endpoint:\n\n    http://example.com/admin/media/12345/untitled.jpg\n\nFrom the command line:\n\n    $ curl -XDELETE http://example.com/admin/media/12345/untitled.jpg\n\nThe expected response is a `202`, which indicates that the cache expiry has been scheduled and will be performed asyncronously.\n\nThe steps necessary to generate the image can also be examined at:\n\n    http://example.com/admin/media/12345/untitled.jpg\n\nFrom the command line:\n\n    $ curl http://example.com/admin/media/12345\n\n## Deploy on Heroku\n\nThe app runs only on Cedar-14 and requires the multi-buildpack as it uses a custom Elixir buildback (it includes Goon).\n\nBuildpacks are defined in `.buildpacks`.\n\nPlease follow instructions at \u003chttps://github.com/ddollar/heroku-buildpack-multi\u003e.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcloud8421%2Fdragonfly-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcloud8421%2Fdragonfly-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcloud8421%2Fdragonfly-server/lists"}