All checks were successful
continuous-integration/drone/push Build is passing
91 lines
2.4 KiB
YAML
91 lines
2.4 KiB
YAML
---
|
|
- name: Update Docker configuration on shamash
|
|
hosts: misc
|
|
tasks:
|
|
- name: Add users for running containers
|
|
become: true
|
|
ansible.builtin.user:
|
|
name: "{{ item.name }}"
|
|
uid: "{{ item.uid }}"
|
|
create_home: false
|
|
state: present
|
|
loop:
|
|
- name: jupyter
|
|
uid: 42000
|
|
state: present
|
|
- name: gitea
|
|
uid: 42001
|
|
state: present
|
|
- name: factorio
|
|
uid: 845
|
|
state: present
|
|
- name: hackmd
|
|
uid: 1500
|
|
state: present
|
|
- name: hedgedoc
|
|
uid: 10000
|
|
state: present
|
|
# All services that are behind Caddy need to be in this network
|
|
- name: Create Caddy network
|
|
become: true
|
|
docker_network:
|
|
name: caddy-network
|
|
state: present
|
|
- name: Upload docker configuration
|
|
become: true
|
|
ansible.builtin.copy:
|
|
src: ../../docker
|
|
dest: /etc/pbri
|
|
# Files should inaccessible to non-root users.
|
|
mode: u=rw,g=,o=
|
|
# Directories should be listable
|
|
directory_mode: u=rwx,g=rx,o=rx
|
|
- name: Create directory for docker volumes
|
|
become: true
|
|
ansible.builtin.file:
|
|
path: /var/lib/pbri/docker
|
|
state: directory
|
|
# Hide contents from non-root users
|
|
mode: u=rwx,g=,o=
|
|
- name: Create jupyter folders
|
|
become: true
|
|
ansible.builtin.file:
|
|
path: "/var/lib/pbri/docker/{{ item.name }}"
|
|
owner: "{{ item.user }}"
|
|
group: "{{ item.user }}"
|
|
state: directory
|
|
mode: u=rwx,g=,o=
|
|
loop:
|
|
- name: jupyter_data
|
|
user: jupyter
|
|
- name: jupyter_notebooks
|
|
user: jupyter
|
|
- name: Create Factorio data folder
|
|
become: true
|
|
ansible.builtin.file:
|
|
path: /var/lib/pbri/docker/factorio
|
|
state: directory
|
|
owner: factorio
|
|
group: factorio
|
|
mode: u=rwx,g=,o=
|
|
- name: Set up docker stuff
|
|
become: true
|
|
docker_compose:
|
|
project_src: "/etc/pbri/docker/{{ item.name }}"
|
|
state: "{{ item.state }}"
|
|
build: true
|
|
debug: true
|
|
loop:
|
|
- name: caddy
|
|
state: present
|
|
- name: gitea
|
|
state: present
|
|
- name: drone
|
|
state: present
|
|
- name: codi
|
|
state: present
|
|
- name: factorio
|
|
state: present
|
|
- name: jupyter
|
|
state: present
|