forked from toolshed/docs.coopcloud.tech
		
	Add @nikobee's setup/troubleshooting tips
This commit is contained in:
		| @ -4,7 +4,9 @@ title: Deploy your first app | |||||||
|  |  | ||||||
| In order to deploy an app you need two things: | In order to deploy an app you need two things: | ||||||
|  |  | ||||||
| 1. a server (e.g. [Hetzner VPS](https://www.hetzner.com/cloud)) | 1. a server (e.g. [Hetzner VPS](https://www.hetzner.com/cloud)), with | ||||||
|  |     - SSH access | ||||||
|  |     - a public IP address | ||||||
| 2. a DNS provider (e.g. [Gandi](https://www.gandi.net/en)) | 2. a DNS provider (e.g. [Gandi](https://www.gandi.net/en)) | ||||||
|  |  | ||||||
| ## Create your server | ## Create your server | ||||||
| @ -36,6 +38,12 @@ sudo apt-get update | |||||||
| sudo apt-get install -y docker-ce docker-ce-cli containerd.io | sudo apt-get install -y docker-ce docker-ce-cli containerd.io | ||||||
| ``` | ``` | ||||||
|  |  | ||||||
|  | You'll probably want to add your user to the `docker` group: | ||||||
|  |  | ||||||
|  | ```bash | ||||||
|  | usermod -a -G docker myusername | ||||||
|  | ``` | ||||||
|  |  | ||||||
| ## Bootstrap `abra` | ## Bootstrap `abra` | ||||||
|  |  | ||||||
| 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. | 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. | ||||||
| @ -72,13 +80,17 @@ abra server add example.com | |||||||
|  |  | ||||||
| Where `example.com` is replaced with your server DNS name. | Where `example.com` is replaced with your server DNS name. | ||||||
|  |  | ||||||
| !!! note | !!! 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 server add` accepts also a `<user>` and `<port>` arguments for your |     If you need to specify a non-standard port, and/or different username, for SSH, | ||||||
|     custom SSH connection details. What is happening here is that you are using |     add them as extra arguments: | ||||||
|     the underlying SSH machinery to make a secure connection to the server |  | ||||||
|     installed Docker daemon. This allows `abra` to run remote deployments from |     ```bash | ||||||
|     your local development machine. |     abra server add example.com username 2222 | ||||||
|  |     ``` | ||||||
|  |  | ||||||
| Once you've added the sever, you can initialise the [new single-host swarm](https://docs.docker.com/engine/swarm/key-concepts/). | Once you've added the sever, you can initialise the [new single-host swarm](https://docs.docker.com/engine/swarm/key-concepts/). | ||||||
|  |  | ||||||
| @ -102,7 +114,6 @@ and follow the instructions. | |||||||
| <node id> | <node id> | ||||||
| ``` | ``` | ||||||
|  |  | ||||||
|  |  | ||||||
| You will now have a new `~/.abra/` folder on your local file system which stores all the configuration of your Co-op Cloud instance. You can easily share this as a git repository with others. | You will now have a new `~/.abra/` folder on your local file system which stores all the configuration of your Co-op Cloud instance. You can easily share this as a git repository with others. | ||||||
|  |  | ||||||
| ## Deploy Traefik | ## Deploy Traefik | ||||||
| @ -121,7 +132,7 @@ You will want to take a look at your generated configuration and tweak the `LETS | |||||||
| abra app traefik config | abra app traefik config | ||||||
| ``` | ``` | ||||||
|  |  | ||||||
| This is the required environment variables that you can configure and are injected into the app configuration when deployed. | Every app you deploy will have one of these `.env` files, which contains variables which will be injected into app configurations when deployed. Variables starting with `#` are optional, others are required. | ||||||
|  |  | ||||||
| ``` | ``` | ||||||
| abra app traefik deploy | abra app traefik deploy | ||||||
| @ -131,12 +142,7 @@ If you get a message like this: | |||||||
| ```bash | ```bash | ||||||
| ERROR: https://traefik.example.com still isn't up, check status by running "abra app traefik ps" | ERROR: https://traefik.example.com still isn't up, check status by running "abra app traefik ps" | ||||||
| ``` | ``` | ||||||
| It might need a few seconds more to start up. We can then check that everything came up as expected. | 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. | ||||||
|  |  | ||||||
| ```bash |  | ||||||
| abra app traefik ps   # status check |  | ||||||
| abra app traefik logs # logs watch |  | ||||||
| ``` |  | ||||||
|  |  | ||||||
| ## Deploy Nextcloud | ## Deploy Nextcloud | ||||||
|  |  | ||||||
|  | |||||||
							
								
								
									
										35
									
								
								docs/troubleshooting.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								docs/troubleshooting.md
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,35 @@ | |||||||
|  | --- | ||||||
|  | title: Troubleshooting | ||||||
|  | --- | ||||||
|  |  | ||||||
|  | ## SSH / connection problems | ||||||
|  |  | ||||||
|  | Assuming: | ||||||
|  | - Hostname: `coopcloud.example.com` | ||||||
|  | - User: `username` | ||||||
|  | - Port: `222` | ||||||
|  |  | ||||||
|  | ### Step 1: Can you SSH to the server normally? | ||||||
|  |  | ||||||
|  | Does `ssh username@coopcloud.example.com -p2222` work? | ||||||
|  |  | ||||||
|  | If not, run through your standard oh-no-why-doesn't-SSH-work troubleshooting 🍀. | ||||||
|  |  | ||||||
|  | ### Step 2: Can you run remote Docker commands over SSH? | ||||||
|  |  | ||||||
|  | Does `ssh username@coopcloud.example.com -p2222 docker ps` work? | ||||||
|  |  | ||||||
|  | If not: | ||||||
|  | - Is the remote Docker daemon running? | ||||||
|  | - Is your user in the `docker` group? | ||||||
|  |  | ||||||
|  | ### Step 3: Does your Docker context work? | ||||||
|  |  | ||||||
|  | ``` | ||||||
|  | [user@hostname ~]$ DOCKER_CONTEXT=coopcloud.example.com docker ps | ||||||
|  | CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES | ||||||
|  | ``` | ||||||
|  |  | ||||||
|  | If you get an error message instead: | ||||||
|  | - Use `abra server ls` / `docker context ls` to double-check the SSH connection details | ||||||
|  | - Try removing the context with `docker context rm coopcloud.example.com`, then re-add it | ||||||
| @ -51,6 +51,7 @@ nav: | |||||||
|       - Roll an app back to a previous version: rollback.md |       - Roll an app back to a previous version: rollback.md | ||||||
|   - Strategy: strategy.md |   - Strategy: strategy.md | ||||||
|   - Roadmap: roadmap.md |   - Roadmap: roadmap.md | ||||||
|  |   - Troubleshooting: troubleshooting.md | ||||||
|   - Managed Hosting: managed.md |   - Managed Hosting: managed.md | ||||||
|   - Get in touch: contact.md |   - Get in touch: contact.md | ||||||
|   - Acknowledgements: credits.md |   - Acknowledgements: credits.md | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user