How to Install Nextcloud Talk Using Docker on Alibaba Cloud

Prerequisites

  • You must have Alibaba Cloud Elastic Compute Service (ECS) activated and verified your valid payment method. If you are a new user, you can get $300 — $1200 worth in Alibaba Cloud credits for your new account. If you don’t know about how to setup your ECS instance, you can refer to this tutorial or quick-start guide. Your ECS instance must have at least 1GB RAM and 1 Core processor.
  • A domain name registered from Alibaba Cloud. If you have already registered a domain from Alibaba Cloud or any other host, you can update its domain nameserver records.
  • Domain name must be pointed to your Alibaba Cloud ECS’s IP address
  • Access to VNC console in your Alibaba Cloud or SSH client installed in your PC
  • Set up your server’s hostname and create user with root privileges.

Setting Up Your Server

# sudo apt update && sudo apt upgrade
# sudo apt-get install software-properties-common -y
# sudo apt-get install apt-transport-https -y
# sudo apt-get install ca-certificates -y
# sudo apt-get install curl -y

Install Docker CE

# curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add –
# sudo apt-key fingerprint 0EBFCD88
# sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
# sudo apt update
# sudo apt install docker-ce
# sudo adduser aareez docker
# docker run hello-world

Install NextCloud

# docker run -d -p 8080:80 nextcloud

Install Docker compose:

# sudo curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
# sudo chmod +x /usr/local/bin/docker-compose
# docker container ls --all
# docker stop 8baab990c424

Option 1 — Without SSL

# sudo nano docker-compose.yamlversion: '2'volumes:
nextcloud:
db:
services:
db:
image: mariadb
restart: always
volumes:
- db:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=654321Ab
- MYSQL_PASSWORD=654321Ab
- MYSQL_DATABASE=ncdb
- MYSQL_USER=aareez
app:
image: nextcloud
ports:
- 8080:80
links:
- db
volumes:
- nextcloud:/var/www/html
restart: always
# docker-compose up –d

Option 2 — With SSL

# docker container ls --all
# docker stop 8baab990c424
# sudo nano docker-compose.yml
version: '3'services:
db:
image: mariadb
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
restart: always
volumes:
- db:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=654321Ab
- MYSQL_PASSWORD=654321Ab
- MYSQL_DATABASE=ncdb
- MYSQL_USER=aareez
app:
image: nextcloud:apache
restart: always
volumes:
- nextcloud:/var/www/html
environment:
- VIRTUAL_HOST=softpedia.xyz
- LETSENCRYPT_HOST=softpedia.xyz
- LETSENCRYPT_EMAIL=arslan@gmail.com
- MYSQL_HOST=db
- MYSQL_PASSWORD=654321Ab
- MYSQL_DATABASE=ncdb
- MYSQL_USER=aareez
depends_on:
- db
networks:
- proxy-tier
- default
proxy:
build: ./proxy
restart: always
ports:
- 80:80
- 443:443
labels:
com.github.jrcs.letsencrypt_nginx_proxy_companion.nginx_proxy: "true"
volumes:
- certs:/etc/nginx/certs:ro
- vhost.d:/etc/nginx/vhost.d
- html:/usr/share/nginx/html
- /var/run/docker.sock:/tmp/docker.sock:ro
networks:
- proxy-tier
letsencrypt-companion:
image: jrcs/letsencrypt-nginx-proxy-companion
restart: always
volumes:
- certs:/etc/nginx/certs
- vhost.d:/etc/nginx/vhost.d
- html:/usr/share/nginx/html
- /var/run/docker.sock:/var/run/docker.sock:ro
networks:
- proxy-tier
depends_on:
- proxy
volumes:
db:
nextcloud:
certs:
vhost.d:
html:
networks:
proxy-tier:
# sudo mkdir proxy
# cd proxy
# sudo nano DockerfileFROM jwilder/nginx-proxy:alpineCOPY uploadsize.conf /etc/nginx/conf.d/uploadsize.conf
# sudo nano uploadsize.confclient_max_body_size 10G;
# cd ~
# sudo docker-compose up -d

Install Talk

--

--

--

Follow me to keep abreast with the latest technology news, industry insights, and developer trends. Alibaba Cloud website:https://www.alibabacloud.com

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Requirement Prioritization: A Future Proof Approach

Knit Finance is Integrating Cartesi (CTSI) into its Multichain Platform

DevOps engineer roles and responsibilities:

Little Known Ways to Hassle-Free Software Localization

DeCoding DeFi

2019’s Best Reporting Tool that Reaches Far beyond Excel

Performance Testing via Artillery.io

How we’re using Rules as Code to translate complex policy into easy to use online services

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Alibaba Cloud

Alibaba Cloud

Follow me to keep abreast with the latest technology news, industry insights, and developer trends. Alibaba Cloud website:https://www.alibabacloud.com

More from Medium

CI Pipeline (Part 1): Understanding Pipelines

Deploying Jitsi Meet to k3d cluster using Helm Chart

Introduction to Elastic Stack

Oracle Cloud Infrastructure DevOps Deployment Pipeline for Functions-automation on Oracle Cloud