forked from toolshed/docs.coopcloud.tech
		
	@ -5,8 +5,8 @@ title: Deploy your first app
 | 
			
		||||
In order to deploy an app you need two things:
 | 
			
		||||
 | 
			
		||||
1. a server (e.g. [Hetzner VPS](https://www.hetzner.com/cloud)), with
 | 
			
		||||
    - SSH access
 | 
			
		||||
    - a public IP address
 | 
			
		||||
   - SSH access
 | 
			
		||||
   - a public IP address
 | 
			
		||||
2. a DNS provider (e.g. [Gandi](https://www.gandi.net/en))
 | 
			
		||||
 | 
			
		||||
## Create your server
 | 
			
		||||
@ -46,11 +46,20 @@ usermod -a -G docker myusername
 | 
			
		||||
 | 
			
		||||
## Bootstrap `abra`
 | 
			
		||||
 | 
			
		||||
!!! danger "Here be dragons I"
 | 
			
		||||
 | 
			
		||||
    `abra` is an officially deprecated tool as of August 1rst 2021 but it is
 | 
			
		||||
    still our main daily driver to managing Co-op Cloud instances. We're in the
 | 
			
		||||
    middle of a [Golang](https://golang.org) port which you can learn more about
 | 
			
		||||
    it [this blog post](https://coopcloud.tech/blog/this-month-in-coop-cloud-july/).
 | 
			
		||||
    There will only be bug and security fixes provided for `abra` from now on, please
 | 
			
		||||
    feel free to raise issues when you run into them.
 | 
			
		||||
 | 
			
		||||
Once your DNS and docker daemon are up, you can install [`abra`](https://git.autonomic.zone/autonomic-cooperative/abra) locally on your developer machine and hook it up to your server.
 | 
			
		||||
 | 
			
		||||
Firstly, install `abra` locally.
 | 
			
		||||
 | 
			
		||||
!!! danger "Here be dragons"
 | 
			
		||||
!!! danger "Here be dragons II"
 | 
			
		||||
 | 
			
		||||
    `abra` is written in Bash version 4 and if you have a version older than
 | 
			
		||||
    that, you will face issues. You can check your current bash version by
 | 
			
		||||
@ -81,9 +90,9 @@ abra server add example.com
 | 
			
		||||
Where `example.com` is replaced with your server DNS name.
 | 
			
		||||
 | 
			
		||||
!!! note "About SSH"
 | 
			
		||||
    `abra` uses Docker's built-in SSH support to make a secure connection to a
 | 
			
		||||
    remote Docker daemon, to deploy and manage apps from your local development
 | 
			
		||||
    machine.
 | 
			
		||||
`abra` uses Docker's built-in SSH support to make a secure connection to a
 | 
			
		||||
remote Docker daemon, to deploy and manage apps from your local development
 | 
			
		||||
machine.
 | 
			
		||||
 | 
			
		||||
    If you need to specify a non-standard port, and/or different username, for SSH,
 | 
			
		||||
    add them as extra arguments:
 | 
			
		||||
@ -139,9 +148,11 @@ abra app traefik deploy
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
If you get a message like this:
 | 
			
		||||
 | 
			
		||||
```bash
 | 
			
		||||
ERROR: https://traefik.example.com still isn't up, check status by running "abra app traefik ps"
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
then it might need a few seconds more to start up. You can run `abra app traefik ps`, as suggested, to see when it's ready – look for `Running` under `CURRENT STATUS` – or `abra app traefik logs` to see app logs.
 | 
			
		||||
 | 
			
		||||
## Deploy Nextcloud
 | 
			
		||||
@ -156,16 +167,18 @@ abra app new --server example.com --domain cloud.example.com nextcloud
 | 
			
		||||
 | 
			
		||||
We can then choose `nextcloud` as the app name.
 | 
			
		||||
 | 
			
		||||
And we need to generate secrets for the app: database connection password, root password and admin password. 
 | 
			
		||||
And we need to generate secrets for the app: database connection password, root password and admin password.
 | 
			
		||||
 | 
			
		||||
```bash
 | 
			
		||||
abra app nextcloud secret generate --all
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
If abra complains about lacking pwqgen, it is available in the packet passwdqc on debian. Install it with
 | 
			
		||||
 | 
			
		||||
```bash
 | 
			
		||||
sudo apt-get install passwdqc
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
and run the previous command again.
 | 
			
		||||
 | 
			
		||||
!!! warning
 | 
			
		||||
 | 
			
		||||
@ -51,6 +51,15 @@ Learn more about why we use Docker swarm [in the FAQ section](/faq/#why-docker-s
 | 
			
		||||
 | 
			
		||||
## Command-line tool
 | 
			
		||||
 | 
			
		||||
!!! danger "Here be dragons"
 | 
			
		||||
 | 
			
		||||
    `abra` is an officially deprecated tool as of August 1rst 2021 but it is
 | 
			
		||||
    still our main daily driver to managing Co-op Cloud instances. We're in the
 | 
			
		||||
    middle of a [Golang](https://golang.org) port which you can learn more about
 | 
			
		||||
    it [this blog post](https://coopcloud.tech/blog/this-month-in-coop-cloud-july/).
 | 
			
		||||
    There will only be bug and security fixes provided for `abra` from now on, please
 | 
			
		||||
    feel free to raise issues when you run into them. More Coming Soon :tm:
 | 
			
		||||
 | 
			
		||||
Finally, with an application and an application environment, we need a tool to read that package format and actually deploy it to the environment. For this, we have developed and published the [abra] command-line tool.
 | 
			
		||||
 | 
			
		||||
Abra aims at providing a simple command-line interface for managing your own co-op cloud. You can bootstrap machines with the required tools, create new applications, deploy them, back them up, restore them and so on.
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user