Systems

Subjective guides for using simple systems,
organize digital content and cooperate on projects.

Introduction

These guides should have for objective to help you get going with your projects. They are trying to favor free software solutions to protect your freedom and privacy, as well as the one of people you cooperate with. When these solutions are too technicaly complex to setup and use, alternatives are suggested.

You can use these guides for projects of any types, in subject you see them fit. They are targeted to an audience willing to learn how to use tools and concepts worth their time.

Research these tools, services, solutions and systems, use them at your own risks from conscious and informed choices.

In a perfect universe, the systems described in these guides should be simple to use and setup; favor secure solutions, respect the rights and data of their empowered users.

Help?

Do you need assistance or would like to improve this document and the systems?

Each projects have their own discussion channels to keep the feedbacks and its content organized. As a quick rule of thumb, you should ask your question as close as possible to where the problem is located. Don't worry if you're not sure, come chat to get support!

Communication

Access to informations and communications through secure channels.

Web browsing + VPN

For browsing the web, accessing any website, you should use a free web browser. It is a major part of keeping your data and communications secure.

Download and install Mozilla's Firefox. You can (and should) also use it on your mobile devices, look in your application store of your platform.

Install ublock-origin for Firefox to block most advertising.

Opera, comes integrated with a VPN (with multiple location in the world).

For more secure browsing needs Tor is an option.

If you would like that all trafic of your devices goes through a VPN, try ProtonVPN (same company as ProtonMail).

Chat

Chat is great for conversations between friends, familly and cooperators to your projects. Use Riot. Here are some of its benefits:

If you want to join your first group chat, you're welcome on this community channel: #i4k-doctor:matrix.org (a group adress starts with a #, not a @ used for users).

Email

An email address is usefull to communicate, and often required to create an account somewhere online (also in some of these guides).

We recommand you to use ProtonMail, as it is the easiest way to have a secure email account, receive and send encrypted emails. It can also be used for organization email, and replace company Google Emails plans.

Read the Email self defense guide, for a general overview of email security. As an alternative to Protonmail, you could use Riseup.

Mobile communication

Signal is a secure mobile communication application. Riot/matrix described in the chat section is a prefered alternative because it is decentralized and free software. Also, it does not require neither a mobile phone number nor an email to register an account.

Telegram's code is not accesible to the public, and therefore not available for the communities of users to audit its security flaws.

You can read more about Signal's Double Ratchet Algorithm, also used by Matrix for encryption.

Project-management

How to create projects, organize them and allow cooperation.

Create a git provider account

The Git protocol allows people to cooperate together on projects. It keeps track of folders and files, their history of changes.

A Git provider, allows you to store these projects online, manage users, the collaboration on each projects. You can use this as a project management tool for your organization and projects.

The Git Provider is the place which will store the content and the code for your projects.

If you don't have an account already, create a free user account at one of these providers: Gitlab, Github.

Gitlab is a safer choice because it is open source software; this make it easily possible to host your own Gitlab server, and have fullcontroll over its data (on servers you own).

Note: the git protocol is not made for large file sharing (no upper limit, but 50 mega is already considered large).

Create your cooperation group

If you want to have multiple people working together on projects, you can create a group to connect them.

Create a Gitlab group, or a Github organization; depending on your preference, and where you already have created a user account.

There is also maybe already existing groups and organizations that you can join.

Organize a cooperation

Working alone or together always require some organisation. To cooperate using Git, and a Git provider, you need to have in mind a few concepts.

A nice workflow would be for you and your teams to create a new repository for each project you would like to cooperate on. In this repository, you can have all the content (files and folders), close to the issues your teams are trying to solve.

File sharing

For temporary sending and sharing files to other people, you can use Firefox Send.

Nextcloud seems to be the only alternative to Google Drive and Dropbox, for file sharing capabilities, user management, contact and calendars synchronisation. Still a technical solution, it is maybe not yet an alternative for most users. Mega can also be used for sharing and synchronising files with teams, and has a large free plan.

Websites and widgets

For each projects bellow, learn more by following their links. In most cases you will need to have a git + hosting provider accounts setup (see the guides).

Domain names (.org, .com, etc.)

A domain name can be used to have a URL people can remember and share.

Website hosting providers often provide you with a URL that you can share for your sites. It is also possible to have custom domain names (and subdomains).

You can use iwantmyname, Google Domains or any other registrar at your convenience. They will allow you to rent a domain name (if available), with a yearly fee (price depend on the domain extension, .com .org etc)

Create a website hosting provider account

The website hosting is the service that takes your repositories, deploy them as websites and make them accessible online to the world.

Netlify is a provider that takes your Git projects, and deploy them as websites, with a URL address that you can share to anyone. We will use it often in these guides because it also offers a practical free hosting.

Create a Netlify account, you can register with your email, a Gitlab or Github account (as you prefer; you will need to connect your git provider later, to deploy your git projects as sites).

If you're looking for a more general hosting provider (not covered in the guides), you can look at Scaleway or DigitalOcean.

Deploy a portfolio website

This guide is currently for Github organisations only (will change asap).

The portfolio is a website to present projects and their content.

Here is an example portfolio, where the content is the documentation on how to use and create a new portfolio.

You can directly deploy a new portfolio.

Integrate your Instagram content to your website

In case you are using Instagram and would like to re-use this content somewhere else on the internet.

Create an Instagram widget, to be able to embed it on your different sites.

More guides should come uppon needs and requests.