Giter Club home page Giter Club logo

picloud's Introduction

Raspberry PI personnal "cloud"

Introduction

  • Hubzilla is a self-hosted, federated social network, with the ability to connect to all the federated networks and provide features unknown of others (like file hosting, wiki, webdav, caldav...)
  • Raspberry PI is a low cost home server solution.

The goal of this guide is to install Cloud like services on a raspberry PI to self-host you own "cloud" for you and your familly.

Requirements

  • a Raspberry PI (v3 or v4)
  • an microSD card (minimum recommanded size : 32G)
  • ability to configure your box/modem
  • a public domain name resolving to your box

Just during the installation phase :

  • a TV or an hdmi screen
  • an usb keyboard

Prepare the raspberry PI

  1. Download the raspbian image
  2. Install the image:
  1. plug the keyboard and the screen into the rPI
  2. put the microSD card into the rPI
  3. put the microUSB cord and the power plug in place
  4. once the PI is started connect as pi
  5. password: raspberry (warning the keyboard is in US qwerty so mind your typing)
  6. sudo raspi-config
  • Do Step 4-3 (Localisation Options - Change Keyboard Layout) and setup accordingly
  • You might want to do the others options in the step 4 too
  • Do step 1 (the pi/raspberry combo is known by the bad guys...)
  • If you connect over wifi, then do step 2-2
  • It's a good idea to enable 5-2 (Interfacing Options - SSH) if you plan on removing the keyboard and the screen from the pi
  • Use [tab] to select the Finish button

Prepare your box

  • Make sure your rPI will keep a static IP
  • use the port-fordwing feature of your box to forward ports 80 and 443 to your rPI.
  • If you want to use the XMPP feature (chat service) then forward the ports 5222 and 5269 too. (Steps details depends on your box)

Install steps

These dont have to be done on the pi, but might be done from your computer. If you're doing this from the rpi directly, then in the config.ini file (see bellow) uncomment the localhost line and comment the line before.

Prepare

apt-get update
apt-get install -y ansible git python3-apt

Clone this repository

git clone https://github.com/sebt3/picloud.git
cd picloud

Edit the configuration

Edit the file config.ini and set domain and email. Select the services you want.

nano config.ini

Start the install

ansible-playbook -i config.ini install.yaml

Finishing

Wait a little bit for the services to come up : many docker images have to be downloaded, and the services have to setup their data.

If you selected the ldap option, login to fusionDirectory and create a user in this interface. (you'll probably want to add an email in the second tab). And use this user to log into hubzilla. Otherwise, register a user in hubzilla directly.

Beside the public services available on the domain you configure, you'll find these administratives services available on the rPI :

  • traefik on :8080
  • fusiondirectory on :8081 (login: fd-admin, password: the admin password you set)
  • grafana on :3000
  • prometheus on :9090
  • portainer on :9000

picloud's People

Contributors

sebt3 avatar

Watchers

Lumen Lohn avatar  avatar James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.