Next cloud project
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

112 lines
3.8 KiB

== Install
Για την εγκατάσταση και την εκτέλεση της υπηρεσίας είναι απαραίτητη η δημιουργία docker-swarm.
Αφού είναι έτοιμο το docker-swarm, εκτελούμε τα ακόλουθα με την σειρά
:numbered:
== Εγκατάσταση GlusterFS για κάθε node
[source,bash]
--
#sudo apt install glusterfs-server glusterfs-client -y && sudo systemctl enable glusterfs-server
#sudo gluster peer probe node1
#sudo gluster peer probe node2
--
Με την εκτέλεση της ακόλουθης εντολής θα πρέπει να βλέπουμε και τα 3 nodes
[source,bash]
--
#sudo gluster pool list
--
Δημιουργούμε το directory που θα αποθηκεύει το GlusterFS τα δεδομένα του σε κάθε κόμβο με την εντολή
[source,bash]
--
#sudo mkdir -p /gluster/brick
--
Τρέχουμε από τον manager την ακόλουθη εντολή
[source,bash]
--
#sudo gluster volume create swarm-gfs replica 3 \ manager:/gluster/brick \ node1:/gluster/brick \ node2:/gluster/brick \ force
--
Ξεκινάμε το GlusterFS από τον manager
[source,bash]
--
#sudo gluster volume start swarm-gfs
--
Και κάνουμε mount τα GlusterFS Volumes για κάθε Node
[source,bash]
--
#sudo umount /mnt
#sudo chown -R username /etc/fstab /mnt
#sudo chown -R username /mnt
#sudo echo 'localhost:/swarm-gfs /mnt glusterfs defaults,_netdev,backupvolfile-server=localhost 0 0' >> /etc/fstab
#sudo mount.glusterfs localhost:/swarm-gfs /mnt
#sudo chown -R username:docker /mnt
--
== Εγκατάσταση του Traefik 2.0
Δημιουργούμε ένα hash με τον επιθυμητό κωδικό για τον admin και το αποθηκεύουμε
[source,bash]
--
#sudo apt-get install apache2-utils
#htpasswd -nb admin your_password
--
Δημιουργία απαραίτητων αρχείων και εγκατάσταση
[source,bash]
--
#sudo docker network create proxy
#cd /opt
#sudo mkdir -p traefik
#cd traefik //Εδώ θα πρέπει να τοποθετήσουμε το yml του traefik
#sudo touch acme.json
#sudo touch traefik.yml
#sudo chmod 600 acme.json
--
Τρέχουμε το yml αρχείο
[source,bash]
--
#docker stack deploy --compose-file traefik.yml proxy
--
== Εγκατάσταση MariaDB
Δημιουργία σετ κωδικών για την βάση δεδομένων
[source,bash]
--
#wp_db_password=$(od -vN 32 -An -tx1 /dev/urandom | tr -d ' \n' ; echo)
#mysql_root_password=$(od -vN 32 -An -tx1 /dev/urandom | tr -d ' \n' ; echo)
#echo $wp_db_password > wp_db_password
#echo $mysql_root_password > mysql_root_password
#echo $wp_db_password | docker secret create wp_db_password -
#echo $mysql_root_password | docker secret create mysql_root_password -
--
Δημιουργία φακέλων
[source,bash]
--
#docker network create --bridge private
#cd /mnt
#sudo mkdir -p mariadata
#cd /opt
#sudo mkdir -p maria
#cd maria //Εδώ θα πρέπει να τοποθετήσουμε το yml του mariadb
--
Τρέχουμε το yaml
[source,bash]
--
#docker stack deploy --compose-file maria.yml maria
--
== Εγκατάσταση Nextcloud
Δημιουργούμε τους απαραίτητους φάκελους
[source,bash]
--
#cd /mnt
#sudo mkdir -p nextcloud
#sudo mkdir -p nextapps
#sudo mkdir -p nextdata
#sudo mkdir -p nextconfig
#cd /opt
#sudo mkdir -p nextcloud
#cd nextcloud //Εδώ θα πρέπει να τοποθετήσουμε το yml του nextcloud
--
Εκτελούμε το yaml και η υπηρεσία είναι έτοιμη
[source,bash]
--
#docker stack deploy --compose-file next.yml next
--