Compare commits
7 Commits
36ceb40fac
...
98be926e89
Author | SHA1 | Date | |
---|---|---|---|
98be926e89 | |||
0fc751f7d6 | |||
271410f4c6 | |||
e17369ae38 | |||
a3c2716b7f | |||
c8802b9dbf | |||
4ef456efdf |
@ -3,13 +3,12 @@ name: services
|
|||||||
version: 0.0.1
|
version: 0.0.1
|
||||||
readme: README.md
|
readme: README.md
|
||||||
authors:
|
authors:
|
||||||
- Johanna Dorothea Reichmann <transcaffeine@finallycoffee.eu>
|
- transcaffeine <transcaffeine@finally.coffee>
|
||||||
description: Various ansible roles useful for automating infrastructure
|
description: Various ansible roles useful for automating infrastructure
|
||||||
dependencies:
|
dependencies:
|
||||||
"community.docker": "^1.10.0"
|
"community.docker": "^1.10.0"
|
||||||
license:
|
license_file: LICENSE.md
|
||||||
- CNPLv7+
|
|
||||||
build_ignore:
|
build_ignore:
|
||||||
- '*.tar.gz'
|
- '*.tar.gz'
|
||||||
repository: https://git.finallycoffee.eu/finallycoffee.eu/services
|
repository: https://git.finally.coffee/finallycoffee/services
|
||||||
issues: https://git.finallycoffee.eu/finallycoffee.eu/services/issues
|
issues: https://git.finally.coffee/finallycoffee/services/issues
|
||||||
|
3
meta/runtime.yml
Normal file
3
meta/runtime.yml
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
---
|
||||||
|
|
||||||
|
requires_ansible: ">=2.12"
|
18
roles/ghost/README.md
Normal file
18
roles/ghost/README.md
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
# `finallycoffee.services.ghost` ansible role
|
||||||
|
|
||||||
|
[Ghost](https://ghost.org/) is a self-hosted blog with rich media capabilities,
|
||||||
|
which this role deploys in a docker container.
|
||||||
|
|
||||||
|
## Requirements
|
||||||
|
|
||||||
|
Ghost requires a MySQL-database (like mariadb) for storing it's data, which
|
||||||
|
can be configured using the `ghost_database_(host|username|password|database)` variables.
|
||||||
|
|
||||||
|
Setting `ghost_domain` to a fully-qualified domain on which ghost should be reachable
|
||||||
|
is also required.
|
||||||
|
|
||||||
|
Ghosts configuration can be changed using the `ghost_config` variable.
|
||||||
|
|
||||||
|
Container arguments which are equivalent to `community.docker.docker_container` can be
|
||||||
|
provided in the `ghost_container_[...]` syntax (e.g. `ghost_container_ports` to expose
|
||||||
|
ghosts port to the host).
|
15
roles/jellyfin/README.md
Normal file
15
roles/jellyfin/README.md
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
# `finallycoffee.services.jellyfin` ansible role
|
||||||
|
|
||||||
|
This role runs [Jellyfin](https://jellyfin.org/), a free software media system,
|
||||||
|
in a docker container.
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
`jellyfin_domain` contains the FQDN which jellyfin should listen to. Most configuration
|
||||||
|
is done in the software itself.
|
||||||
|
|
||||||
|
Jellyfin runs in host networking mode by default, as that is needed for some features like
|
||||||
|
network discovery with chromecasts and similar.
|
||||||
|
|
||||||
|
Media can be mounted into jellyfin using `jellyfin_media_volumes`, taking a list of strings
|
||||||
|
akin to `community.docker.docker_container`'s `volumes` key.
|
@ -1,7 +1,7 @@
|
|||||||
---
|
---
|
||||||
|
|
||||||
jellyfin_user: jellyfin
|
jellyfin_user: jellyfin
|
||||||
jellyfin_version: 10.8.6
|
jellyfin_version: 10.8.10
|
||||||
|
|
||||||
jellyfin_base_path: /opt/jellyfin
|
jellyfin_base_path: /opt/jellyfin
|
||||||
jellyfin_config_path: "{{ jellyfin_base_path }}/config"
|
jellyfin_config_path: "{{ jellyfin_base_path }}/config"
|
||||||
|
28
roles/nginx/README.md
Normal file
28
roles/nginx/README.md
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
# `finallycoffee.services.nginx` ansible role
|
||||||
|
|
||||||
|
## Description
|
||||||
|
|
||||||
|
Runs `nginx`, a HTTP reverse proxy, in a docker container.
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
For the role to do anything, `nginx_config` needs to be populated with the configuration for nginx.
|
||||||
|
An example would be:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
nginx_config: |+
|
||||||
|
server {
|
||||||
|
listen 80 default_server;
|
||||||
|
server_name my.server.fqdn;
|
||||||
|
location / { return 200; }
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
The container is named `nginx` by default, this can be overridden in `nginx_container_name`.
|
||||||
|
When running this role multiple times, `nginx_base_path` should also be changed for each run,
|
||||||
|
otherwise the configuration files collide in the filesystem.
|
||||||
|
|
||||||
|
For exposing this server to the host and/or internet, the `nginx_container_ports` (port forwarding host
|
||||||
|
from host to container), `nginx_container_networks` (docker networking) or `nginx_container_labels`
|
||||||
|
(for label-based routing discovery like traefik) can be used. The options correspond to the arguments
|
||||||
|
of the `community.docker.docker_container` module.
|
16
roles/vouch_proxy/README.md
Normal file
16
roles/vouch_proxy/README.md
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
# `finallycoffee.services.vouch-proxy`
|
||||||
|
|
||||||
|
[Vouch-Proxy](https://github.com/vouch/vouch-proxy) can be used in combination with
|
||||||
|
nginx' `auth_request` module to secure web services with OIDC/OAuth. This role runs
|
||||||
|
vouch-proxys' official docker container.
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
The `oauth` config section must be supplied in `vouch_proxy_oauth_config`, and the
|
||||||
|
`vouch` config section can be overridden in `vouch_proxy_vouch_config`. For possible
|
||||||
|
configuration values, see https://github.com/vouch/vouch-proxy/blob/master/config/config.yml_example.
|
||||||
|
|
||||||
|
For an example nginx config, see https://github.com/vouch/vouch-proxy#installation-and-configuration.
|
||||||
|
|
||||||
|
Passing container arguments in the same way as `community.docker.docker_container` is supported
|
||||||
|
using the `vouch_proxy_container_[...]` prefix (e.g. `vouch_proxy_container_ports`).
|
Loading…
Reference in New Issue
Block a user