Compare commits
No commits in common. "86a81c6e5263afc03a12fd8f66fcde3c142d1bdc" and "3d89ca8b9f733e10549db79ac0eadacd630e3a91" have entirely different histories.
86a81c6e52
...
3d89ca8b9f
4 changed files with 11 additions and 140 deletions
|
|
@ -1,19 +0,0 @@
|
||||||
forgejo_app_dir: '/srv/docker/forgejo'
|
|
||||||
forgejo_data_dir: '/var/lib/vm/forgejo/data'
|
|
||||||
forgejo_postgres_dir: '/var/lib/vm/forgejo/postgres'
|
|
||||||
|
|
||||||
forgejo_image_tag: 'codeberg.org/forgejo/forgejo:11'
|
|
||||||
|
|
||||||
forgejo_postgres_user: forgejo
|
|
||||||
forgejo_postgres_name: forgejo
|
|
||||||
|
|
||||||
# TODO: write to docker secret
|
|
||||||
forgejo_postgres_password: !vault |
|
|
||||||
$ANSIBLE_VAULT;1.1;AES256
|
|
||||||
30303039313766373966373364346539306661376564613530656565313131623635666435333564
|
|
||||||
6463316365373564383964316635366337376237386134340a353839313761633865646638356165
|
|
||||||
31306666616235336132363232303639303065343436656233366264333236323435393963373062
|
|
||||||
3165326331633438620a323064663435396666316266396135633463653335323534616264383965
|
|
||||||
33383262373831656335363434333938363230373133646436653261346364353463333065303534
|
|
||||||
66383533646636313662376236373931383065386330663438623363336664353832343263323336
|
|
||||||
366531643930326636343466343732373036
|
|
||||||
25
playbook.yml
25
playbook.yml
|
|
@ -7,52 +7,49 @@
|
||||||
name: '{{ packages }}'
|
name: '{{ packages }}'
|
||||||
tasks:
|
tasks:
|
||||||
- name: Generic provisioning
|
- name: Generic provisioning
|
||||||
ansible.builtin.import_tasks: tasks/setup.yml
|
ansible.builtin.import_tasks: 'tasks/setup.yml'
|
||||||
tags: setup
|
tags: setup
|
||||||
|
|
||||||
- name: Network provisioning
|
- name: Network provisioning
|
||||||
ansible.builtin.import_tasks: tasks/network.yml
|
ansible.builtin.import_tasks: 'tasks/network.yml'
|
||||||
tags: network
|
tags: network
|
||||||
|
|
||||||
- name: Wireguard provisioning
|
- name: Wireguard provisioning
|
||||||
ansible.builtin.import_tasks: tasks/wireguard.yml
|
ansible.builtin.import_tasks: 'tasks/wireguard.yml'
|
||||||
tags: wireguard
|
tags: wireguard
|
||||||
|
|
||||||
- name: Wireguard media provisioning
|
- name: Wireguard media provisioning
|
||||||
ansible.builtin.import_tasks: tasks/wireguard_media.yml
|
ansible.builtin.import_tasks: 'tasks/wireguard_media.yml'
|
||||||
tags: wireguard-media
|
tags: wireguard-media
|
||||||
|
|
||||||
- name: Docker provisioning
|
- name: Docker provisioning
|
||||||
ansible.builtin.import_tasks: tasks/docker.yml
|
ansible.builtin.import_tasks: 'tasks/docker.yml'
|
||||||
tags: docker
|
tags: docker
|
||||||
|
|
||||||
- name: Radicale provisioning
|
- name: Radicale provisioning
|
||||||
ansible.builtin.import_tasks: tasks/radicale.yml
|
ansible.builtin.import_tasks: 'tasks/radicale.yml'
|
||||||
tags: radicale
|
tags: radicale
|
||||||
|
|
||||||
- name: Syncthing provisioning
|
- name: Syncthing provisioning
|
||||||
ansible.builtin.import_tasks: tasks/syncthing.yml
|
ansible.builtin.import_tasks: 'tasks/syncthing.yml'
|
||||||
tags: syncthing
|
tags: syncthing
|
||||||
|
|
||||||
- name: Transmission provisioning
|
- name: Transmission provisioning
|
||||||
ansible.builtin.import_tasks: tasks/transmission.yml
|
ansible.builtin.import_tasks: 'tasks/transmission.yml'
|
||||||
tags: transmission
|
tags: transmission
|
||||||
|
|
||||||
- name: MPD provisioning
|
- name: MPD provisioning
|
||||||
ansible.builtin.import_tasks: tasks/mpd.yml
|
ansible.builtin.import_tasks: 'tasks/mpd.yml'
|
||||||
tags: mpd
|
tags: mpd
|
||||||
|
|
||||||
- name: NGINX provisioning
|
- name: NGINX provisioning
|
||||||
ansible.builtin.import_tasks: tasks/nginx.yml
|
ansible.builtin.import_tasks: 'tasks/nginx.yml'
|
||||||
tags: nginx
|
tags: nginx
|
||||||
|
|
||||||
- name: Jellyfin provisioning
|
- name: Jellyfin provisioning
|
||||||
ansible.builtin.import_tasks: tasks/jellyfin.yml
|
ansible.builtin.import_tasks: 'tasks/jellyfin.yml'
|
||||||
tags: jellyfin
|
tags: jellyfin
|
||||||
|
|
||||||
- name: Forgejo provisioning
|
|
||||||
ansible.builtin.import_tasks: tasks/forgejo.yml
|
|
||||||
tags: forgejo
|
|
||||||
handlers:
|
handlers:
|
||||||
- name: Import handlers
|
- name: Import handlers
|
||||||
ansible.builtin.import_tasks: 'handlers.yml'
|
ansible.builtin.import_tasks: 'handlers.yml'
|
||||||
|
|
|
||||||
|
|
@ -1,62 +0,0 @@
|
||||||
- name: Create git user
|
|
||||||
become: true
|
|
||||||
ansible.builtin.user:
|
|
||||||
name: git
|
|
||||||
uid: 1001
|
|
||||||
group: git
|
|
||||||
create_home: false
|
|
||||||
|
|
||||||
- name: Create required directories
|
|
||||||
become: true
|
|
||||||
ansible.builtin.file:
|
|
||||||
path: '{{ item.path }}'
|
|
||||||
state: '{{ item.state }}'
|
|
||||||
mode: '{{ item.mode }}'
|
|
||||||
owner: '{{ item.owner }}'
|
|
||||||
group: '{{ item.group }}'
|
|
||||||
loop:
|
|
||||||
- path: '{{ forgejo_app_dir }}'
|
|
||||||
owner: sonny
|
|
||||||
group: sonny
|
|
||||||
state: directory
|
|
||||||
mode: '0755'
|
|
||||||
|
|
||||||
- path: '{{ forgejo_data_dir }}'
|
|
||||||
owner: sonny
|
|
||||||
group: sonny
|
|
||||||
state: directory
|
|
||||||
mode: '0755'
|
|
||||||
|
|
||||||
- path: '{{ forgejo_postgres_password }}'
|
|
||||||
owner: sonny
|
|
||||||
group: sonny
|
|
||||||
state: directory
|
|
||||||
mode: '0755'
|
|
||||||
|
|
||||||
- name: Copy docker-compose file
|
|
||||||
ansible.builtin.template:
|
|
||||||
src: templates/forgejo/docker-compose.j2
|
|
||||||
dest: '{{ forgejo_app_dir }}/docker-compose.yml'
|
|
||||||
mode: '0755'
|
|
||||||
|
|
||||||
- name: Stop current containers
|
|
||||||
community.docker.docker_compose_v2:
|
|
||||||
project_src: '{{ forgejo_app_dir }}'
|
|
||||||
state: stopped
|
|
||||||
|
|
||||||
- name: Pull missing image
|
|
||||||
community.docker.docker_compose_v2:
|
|
||||||
project_src: '{{ forgejo_app_dir }}'
|
|
||||||
pull: missing
|
|
||||||
state: stopped
|
|
||||||
|
|
||||||
- name: Remove dangling containers
|
|
||||||
community.docker.docker_compose_v2:
|
|
||||||
project_src: '{{ forgejo_app_dir }}'
|
|
||||||
remove_orphans: true
|
|
||||||
state: stopped
|
|
||||||
|
|
||||||
- name: Start container
|
|
||||||
community.docker.docker_compose_v2:
|
|
||||||
project_src: '{{ forgejo_app_dir }}'
|
|
||||||
state: present
|
|
||||||
|
|
@ -1,45 +0,0 @@
|
||||||
# {{ ansible_managed }}
|
|
||||||
|
|
||||||
networks:
|
|
||||||
forgejo:
|
|
||||||
external: false
|
|
||||||
|
|
||||||
services:
|
|
||||||
server:
|
|
||||||
image: '{{ forgejo_image_tag }}'
|
|
||||||
container_name: forgejo
|
|
||||||
environment:
|
|
||||||
- USER_UID=1000
|
|
||||||
- USER_GID=1000
|
|
||||||
- FORGEJO__server__DOMAIN={{ forgejo_domain }}
|
|
||||||
- FORGEJO__server__ROOT_URL=https://{{ forgejo_domain }}/
|
|
||||||
- FORGEJO__server__SSH_DOMAIN={{ forgejo_domain }}
|
|
||||||
- FORGEJO__database__DB_TYPE=postgres
|
|
||||||
- FORGEJO__database__HOST=db:5432
|
|
||||||
- FORGEJO__database__NAME={{ forgejo_postgres_name }}
|
|
||||||
- FORGEJO__database__USER={{ forgejo_postgres_user }}
|
|
||||||
- FORGEJO__database__PASSWD={{ forgejo_postgres_password }}
|
|
||||||
restart: always
|
|
||||||
networks:
|
|
||||||
- forgejo
|
|
||||||
volumes:
|
|
||||||
- {{ forgejo_data_dir }}:/data
|
|
||||||
- /etc/timezone:/etc/timezone:ro
|
|
||||||
- /etc/localtime:/etc/localtime:ro
|
|
||||||
ports:
|
|
||||||
- '{{ forgejo_port }}:3000'
|
|
||||||
- '{{ forgejo_ssh_port }}:22'
|
|
||||||
depends_on:
|
|
||||||
- db
|
|
||||||
|
|
||||||
db:
|
|
||||||
image: postgres:14
|
|
||||||
restart: always
|
|
||||||
environment:
|
|
||||||
- POSTGRES_USER={{ forgejo_postgres_user }}
|
|
||||||
- POSTGRES_PASSWORD={{ forgejo_postgres_password }}
|
|
||||||
- POSTGRES_DB={{ forgejo_postgres_name }}
|
|
||||||
networks:
|
|
||||||
- forgejo
|
|
||||||
volumes:
|
|
||||||
- {{ forgejo_postgres_dir }}:/var/lib/postgresql/data
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue