Qik
Self-Hosting for Everyone
Qik is 'quick' but quicker, so it skipped a bunch of letters.
Qik is an ecosystem of apps, services, and tools to give everyone and anyone the ability to self-host any services they could want. Everything from Email and FTP, to social media and photos storage. All apps use standardized APIs, allowing creators to build their own versions, and guaranteeing the ecosystem remains open.
What is Self-Hosting?
When you download an app or use a service to share images or stories, that app most often will connect to and store all your data on a computer that that app company owns. When you do that you not only give up your privacy, but you also give up your right to make choices. With email you can use whatever email app you want, as email was designed to be open and compatible. When you upload and image to Instagram or X, you must do so with their apps, and on their terms; if they change their terms and you don't like it, too bad you're stuck. Worse they may add bloat to their app which drains your battery, and you end up complaining about your phone when really it's an app doing the dirty work.
With self-hosting, you are the app and service provider. You setup a device at home that your apps connect to, and other services will also connect to get the images and content that you want to share. All the software you need is free and public; all you need is Internet, and a device to run things on. You're in complete control so you pick the apps and services, and you can update when you want, or stick with what works. Connect with a friend or trusted provider for backups of your data, to make you worry-free knowing your memories are safe no matter what.
Philosophy
The primary goal of Qik is for barriers of entry to be as low as possible. Unlike traditional servers you do NOT need to be an expert, or be willing to spend hours searching and tinkering for solutions or settings. Everything should have a graphical interface, and all settings and options should be simple and easy to find. Qik Servers should run on whatever hardware a user has laying around, and costs should be free whenever possible.
Just because things should be easy, does not mean skimping on functionality. If a useful feature can be added, it should be. If something can be made more secure, it should be and configured by default. Qik believes in learning the lessons of the past, without necessarily being burdened by it.
Curated quality over quantity. Qik is designed to be modular and distributed, which can unfortunately mean large selection and noise. While anyone is free to start their own repo of apps and services, those in the Qik repo will always be currated. Only apps and services that are valuable, and appropriately categorized for search and function will be added.
Optional everything. Set the defaults the way you expect most users will need, but then allow everything to be changed. Qik is about respecting the user to know when to change something, and when to leave it alone. Don't force a feature, restrictive setting, or even an update on your users; tell them the situation, and allow them to choose.
Getting Started
**NOTE** Qik is currently in alpha-stage of development, so please Contact Us for links to current builds. The below instructions will be updated as the project matures.
If your intention is to self-host, the first thing you need is a device for your server to run on. Setup will vary from device to device, but the important thing is to make sure it's a device you're comfortable with leaving on at all times; an old laptop or mobile phone is usually perfect. The first Qik server was deployed to an old android phone, so we know it works!
Next step is to pick a QikNode to run your web services, and host your apps. There are official QikNodes for android and web, but third-party versions may be developed for other platforms. QikNode for android is an app that you download to your server device. QikNode for web is a web app that can be installed just by visiting an install link.
With your server device and QikNode selected, you now need to choose how you want external users (like yourself) to connect to your server.
The simplest option is to use a QikProxy service, which is as simple as creating an account, and entering details from that service into your QikNode.
No need to worry about IP addresses, domain names, or router port forwarding, the proxy bypasses all of that for you.
The proxy could be one of your friends or a paid service, depending on your needs.
The other option is to host directly. While not complicated, it does mean some additional setup:
- Get and use your own web domain/website address (or get a sub domain from a friend)
- Get a static IP address or configure a dynamic DNS (like Qik's dydns) to keep your web address linked to your IP address
- Configure your router to forward incoming requests to the appropriate local IP and port of your QikNode server
The last part is the fun part. Use the QikNode app to select and configure the services and apps that you'd like to have. Everything you need is downloaded and installed automatically, and updates can be configured to be automatic or manual.
Tech Stuff
Server-side Qik is powered by Javascript and a QikNode server for your selected device. While not required, web services are often designed for compatibility with Node.js; this is done in order to improve compatibility with other platforms, and make development easier.
Don't like Javascript or NodeJS? All Qik apps and services have standardized APIs, so clones, forks, and/or compatible apps can be made for your technology of choice.
Menu