Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
922 changes: 461 additions & 461 deletions inventory/group_vars/users

Large diffs are not rendered by default.

20 changes: 20 additions & 0 deletions inventory/host_vars/inventory.berlin.freifunk.net
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
caddy_caddyfile: Caddyfile_inventory.j2

docker_compose_file: inventory.berlin.freifunk.net.yml.j2

backup_user: download-master
backup_password: !vault |
$ANSIBLE_VAULT;1.1;AES256
36613532316339656337633862356637623863663733306430626635376164346463653635333362
3638626164393763373436623436393330306461626137380a636434303166376464393539666434
65626536383831343239336338636236616334383234663937336561306131343630623863383061
3165366332636132360a623434663939386438666239373232343066623932333234306266666663
39306139303132383633623862643035373631613066323637303963643331396232356334366533
30343961323437376465333130363966653464633066363033343636373433313866393534653263
323135353361646535383431393735366536
backup_role: client
backup_directories:
- /var/lib/docker/volumes/snipe-it_storage/_data/dumps/

snipeit_version: v8.3.7
6 changes: 5 additions & 1 deletion inventory/hosts
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,10 @@ wiki
uisp
unifi
download
inventory

[mirror]
mirror.berlin.freifunk.net
mirror.berlin.freifunk.net

[inventory]
inventory.berlin.freifunk.net ansible_host=77.87.49.22
10 changes: 10 additions & 0 deletions play.yml
Original file line number Diff line number Diff line change
Expand Up @@ -107,3 +107,13 @@
- ff_mirror
tags:
- mirror

- name: Set up inventory
hosts: inventory
become: true
roles:
- caddy
- inventory
- docker
tags:
- inventory
39 changes: 39 additions & 0 deletions roles/docker/templates/inventory.berlin.freifunk.net.yml.j2
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# Compose file for production.
# https://github.com/grokability/snipe-it/blob/master/docker-compose.yml

volumes:
db_data:
storage:

services:
app:
image: snipe/snipe-it:${APP_VERSION}
container_name: "app"
restart: unless-stopped
volumes:
- storage:/var/lib/snipeit
depends_on:
db:
condition: service_healthy
restart: true
env_file:
- .env
ports:
- "8000:80"

db:
image: mariadb:11.5.2
restart: unless-stopped
volumes:
- db_data:/var/lib/mysql
environment:
MYSQL_DATABASE: ${DB_DATABASE}
MYSQL_USER: ${DB_USERNAME}
MYSQL_PASSWORD: ${DB_PASSWORD}
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
healthcheck:
# https://mariadb.com/kb/en/using-healthcheck-sh/#compose-file-example
test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
interval: 5s
timeout: 1s
retries: 5
32 changes: 32 additions & 0 deletions roles/inventory/defaults/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
---

inventory_app_key: !vault |
$ANSIBLE_VAULT;1.1;AES256
32393938646137383130646338306130323133386161326261333038646165353131336662396564
6163666231623535633336633866316337663361333366370a303731323935663232353663653437
63316231373065633161356438643630643236663333363938633635326330353333376131393962
6462346664366631620a393137386638653435336464643535376330646432663234333232303930
32626337646638626537626231646531666134333639326564613136326537373436626537663463
36313035323938393961306333643063376636366666383437313635393133376331346564393531
383061353833353665346362383835346537
inventory_db_pass: !vault |
$ANSIBLE_VAULT;1.1;AES256
30653764363532613137653563303334303735343036363739666530343036616137626638616135
3334323661316437666235613635626430653630323462380a376536633534326366643237326138
36633332336235393438386261643632376264336636616334313032313431613036353161383039
3361323062363438340a623363356361333566326666376464656337376133363132316638653466
6339
inventory_mysql_pass: !vault |
$ANSIBLE_VAULT;1.1;AES256
36326433386534633465383239666634313466366133343236346638613462353865353564333431
3137623031613164636664636263326134316435633433620a613862363433393030393931643535
63653632636363386362363931333137316430313234633565323366313263383562336631383962
3432623665306634310a303361383565656534316564343939636263396139396139653265376436
6633
inventory_mail_pass: !vault |
$ANSIBLE_VAULT;1.1;AES256
34333862393863666238396662313664613431616433303231616636323937363137376565623065
6131323432653933326535633632356331383966373532610a323333666534383562626332393132
65393234376333346463636333303236363339633132383438316532613237313336303039333237
3962663332353837350a396662363564666530636236323431323733666166623734633566666364
3633
8 changes: 8 additions & 0 deletions roles/inventory/tasks/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
- name: Copy snipeit config
ansible.builtin.template:
src: env.j2
dest: /etc/freifunk/.env
mode: "0640"
owner: root
group: root
66 changes: 66 additions & 0 deletions roles/inventory/templates/env.j2
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
# --------------------------------------------
# REQUIRED: DOCKER SPECIFIC SETTINGS
# --------------------------------------------
APP_VERSION={{ snipeit_version }}
APP_PORT=8000

# --------------------------------------------
# REQUIRED: BASIC APP SETTINGS
# --------------------------------------------
APP_ENV=production
APP_DEBUG=false
# Please regenerate the APP_KEY value by calling `docker compose run --rm app php artisan key:generate --show`. Copy paste the value here
APP_KEY={{ inventory_app_key }}
APP_URL=https://inventory.berlin.freifunk.net
# https://en.wikipedia.org/wiki/List_of_tz_database_time_zones - TZ identifier
APP_TIMEZONE='Europe/Berlin'
APP_LOCALE=en-US
MAX_RESULTS=500

# --------------------------------------------
# REQUIRED: UPLOADED FILE STORAGE SETTINGS
# --------------------------------------------
PRIVATE_FILESYSTEM_DISK=local
PUBLIC_FILESYSTEM_DISK=local_public

# --------------------------------------------
# REQUIRED: DATABASE SETTINGS
# --------------------------------------------
DB_CONNECTION=mysql
DB_HOST=db
DB_PORT='3306'
DB_DATABASE=snipeit
DB_USERNAME=snipeit
DB_PASSWORD={{ inventory_db_pass }}
MYSQL_ROOT_PASSWORD={{ inventory_mysql_pass }}
DB_PREFIX=null
DB_DUMP_PATH='/usr/bin'
DB_CHARSET=utf8mb4
DB_COLLATION=utf8mb4_unicode_ci

# --------------------------------------------
# REQUIRED: OUTGOING MAIL SERVER SETTINGS
# --------------------------------------------
MAIL_MAILER=smtp
MAIL_HOST=mail.systemli.org
MAIL_PORT=465
MAIL_USERNAME=ff-inventory@systemli.org
MAIL_PASSWORD={{ inventory_mail_pass}}
MAIL_TLS_VERIFY_PEER=true
MAIL_FROM_ADDR=ff-inventory@systemli.org
MAIL_FROM_NAME='FF-Inventory'
MAIL_REPLYTO_ADDR=hardware@stadtfunk.net
MAIL_REPLYTO_NAME='FF-Inventory'
MAIL_AUTO_EMBED_METHOD='attachment'

# --------------------------------------------
# REQUIRED: DATA PROTECTION
# --------------------------------------------
ALLOW_BACKUP_DELETE=false
ALLOW_DATA_PURGE=false

# --------------------------------------------
# REQUIRED: IMAGE LIBRARY
# This should be gd or imagick
# --------------------------------------------
IMAGE_LIB=gd
5 changes: 5 additions & 0 deletions templates/Caddyfile_inventory.j2
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
inventory.berlin.freifunk.net {
reverse_proxy localhost:8000 {
header_up X-Forwarded-Proto {scheme}
}
}