34 Commits

Author SHA1 Message Date
Nick Stokoe
5d39245ab9 templates/docker-compose/mopidy - commit extant changes 2022-07-01 07:08:12 +01:00
Nick Stokoe
74d8767b86 snackpot.yml - comment out mrlesmithjr.netplan role
seems not to be present?
2021-07-21 21:15:14 +01:00
Nick Stokoe
52d82a2b52 templates/docker-compose/docker-compose.yml - bump nextcloud to v22 2021-07-21 20:51:12 +01:00
Nick Stokoe
b28998d3d1 docker-compose/docker-compose.yml - upgrade nextcloud and others 2021-03-30 15:19:46 +01:00
Nick Stokoe
22f8ccd7fe docker-compose/docker-compose.yml - add extra_hosts snackpot:host-gateway for mopidy 2021-03-30 12:01:58 +01:00
Nick Stokoe
31434f5cf3 docker-compose/upmpdcli/upmpdcli.conf - don't check the content format
As this will disallow things that should be allowed.
2021-03-01 11:16:09 +00:00
Nick Stokoe
89ba2714a9 docker-compose/upmpdcli/Dockerfile - explicitly specify the config file
In  the command parameters for upmpdcli - otherwise it seems not to be
picked up.
2021-03-01 11:15:15 +00:00
Nick Stokoe
00ca00bf05 fixup add jellyfin 2021-02-19 15:03:46 +00:00
Nick Stokoe
206dc5341b docker-compose/upmpdcli/Dockerfile - use python3 not 2 2021-02-19 11:48:25 +00:00
Nick Stokoe
b006b9c9d5 docker-compose.yml - set mopidy to restart: always 2021-02-19 11:22:45 +00:00
Nick Stokoe
d54be6f1c5 docker-compose.yml - set upmpdcli to restart: always 2021-02-19 11:22:07 +00:00
Nick Stokoe
4c9399fad9 docker-compose/upmpdcli/Dockerfile - add openssl to the package list
upmpdcli seems to use this, optionally
2021-02-19 11:11:27 +00:00
Nick Stokoe
bcb424515f docker-compose.yml - add local audio access to mopidy 2021-02-19 10:58:59 +00:00
Nick Stokoe
65d69c7f58 snackpot.yml, docker-compose.yml - add mopidy and upmpdcli services
mopidy includes icecast
2021-02-14 17:59:30 +00:00
Nick Stokoe
5625a1d51a docker-compose.yml - add MINIDLNA_INOTIFY=yes to minidlna
We want it to spot file changes
2021-02-14 17:52:29 +00:00
Nick Stokoe
874d800b58 snackpot.yml - fixup set nextcloud_src etc. 2021-02-14 17:52:03 +00:00
Nick Stokoe
879da752b6 snackpot.uml - fixup set all ports with firewall_ports 2021-02-14 17:50:40 +00:00
Nick Stokoe
31f0d064ac snackpot.yml etc. - refine docker-compose config deploy
The main job of this commit:
- Be explicit about templates: expect the .j2 extension
- Copy all other files, so that they can be binary
- Don't deploy dotfiles or dotdirectories.

This snuck in:
- Remove `test` tag
- Refine some descriptions
2021-02-14 17:46:45 +00:00
Nick Stokoe
704fbedbae templates/docker-compose/docker-compose.yml - remove some comment cruft 2021-02-12 16:37:00 +00:00
Nick Stokoe
f5026efcc7 snackpot.yml - fixup, get all the ports from firewall_ports 2021-02-12 16:30:21 +00:00
Nick Stokoe
da7a33310b snackpot.yml - add minidlna containiner 2021-02-07 16:02:56 +00:00
Nick Stokoe
be41a87087 roles/ufw/tasks/main.yml - allow more flexible port config
specifically, allow specifying protocol
2021-02-07 16:02:15 +00:00
Nick Stokoe
358734d403 roles/docker_compose/tasks/main.yml - set docker data-root dir 2021-02-07 13:09:03 +00:00
Nick Stokoe
01ddd57da3 docker-compose/docker-compose.yml - add nextcloud_cron
For running the cron job
2021-02-07 13:09:03 +00:00
Nick Stokoe
8fa9d4ceff templates/docker-compose/docker-compose.yml - bump nextcloud to v18.0.13 2021-02-07 13:09:03 +00:00
Nick Stokoe
88a633bb94 snackpot.yml - tag role invocations with docker-config
Else tagging doesn't work correctly
2021-02-07 13:09:03 +00:00
Nick Stokoe
a10e2a6663 templates/bin/ncadmin - remove crufty comments 2021-02-07 13:09:03 +00:00
Nick Stokoe
96727cf17b templates/docker-compose/docker-compose.yml - share /srv with nextcloud
For ease of imports
2021-02-07 13:09:03 +00:00
Nick Stokoe
1b6c2aa19a snackpot.yml - set up networking on server 2021-02-07 13:09:03 +00:00
Nick Stokoe
d2bcfec810 snackpot.yml - add docker compose config
Nominally working and tested on a remote VM
2021-02-07 13:08:33 +00:00
Nick Stokoe
8637cb2af4 snackpot.yml - adapt from server.playbook.yml 2021-02-07 13:08:33 +00:00
Nick Stokoe
40755cdd97 roles/docker_compose/handlers/main.yml - add 'listen' clause
So we can notify from outside the role
2021-02-07 13:08:33 +00:00
Nick Stokoe
9a79fe8078 roles/docker_compose_install/ -> roles/docker_compose 2021-02-07 13:08:33 +00:00
Nick Stokoe
e23ba65b8f docker_compose_install - fixup from docker-install
python 3 etc.
2021-02-07 12:47:53 +00:00
6 changed files with 28 additions and 59 deletions

View File

@@ -6,9 +6,11 @@
postgres_password: "{{lookup('passwordstore', 'servers/snackpot/postgres_db.password')}}"
postgres_db_user: postgres
nextcloud_hostname: nc.noodlefactory.co.uk
nextcloud_base_dir: /var/www/html
nextcloud_data_dir: /var/www/data
nextcloud_ext_dir: /var/www/ext
nextcloud_db_user: nextcloud
nextcloud_db: nextcloud
jellyfin_hostname: jf.noodlefactory.co.uk
letsencrypt_email: webmaster@noodlefactory.co.uk
docker_compose_base_dir: /opt/docker-compose
firewall_ports:
@@ -32,10 +34,6 @@
- "5555"
# icecast
- "8000"
# terraria
- "7777"
- "7778"
- "7779"
tasks:
- hostname:
@@ -63,21 +61,21 @@
vars:
ufw_allow: "{{ firewall_ports }}"
# - include_role:
# name: mrlesmithjr.netplan
# apply: { become: true, tags: [netplan, network] }
# tags: netplan, network
# vars:
# netplan_enabled: true
# netplan_configuration:
# network:
# version: 2
# ethernets:
# enp3s0:
# addresses: [192.168.0.55/24]
# gateway4: 192.168.0.1
# nameservers:
# addresses: [192.168.0.1]
# - include_role:
# name: mrlesmithjr.netplan
# apply: { become: true, tags: [netplan, network] }
# tags: netplan, network
# vars:
# netplan_enabled: true
# netplan_configuration:
# network:
# version: 2
# ethernets:
# enp3s0:
# addresses: [192.168.0.55/24]
# gateway4: 192.168.0.1
# nameservers:
# addresses: [192.168.0.1]
- include_role:
name: docker_compose

View File

@@ -19,20 +19,8 @@ volumes:
mopidy_data:
networks:
# This is for proxied containers
proxy-tier:
# This is for containers which need to be host mode
lan:
name: lan
driver: macvlan
driver_opts:
parent: enp3s0 # our ethernet interface
ipam:
config:
- gateway: 192.168.0.1
subnet: 192.168.0.0/24
ip_range: 192.168.0.240/29 # addresses 240-248 (6 usable)
services:
postgres:
@@ -136,13 +124,9 @@ services:
- jellyfin_config:/config
- jellyfin_cache:/cache
- minidlna_data:/media
networks:
proxy-tier:
default:
lan: # Static ip for the container on the macvlan net
ipv4_address: 192.168.0.241
env_file:
- jellyfin.env
network_mode: host
environment:
- JELLYFIN_PublishedServerUrl=http://snackpot.local
minidlna:
image: vladgh/minidlna:latest
@@ -150,10 +134,7 @@ services:
volumes:
- minidlna_state:/minidlna
- minidlna_data:/media:ro
networks:
default:
lan: # Static ip for the container on the macvlan net
ipv4_address: 192.168.0.242
network_mode: host
environment:
- UPID=2000
- UGID=2000
@@ -175,8 +156,6 @@ services:
- mopidy_data:/data
# Add local music folder
- minidlna_data:/music:ro
networks:
default:
devices:
- /dev/snd
restart: always
@@ -185,10 +164,8 @@ services:
build: ./upmpdcli
depends_on:
- mopidy
networks:
default:
lan: # Static ip for the container on the macvlan net
ipv4_address: 192.168.0.243
# Host mode needed for advertisement
network_mode: host
restart: always
# Next three services adapted from

View File

@@ -1,4 +0,0 @@
VIRTUAL_HOST={{ jellyfin_hostname }}
JELLYFIN_PublishedServerUrl=https://{{ jellyfin_hostname }}/
LETSENCRYPT_HOST={{ jellyfin_hostname }}
LETSENCRYPT_EMAIL={{ letsencrypt_email }}

View File

@@ -1,9 +1,8 @@
FROM alpine:3.15
FROM alpine:3.13
RUN apk update \
&& apk upgrade \
&& apk add --no-cache \
--repository http://dl-cdn.alpinelinux.org/alpine/edge/community \
--repository http://dl-cdn.alpinelinux.org/alpine/edge/testing \
python3 \
openssl \

View File

@@ -8,7 +8,6 @@
#upnpiface =
#upnpip =
# upnpport =
upnpip = 192.168.0.243
# media renderer parameters
friendlyname = Snackpot
@@ -26,4 +25,4 @@ checkcontentformat = 0
#mpdport = 6600
#mpdpassword =
#ownqueue = 1
mpdhost = mopidy