Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Picture uploading for the rest of us
C# JavaScript Shell
Branch: master
Failed to load latest commit information.
Effects Restore metadata when we are applying transformation too
AccessLogger.cs Update logger for latest manos
Apachai.cs Test encoding
BackingStore.cs Correctly set the stale entry in the backing store
ConfigManager.cs Allow configuration of Redis stuff
ContextExtensions.cs Force UTF8 serving of raw content
Hasher.cs Fix short link generation and display short url + permalink in a dedi…
HtmlPaths.cs Stats powered
Json.cs First workish drop
JsonStringDictionary.cs Escape json values in dictionary
Makefile Fix initial build to call and compile correctly Effects
OAuth.cs Tell from which step the OAuth error came from
PictureContentModule.cs Update to Manos master Increase README char count
ServiceStack.Redis.dll Switch to use ServiceStack higher-level library for Redis
StaticContentModule.cs Update to Manos master
TagLibMetadata.cs Restore metadata when we are applying transformation too
Twitter.cs Style fixing and cleanification
UrlShortener.cs Remove shortener occurence
authenticating.html.tpl Update HTML Add automatic html generation script
config.json.template Adding some configuration love
home.html.tpl Add alt to existing image
post.html.tpl Add automatic html generation script
redis-sharp.cs Use redis as a cache backend, use a more specific class for generatin…
sign.html.tpl Typo
stats.html.tpl Put a little "Last updated" field in stats


Picture uploading for the rest of us

Apachaï is designed to be a small and lightweight photo and picture sharing application (for services like Twitter) built on the Manos framework. A running instance is available at


It depends on a Redis server available and on ServiceStack .NET binding to it (included).

Apachaï also leverages code from TweetStation and Pinta but it's not needed to have any of them installed.

Of course, you need Manos installed if you want to launch the application (no need for another webserver though).

How to run

To run Apachaï you need to adjust a few things. First, rename config.json.template to config.json and adjust the settings there. Following is a small description for each of them:

  • serverBaseUrl: that's the URL of the host you deploying unto (example:
  • twitterKey and twitterSecret: get one over at
  • twitterCallback: theorically it should be set to something like serverBaseUrl/AuthCallback but who knows.
  • testInstance: a boolean, if true the application will work standalone and will never do a single call to Twitter. Useful for debugging purpose.
  • imagesDirectory: a path (relative or absolute) to a folder where your want the picture sent to be stored. Defaults to the 'Pictures' value (you have to create the folder in the root directory yourself though).
  • redisServers: an IP or host array of string where we can join Redis server instances, by default we simply use

Then just in case, walk a bit in the javascript code under Content/js as I may have hardcoded some stuff to (promise, I try to avoid this but sometimes I'm lazy). A grep should do the trick.

Finally just hit manos -s in the root folder and you are all set.


All code, markup and others are released under the permissive MIT license.

Copyright (c) Jérémie "garuma" Laval

Something went wrong with that request. Please try again.