forked from coop-cloud/docs.coopcloud.tech
Update packager guide
This commit is contained in:
parent
388f6a5b98
commit
fe9f0d8720
|
@ -6,19 +6,32 @@ title: Packager guide
|
|||
|
||||
Let's take as an example, [Matomo web analytics](https://matomo.org/).
|
||||
|
||||
We'll be making a Docker "swarm-mode" `compose.yml` file.
|
||||
|
||||
- Tired: Write your own image and compose file
|
||||
- Wired: Use someone else's image (& maybe compose file)
|
||||
- Inspired: Upstream image, someone else's compose file
|
||||
- On fire: Upstream compose file
|
||||
|
||||
I'm feeling lazy so, luckily for me, Matomo already has an example compose file in their repository! Let's download and edit it:
|
||||
I'm feeling lazy so, luckily for me, Matomo already has an example compose file in their repository.
|
||||
|
||||
Like a lot of compose files, it's intended for use with `docker-compose`, instead of "swarm mode", but it should be a good start.
|
||||
|
||||
First, let's create a directory with the files we need:
|
||||
|
||||
```
|
||||
abra recipe create matomo
|
||||
cd ~/.abra/apps/matomo
|
||||
```
|
||||
|
||||
Then, let's download and edit the `docker-compose.yml` file:
|
||||
|
||||
```
|
||||
mkdir matomo && cd matomo
|
||||
wget https://raw.githubusercontent.com/matomo-org/docker/master/.examples/apache/docker-compose.yml -O compose.yml
|
||||
```
|
||||
|
||||
Open the `compose.yml` in your favourite editor and have a gander :swan: . There are a few things we're looking for -- full list to come -- but a few things we can immediately see are:
|
||||
Open the `compose.yml` in your favourite editor and have a gander 🦢. There are a few things we're looking for -- full list to come -- but some immediate changes could be:
|
||||
|
||||
1. Let's bump the version to `3.8`, to make sure we can use all the latest swarm coolness
|
||||
2. We load environment variables separately via [abra](/overview/#command-line-tool), so we'll strip out `env_file`.
|
||||
|
@ -29,16 +42,29 @@ Open the `compose.yml` in your favourite editor and have a gander :swan: . There
|
|||
|
||||
The resulting `compose.yml` is available [here](https://git.autonomic.zone/coop-cloud/matomo/src/branch/main/compose.yml).
|
||||
|
||||
Now, create an `.env` file (or call it anything else, but remember to specify the `-e` option for `abra`):
|
||||
!!! note "Running Co-op Cloud server required!"
|
||||
|
||||
The rest of this guide assumes you have a Co-op Cloud server going -- we'll use `swarm.example.com`, but replace it with your own server address.
|
||||
|
||||
Head over to [the deployment guide](./deploy.md) if you need help setting one up.
|
||||
|
||||
Now, we're ready to create a testing instance of Matomo:
|
||||
|
||||
```
|
||||
TYPE=matomo
|
||||
abra app new matomo --secrets \
|
||||
--domain matomo.swarm.example.com \
|
||||
--server swarm.example.com \
|
||||
--app-name mygreatapp
|
||||
```
|
||||
|
||||
DOMAIN=matomo.example.com
|
||||
LETS_ENCRYPT_ENV=production
|
||||
Depending on whether you defined any extra environment variables -- we didn't so
|
||||
far, in this example -- you might want to run `abra app mygreatapp config` to
|
||||
check the configuration.
|
||||
|
||||
SECRET_DB_PASSWORD_VERSION=v1
|
||||
SECRET_DB_ROOT_PASSWORD_VERSION=v1
|
||||
Otherwise, or once you've done that, go ahead and deploy the app:
|
||||
|
||||
```
|
||||
abra app mygreatapp deploy
|
||||
```
|
||||
|
||||
Then, open the `DOMAIN` you configured (you might need to wait a while for Traefik to generate SSL certificates) to finish the set-up. Luckily, this container is (mostly) configurable via environment variables -- if we want to auto-generate the configuration we can use a `config` and / or a custom `entrypoint` (see [`coop-cloud/mediawiki`](https://git.autonomic.zone/coop-cloud/mediawiki) for examples of both).
|
||||
|
|
Loading…
Reference in New Issue