Написание (другого) сервиса аватаров |
Эта история, вероятно, звучит знакомо: вы занимаетесь реализацией нового веб-приложения, пишете код, необходимый для поддержки профилей пользователей. Вы понимаете, что хотите поддерживать пользовательские аватары (поскольку пользователи абсолютно точно хотят иметь возможность выбирать свой аватар), но не хотите создавать и поддерживать службу только для размещения изображений пользователей.
Вы могли бы использовать Граватарно проблема в том, что Gravatar требует, чтобы пользователи загружали свои аватары с помощью веб-сайта Gravatar, и не позволяет предоставить пользователям удобный механизм загрузки непосредственно из их профиля в вашем приложении.
После того, как я сам написал 3 или 4 из них, я понял, что они в основном имеют одинаковую форму. Итак, когда я столкнулся с этой проблемой снова с ПенаФабрика, я решил, что хочу написать единую автономную микрослужбу, которую можно было бы повторно использовать всякий раз, когда она мне (или кому-то еще) понадобится. Это также дало мне возможность написать веб-сервис на Rust и обновить некоторые мои навыки работы с Docker.
Входить Архтип. Это небольшой сервис, предназначенный для предоставления аватаров, которые вы можете использовать для своего веб-приложения. Он имеет очень простой API который можно использовать с обоими image/jpeg
и image/png
файлы. Чтобы настроить его, выполните следующие действия на своем сервере с docker
демон работает:
git clone git@github.com:FoamFactory/archetype
cd archetype
# Edit docker-compose.yml to assign the ALLOWED_HOSTS variable properly.
# Since this is the only security level available right now, you must
# specify at least one IP address for machines you want to be able to
# access the avatar service.
docker-compose up -d
Как настроить архетип
Ага, вот оно! Если хотите, я даже настрою его для вас и буду поддерживать за 36 долларов в год (чуть больше, если вы хотите, чтобы я установил экземпляр Linode, которым вы можете владеть и обслуживать самостоятельно).
Нажмите здесь для формы настройки
Надеюсь, это сэкономит вам время в будущем, поскольку вам не придется переписывать службы аватаров с нуля каждый раз, когда вы создаете новое приложение, для которого они требуются.