Compare commits
5 commits
Author | SHA1 | Date | |
---|---|---|---|
|
3e24254b57 | ||
|
bd4f92fd65 | ||
|
1bba1d066b | ||
|
aeaa48d7ca | ||
|
ed237c9661 |
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -1,6 +1,6 @@
|
|||
*.retry
|
||||
*.sw*
|
||||
.vagrant/
|
||||
*.log
|
||||
.idea/
|
||||
.vscode/
|
||||
venv/
|
||||
|
|
39
Vagrantfile
vendored
Normal file
39
Vagrantfile
vendored
Normal file
|
@ -0,0 +1,39 @@
|
|||
Vagrant.require_version ">= 2.0.0"
|
||||
PORT = 19022
|
||||
|
||||
def provisioned?(vm="default", provider="virtualbox")
|
||||
File.exist?(".vagrant/machines/#{vm}/#{provider}/action_provision")
|
||||
end
|
||||
|
||||
Vagrant.configure(2) do |config|
|
||||
config.vm.network :private_network, ip: "192.168.56.10"
|
||||
config.vm.network :forwarded_port, guest: PORT, host: PORT
|
||||
|
||||
config.vm.box = "ubuntu/focal64"
|
||||
config.vm.hostname = "datacoop"
|
||||
|
||||
config.vm.provider :virtualbox do |v|
|
||||
v.cpus = 8
|
||||
v.memory = 16384
|
||||
end
|
||||
|
||||
config.vm.provision :ansible do |ansible|
|
||||
ansible.compatibility_mode = "2.0"
|
||||
ansible.playbook = "playbook.yml"
|
||||
ansible.ask_vault_pass = true
|
||||
ansible.verbose = "v"
|
||||
|
||||
# If the VM is already provisioned, we need to use the new port
|
||||
if provisioned?
|
||||
config.ssh.guest_port = PORT
|
||||
ansible.extra_vars = {
|
||||
ansible_port: PORT,
|
||||
from_vagrant: true
|
||||
}
|
||||
else
|
||||
ansible.extra_vars = {
|
||||
from_vagrant: true
|
||||
}
|
||||
end
|
||||
end
|
||||
end
|
|
@ -1,8 +1,8 @@
|
|||
[defaults]
|
||||
ask_vault_pass = True
|
||||
inventory = inventory.ini
|
||||
inventory = datacoop_hosts
|
||||
interpreter_python = /usr/bin/python3
|
||||
remote_user = ansible
|
||||
remote_user = root
|
||||
retry_files_enabled = True
|
||||
use_persistent_connections = True
|
||||
forks = 10
|
||||
|
|
|
@ -1,117 +0,0 @@
|
|||
# cloud-config
|
||||
# The top level settings are used as module
|
||||
# and system configuration.
|
||||
# A set of users which may be applied and/or used by various modules
|
||||
# when a 'default' entry is found it will reference the 'default_user'
|
||||
# from the distro configuration specified below
|
||||
users:
|
||||
- default
|
||||
|
||||
|
||||
# If this is set, 'root' will not be able to ssh in and they
|
||||
# will get a message to login instead as the default $user
|
||||
disable_root: true
|
||||
|
||||
# This will cause the set+update hostname module to not operate (if true)
|
||||
preserve_hostname: false
|
||||
|
||||
apt:
|
||||
# This prevents cloud-init from rewriting apt's sources.list file,
|
||||
# which has been a source of surprise.
|
||||
preserve_sources_list: true
|
||||
|
||||
# If you use datasource_list array, keep array items in a single line.
|
||||
# If you use multi line array, ds-identify script won't read array items.
|
||||
# Example datasource config
|
||||
# datasource:
|
||||
# Ec2:
|
||||
# metadata_urls: [ 'blah.com' ]
|
||||
# timeout: 5 # (defaults to 50 seconds)
|
||||
# max_wait: 10 # (defaults to 120 seconds)
|
||||
|
||||
|
||||
|
||||
|
||||
# The modules that run in the 'init' stage
|
||||
cloud_init_modules:
|
||||
- migrator
|
||||
- seed_random
|
||||
- bootcmd
|
||||
- write-files
|
||||
- growpart
|
||||
- resizefs
|
||||
- disk_setup
|
||||
- mounts
|
||||
- set_hostname
|
||||
- update_hostname
|
||||
- update_etc_hosts
|
||||
- ca-certs
|
||||
- rsyslog
|
||||
- users-groups
|
||||
- ssh
|
||||
|
||||
# The modules that run in the 'config' stage
|
||||
cloud_config_modules:
|
||||
- snap
|
||||
- ssh-import-id
|
||||
- keyboard
|
||||
- locale
|
||||
- set-passwords
|
||||
- grub-dpkg
|
||||
- apt-pipelining
|
||||
- apt-configure
|
||||
- ntp
|
||||
- timezone
|
||||
- disable-ec2-metadata
|
||||
- runcmd
|
||||
- byobu
|
||||
|
||||
# The modules that run in the 'final' stage
|
||||
cloud_final_modules:
|
||||
- package-update-upgrade-install
|
||||
- fan
|
||||
- landscape
|
||||
- lxd
|
||||
- write-files-deferred
|
||||
- puppet
|
||||
- chef
|
||||
- mcollective
|
||||
- salt-minion
|
||||
- reset_rmc
|
||||
- refresh_rmc_and_interface
|
||||
- rightscale_userdata
|
||||
- scripts-vendor
|
||||
- scripts-per-once
|
||||
- scripts-per-boot
|
||||
- scripts-per-instance
|
||||
- scripts-user
|
||||
- ssh-authkey-fingerprints
|
||||
- keys-to-console
|
||||
- install-hotplug
|
||||
- phone-home
|
||||
- final-message
|
||||
- power-state-change
|
||||
|
||||
# System and/or distro specific settings
|
||||
# (not accessible to handlers/transforms)
|
||||
system_info:
|
||||
# This will affect which distro class gets used
|
||||
distro: debian
|
||||
# Default user name + that default users groups (if added/used)
|
||||
default_user:
|
||||
name: ansible
|
||||
lock_passwd: True
|
||||
gecos: Ansible User
|
||||
groups: []
|
||||
sudo: ["ALL=(ALL) NOPASSWD:ALL"]
|
||||
shell: /bin/bash
|
||||
# Other config here will be given to the distro class and/or path classes
|
||||
paths:
|
||||
cloud_dir: /var/lib/cloud/
|
||||
templates_dir: /etc/cloud/templates/
|
||||
package_mirrors:
|
||||
- arches: [default]
|
||||
failsafe:
|
||||
primary: https://deb.debian.org/debian
|
||||
security: https://deb.debian.org/debian-security
|
||||
ssh_svcname: ssh
|
5
datacoop_hosts
Normal file
5
datacoop_hosts
Normal file
|
@ -0,0 +1,5 @@
|
|||
[production]
|
||||
hevonen.servers.data.coop ansible_port=19022
|
||||
|
||||
[monitoring]
|
||||
uptime.data.coop
|
28
deploy.sh
28
deploy.sh
|
@ -2,15 +2,20 @@
|
|||
|
||||
usage () {
|
||||
{
|
||||
echo "Usage: $0"
|
||||
echo "Usage: $0 base"
|
||||
echo "Usage: $0 users"
|
||||
echo "Usage: $0 services [--deploy] [SERVICE]"
|
||||
echo "Usage: $0 [--vagrant]"
|
||||
echo "Usage: $0 [--vagrant] base"
|
||||
echo "Usage: $0 [--vagrant] users"
|
||||
echo "Usage: $0 [--vagrant] services [SERVICE]"
|
||||
} >&2
|
||||
}
|
||||
|
||||
BASE_CMD="ansible-playbook playbook.yml"
|
||||
DEPLOY="false"
|
||||
|
||||
if [ "$1" = "--vagrant" ]; then
|
||||
BASE_CMD="$BASE_CMD --verbose --inventory=vagrant_host"
|
||||
VAGRANT_VAR="from_vagrant"
|
||||
shift
|
||||
fi
|
||||
|
||||
if [ -z "$(ansible-galaxy collection list community.general 2>/dev/null)" ]; then
|
||||
echo "Installing community.general modules"
|
||||
|
@ -23,24 +28,19 @@ if [ -z "$1" ]; then
|
|||
else
|
||||
case $1 in
|
||||
"services")
|
||||
if [ -n "$2" && "$2" = "--deploy" ]; then
|
||||
DEPLOY="true"
|
||||
shift
|
||||
fi
|
||||
|
||||
if [ -z "$2" ]; then
|
||||
echo "Deploying all services!"
|
||||
$BASE_CMD --tags setup_services --extra-vars "deploy_services=$DEPLOY"
|
||||
eval "$BASE_CMD --tags setup_services $(test -z "$VAGRANT_VAR" || printf '%s' "$VAGRANT_VAR=true")"
|
||||
else
|
||||
echo "Deploying service: $2"
|
||||
$BASE_CMD --tags setup_services --extra-vars "deploy_services=$DEPLOY" --extra-vars "single_service=$2"
|
||||
$BASE_CMD --tags setup_services --extra-vars '{"single_service": "'"$2"'"'"$(test -z "$VAGRANT_VAR" || printf '%s' ', "'"$VAGRANT_VAR"'": true')"'}'
|
||||
fi
|
||||
;;
|
||||
"base")
|
||||
$BASE_CMD --tags base_only
|
||||
eval "$BASE_CMD --tags base_only $(test -z "$VAGRANT_VAR" || printf '%s' "$VAGRANT_VAR=true")"
|
||||
;;
|
||||
"users")
|
||||
$BASE_CMD --tags setup-users
|
||||
eval "$BASE_CMD --tags setup-users $(test -z "$VAGRANT_VAR" || printf '%s' "$VAGRANT_VAR=true")"
|
||||
;;
|
||||
*)
|
||||
usage
|
||||
|
|
|
@ -1,170 +1,175 @@
|
|||
$ANSIBLE_VAULT;1.1;AES256
|
||||
30613439636234396439623634656338666330643936373563656336323831353464353239353661
|
||||
6234316535383838653865643964353033623935313432630a666563316534343733363464396635
|
||||
34396664643137643136633837656432623633383361633336343562333039326538393034616637
|
||||
6634613631636433610a663835343739376534356133323163343132323233643135613333313132
|
||||
65373233666535366137343839363938303561653731633038376631386161653038613631396364
|
||||
33636131636536306134346336636332393436303063306262333430613137376438626133353963
|
||||
66396332363335333436623335613966323730616139353762656662386530356435623831656632
|
||||
30333363376132653362323339386437346134323232363336363461323332613962613131386264
|
||||
37383435653061653466613834346430656632626338316564656136666266353231363661666461
|
||||
32646461313365626232376536376463313531613861363462643062326538326234613332646430
|
||||
33383438613961623134343665383638346164653031363435656162306163653232353162343431
|
||||
38333239393332613466663231383932316330376535383466643233326134623530306361393639
|
||||
63386530643733393033646139613730313239313866343730643337393533366330373363353338
|
||||
62313739613531636166663135646262396334373538636634393534616337363337323630666261
|
||||
39643164363437653661633666376431303662396431633661663933343666613234326637636231
|
||||
38383537333532326636343366343564646630363838323162373339323365666262303836636232
|
||||
31343637616261636130656637393633383165353332346239323063646162306235313962363935
|
||||
64633639653261363563646664393630666564646165393736363562623231626634326163306630
|
||||
37613635306136643334616364303439323332666431386264623265323636623738303364396636
|
||||
37626161363466646166633434333265623236633033666562643264303662333363396631646638
|
||||
36626636363261313966393235313866353936323064343331626362306162323166323063656433
|
||||
63303762346330323031353034356162373433356436663134373930633634366330653233613139
|
||||
63363639343833616431633765613938623037323961623663336662666135313466303661316133
|
||||
39353664633036323031373862393530653433373062623233313965653735353566306538393439
|
||||
30366162663138326535346639393337393362366630343266643035353465663332333539613337
|
||||
30666666363134313239306231356663343166363137366636643931313039333732383833313036
|
||||
37393064396662623063613462336363386336393839313465323062646535373733326338353766
|
||||
31666639303836316266343764336462343765363930326338313635336633323662366238356264
|
||||
38613631313434383830333031643938393566633236383861633266326336653033663163336132
|
||||
61313132643062666434346333653234393865656463343363313636613364616361353561343739
|
||||
38313231333431303664323730626162613264343630356438336636373739653234336666646438
|
||||
37636437623336323461613063396137396533353265333034333435306666636261353933613232
|
||||
65363632383039666666323030323830333534376362326136313232393732613166303461383933
|
||||
62303166396533616538666566356238393265663163343264333664393936613066313665616137
|
||||
38613030623937633730646461666233333035323661363835313161613930336237396332623338
|
||||
30666166636662613130363430333436613532326437393730376536353963356633393736303065
|
||||
31393534646537323037316664313438643836386333613961663031383231663932633934656461
|
||||
62313163616635626131663961326438396439383432346337386261313330343330353637376330
|
||||
38346532396533326135303264613361663836646163623630323832653032396237353966663661
|
||||
36353365313962663832393333336138346335363832396535346336643565366465643565616638
|
||||
63616565356663623531323935393334326639626236353338643237343764366464666131393332
|
||||
64396665343535323339383434366133613235313866653663313639633930323864646536346232
|
||||
65316465643662376264373536393232326666663335316631376433343062646361376165363732
|
||||
66326165643163333737313139386461363431353239626236366238343035386663363435366464
|
||||
31633738336263633961306436613233303861633263343030336637373165663261316632663537
|
||||
31613636663163323365303038373134306264343831326264326261633834393366623061616262
|
||||
63393463333833393636666232626662643738653634306364326231343830633834643664353730
|
||||
37346131346263356539363630363230626364663161643064323538396131636633623866383939
|
||||
66346434323935353632633837363530663438636539616130633532346236343661633766383434
|
||||
34343339646662393030323661623665643432376365633435666333316439356631386234303062
|
||||
35346631656230346565323130333765663933373638303639363530373431343232393864656639
|
||||
33666433366131396464323137393239653531376662646235343962613639343831636261326265
|
||||
65663564613766313634653938316339306434663463623563316431633234323330623738646636
|
||||
37643535623664323433626561383462393033343232303838333930653366376536353765613036
|
||||
35663165623265616630373161336632646435613331373166303632373633313865386134636362
|
||||
61636134343839643735636461626663626237613262316564646339323933363864303935353834
|
||||
39396637646264633736366336616336643032313237653662646331383963366533373766356539
|
||||
35306165306534393463663332336430336635666135643561303935386635393838323865623162
|
||||
36323565616232353261303139623465646234313136383436376162376165303664613164356162
|
||||
33373237333666616135636231653637396330663930663962636161326664333261343737343735
|
||||
37313465396130653138613539376436373237343138636535626632326435383234326466363235
|
||||
34646663653038396630353637636166346261346233333632363361326536383634663433613564
|
||||
35633864343630333033613133626635313931333031643564396164393135346131343832363861
|
||||
61366664363838653438653137383933386233633836323332643531303936353237623734666135
|
||||
31356166613664636634336536343032646239643130346564303162356431346539646336323339
|
||||
61626236346535336638353134353838333434663838303730613363393365633739383563613434
|
||||
64336331306639323061386338656361653636353831346237373134346538623464343562393735
|
||||
39333764343139333133393233626564643266373034623764633835383561366265636632633937
|
||||
62343635343161363231653138613263313562366439316435633964396161343566316435303465
|
||||
39666236316339653839313333396264623636663561653932386638366366663933353761353162
|
||||
61343038383939396231346534336361306430373564353633653139306334623630343738636430
|
||||
66376631366662313131646130363530323232383535333163363466636262363461633232343532
|
||||
63626430336261353861633362396638643937623832386638626334663333363637393637373939
|
||||
64303039666432303535636265613564376139333331653336666563663238366639393366363334
|
||||
36303635633933333832396562373965653361303034653139643466656534326231383162336366
|
||||
31656138656539383539396462326134333331653131306537643962653762373035343235333233
|
||||
34373730623663346430303962653061623330653263393633383835663739663961326566323036
|
||||
30336365616532303362396230616531386639333636336332366335613935623836616134393033
|
||||
62653535396630383436393631396337336163323361663930323532633666663238333366383462
|
||||
36393261376262643336643761613731643032626632646332366661626331333233363436613937
|
||||
34653731666137313733653863396164323963383037353265373532303137623037343733616537
|
||||
66336433343334626536323639636139653931383466633833326234633332613431353432343561
|
||||
36626339656536383862623833633634356435393764316633353135326639623534366538313330
|
||||
62633333303266613630326330333336353264343937393864393239623664323366373565383334
|
||||
37383237376664643065383834633961366632643261343635336335353765353863323131653866
|
||||
31326531303461323736303730623638663863353939636437636231636437323730656463633733
|
||||
65383934343534383631363162363830386365313935663337366335326131393262353030663765
|
||||
30643665383332613030336439346332363135366232303166623534333637366133656437643231
|
||||
30306634636430643864363561316334383530613165326663326665613633636237353830393334
|
||||
62653333623563626131666166646335663334393662336337333836376631303631666136376332
|
||||
37316537356531346464623363653033306537636239633065646533643239653063613835363665
|
||||
30383139326465613864316533643033333430326230646334353364633138666532353736313265
|
||||
34623733613864646661353730666433613961643261346166303264386435643565373565323864
|
||||
61346465336231613865363263303034396439346163393534666439666437353266323565653032
|
||||
39386439646438313938356237643831643434666161383632316530356465616632313235643834
|
||||
33303865653836303632656663366465333331616634313863656438393838636631313364633637
|
||||
38646230643734393733663261326161376536643237626130353831363731306231313864613066
|
||||
34623239396362336639363163313161323065653461363563353631613730373830643133336464
|
||||
31336439636361363539383539323631303462633833353032373530333539336538363033383363
|
||||
32613733623839623938326165356237313165383366646233393933393965613363666532646434
|
||||
63316133613130313363303537366230646235663130313538333761633237383262316633366364
|
||||
65373664616237316534613831313966623939396331626334313430386638653461386334363939
|
||||
35333339643837666264356535643365353331393437313866643034663934336466336534343035
|
||||
61313837666662343363613962623462333935353837333336363839623466303534303837396634
|
||||
38656330666661356235626130303538666533666563323936633564383164633834353831306634
|
||||
36343836353464623962333362353133386563343831336463646635646263383832666232323736
|
||||
38613730316634373365343938623237356231643931303333366462373134383137366339613662
|
||||
62643832323734363635643634373066303366306366663036623139393761636533326130313336
|
||||
30316536396466383463393233363035393335343565323635333665346464366139626165636661
|
||||
39363066643437613537653836636363376532643038363063383234353066313737663061363334
|
||||
38306563613561663165623630366135303332636133343733343836383865613661393761333031
|
||||
62653162626461616564643138613737623632313739393962396439306133646138303936636435
|
||||
39393663653865363166316365376562353461633163353734343132343831386434653037323732
|
||||
36356162356336616330636630376438636165653439376137313934663939376639396266323962
|
||||
37383736333536653438363963316435326632393966383534326337303336386135616636363936
|
||||
35393331313938653830646332376631623763383439623633396433633739663038313264323835
|
||||
33373664313562366664363630316132643465363964383339363339656237323465626262306364
|
||||
33306133373065303135613235623262396365363634316365356364373561363762666235666430
|
||||
62336362643564313238363933623366396138646237336336623062326161326536323534326364
|
||||
39316162643966616436343737313434616230346237346237363962653033613930623462386431
|
||||
38343662356665383763633034393236613733643430313937326335356466376139653533333965
|
||||
39386138623134666132663837616637376362303561393133656139653438386363613965393661
|
||||
36343566643931393061373031343331336463643034383065383763663234373438383064303232
|
||||
64666236313935346237666466333562613935646163653331303661386138313739326538353935
|
||||
64323737323532663731353136336138633533386464616362333838396332323563353537613430
|
||||
33633631326238366166346437316638363161386562383630623466386564323266333033313461
|
||||
63666535363034613232346239636233623130393032353030363334333531646238373262323765
|
||||
61373739396162643661353031613663353531653836323730326166383463613330333966336233
|
||||
30386136346466336361303237303534373064353230653238363231633530613866663461643465
|
||||
30396266356164353063323432663561396564636231346534366661663766613634376235356637
|
||||
39313839616336666461313431326430333932623262333437386464636264373430653566386631
|
||||
64653866623662363864376663613136306165393863346533303634623936373835633864313462
|
||||
61333562646233303232623861366634383466633537383831626334356561353637663038643531
|
||||
39386635326366646134333231653737653630356135396634326537633232333166616161653136
|
||||
33393562383233656564356530386465623239386666313964343534343466616134373132636631
|
||||
39666365393063323838343963366339373434353839383039383238613133636237316365323861
|
||||
30626330643665626465666338353030653839383234393237623633646566376361646536353233
|
||||
31393235623561323765633835313139313538343761393064353632316335656231353930656437
|
||||
31313639313931636633333230653730666638373864326239333561393134356632623138366131
|
||||
65356462373336383039316131626562633330666363386631383663343838393435663538343934
|
||||
65386339626362623664393532386131303234633466363437383236616463343831353862323961
|
||||
39663835313234326137303965663963663761656531653437343234643634316565333762663139
|
||||
65393830633237623031303234636134633539316131396135616237316266333437633861303831
|
||||
62656630373763343366636635653033666630613533363365636261323661383364343161343439
|
||||
35626531346665656263643461306261376238353033343032353731373861333239333862653231
|
||||
31336562653133623163353230633331346237356534333534613161323462636639636662623435
|
||||
63633035336662376636623339326433393035646539626231363762643532323463316263393736
|
||||
62613038333733636362356636373331313661663830633433643039653233626261613739663836
|
||||
38643030313338383266323134326337323334343230623331386664333937316266623134336362
|
||||
61373037353664623863393233376264616438656332386130316361663665323135386463383763
|
||||
33303633356133353439393664363630336133306364363430393232326665393339323265383630
|
||||
31656463343064383837333630366465396633393465666235626330343937313630623039383465
|
||||
63326361663238653035613935343932623237396362643833313731323830313962616362613539
|
||||
32346165303930323739313837643933363863643937346561643930653530393636383036613235
|
||||
61376166386563643733333233343437623630323632643463353131386461663936313065313562
|
||||
31393032646262386634353436643466323731366631393136393433616332613036666163336635
|
||||
37303365633338613630656463663533653336666562653236336264303238383930383132346365
|
||||
35386662636439653930343738633265363635626132343030653462306431363234633635643537
|
||||
61666363346430653131623762666564313665653262386332396532646339383136383337353863
|
||||
38386632316632373338653535323335363265653563376330663239343861346563646366313039
|
||||
33306364623536346339393566326533633133393866303535326535306435626531346264616138
|
||||
34356231373561633337653663643566633632393330386564393966666365306565316135646163
|
||||
63366365383839343134303635376233343865663631633331333230616630366633396231333435
|
||||
30366137383238393139336433353764633038616238326136663636656132626538393565393130
|
||||
38653765326137393136386233383636383165613235373437353730306564643033306534386666
|
||||
61623538663537653166313264303533623162356134393333373732383535386261333535383039
|
||||
65613166666230336265366335323434636336663835323034373930393430363065376665666337
|
||||
35363265666130653830333536326433316639613638613730666139623137333736663535633032
|
||||
33363135376636636536623731323134343237393633333038393364376237386165
|
||||
61613366663339336437363136623339356237313933373030613438663430613938306336323139
|
||||
3234343636653638653533656337313138356538376134330a636566313532303362326466663830
|
||||
36376130386361306535373936353864303464663136363261356130323730663362303537666363
|
||||
6437613762336531660a666232663762656162643234663839626663393330646566663933666164
|
||||
35616164306433613734313132636266646266303464623034323338326534363133393365336334
|
||||
61376637366435653766316562386337656266366537353863623633356439636331326436313637
|
||||
61626232626664326163396437353065363735616133393730353936653734323863336263383436
|
||||
31316339313333356537393266396431393330633161303634653935626562666266326265653761
|
||||
64613163623137663532623565633434366238373664336330663439373033653861633161613835
|
||||
31326237396631643836346339326235363663333230326438303334666236363536356237376536
|
||||
61356163626231366239313065363836393332616537623237333736613161303063313437623564
|
||||
37316164353436343537316433613763313064636366326130653764346463376330306430316636
|
||||
32336136333738343361353536623465616339666431343265316564366431623131653435653561
|
||||
62656662386333613337653831646635323566333131386363313233653861383634623666336430
|
||||
35636166643063653039656131663664303363343738353662643335356134343336306263313861
|
||||
35633332346366663932336236636462336662323234316261613333393031353232623435316339
|
||||
62623063313536333962316463383063376430353163643362393539323830393132343063653963
|
||||
33363932333532616132343531636434653834366230343238663836643939363931376262323561
|
||||
64323937616661373434613764396639336366356430373966363266656239666434373635373133
|
||||
65663530636363356436343765333830633061613337326361303433306231353762373331623463
|
||||
39323738656335656139633034626432346265353638323539356132663036623965313033326363
|
||||
34313333636333643465333563336661643536333639373639316439323036333065313662343663
|
||||
37336532366630383331366338353434383135363162626335643664396262633630636163316330
|
||||
64656162616236616131396665386136373534343263303933323262373537343339303639663035
|
||||
37613234666439326333343136663264626465396431613437353564393162333032343538393536
|
||||
31366564363663313630313033323862336635623862633733333739636461323066663037643131
|
||||
64393535373364623531356665353833313139626134666230666533666166373265306531336238
|
||||
63633361373162383665363332626433623861346139393632366366306137396561623437306635
|
||||
64323462383562643638633437613663656463303064393564626131633161393436336631326131
|
||||
64343339383030333864373564633766663238626638646438363431623963356464633330636363
|
||||
36396164303631613137343966323162346135626638623737396635333661623364616335633965
|
||||
62373733656233646437626236346635396466336438383466393831386539383262653633373531
|
||||
36343935626338356334666363613137363935343362383265303338366266646233373963656239
|
||||
65353461323432316366636531353665626534396562343836323563613231393361633162343033
|
||||
63663436323532396332313735343262653738626664643931386661313136613830373637393632
|
||||
64366264373838316538663865643166356630323265383139613036323539396136393934353865
|
||||
32303266303131363836376664343431366633383765383966363365663761653533656265316230
|
||||
33303466326665633263306562393133303438616538316362336436633963643331613631616130
|
||||
31616135656231313763336336666632633563636136643062363437323937643834326235653065
|
||||
63633866663766613234623863643335656333346138386463623565356437356165646538363738
|
||||
38333366323165353633613365353031653164653435613136663064656330613764386361396236
|
||||
32346636643462396630303530653364343338393061323336306161646163376464323230326463
|
||||
35653166326461656539303863333232333166336533613339656234393337383031623065323132
|
||||
35386233343739663439306134643365373232336539306634623332323939366638383062386361
|
||||
38303035383462333766393335373731663638316139643231396138326634383839393663323630
|
||||
38363232303564366462663462383466353664663234313165326539393632343732626166303031
|
||||
66326662383338376663626166623661613561343035653336376139396633636336313539363639
|
||||
36333065663737613965383739366561356130396136343337376138393831376234316464336531
|
||||
35366663616665623732303430346131636437373731386333616162366261336235616134306535
|
||||
31623130353335326334363334386566346433313166323332303930396465663833393130393131
|
||||
35333637646335343536626432323539626238636264626563336463386363653834336262303663
|
||||
34636332656139373231626661663461643336363262326437656531313333333739613363396165
|
||||
36333532353061616239636235373963653532653838643161633837653733663537633138666233
|
||||
36343036353866313263633733656634613963643931333838653561623739653639623935663831
|
||||
35663534653830313236663539356663396165363638613333303366363565666465326339336437
|
||||
33333936373566383239643663366532666235336533333962333731616366313733643963616161
|
||||
31323631303566383937303338376332383537313566613761353864326532613933323337306661
|
||||
61333234333238366437306237366432383066323830373236333431653063613664336433343463
|
||||
37353033646538343635666564326337656264396163393561303734633739646539396138313464
|
||||
38333161633938646462383834633662623332333630626531373339373439616138353235363638
|
||||
39303837313534366338326133323337396339316533663334316330373562643339396665353861
|
||||
30383433323339306637383731333331383436643531393233353639633238393136626264383664
|
||||
34333331616330663565376330626535383765613835643964666132303838336165383565303964
|
||||
38376630623733656361643663393164613766616462623034656631366433326132383033366363
|
||||
37366232386135356264323936366431356262323664386661356239633836346238613162373937
|
||||
61376265653865626437303765393662646234343230636538376531313833363136616265346366
|
||||
34653132333239353865363638366632666133393034623130316566633532326238306532613963
|
||||
63333534346635643135386139333661326532353435613461636165356339616431346166373632
|
||||
62376435366238646335323239616666313838643137633632366232366363653234376134363039
|
||||
33333733343937333366633434313533633463613033636432636265636261396332633162393763
|
||||
63383263383966663534346330396335663836663132366439376134646138363336323233363339
|
||||
62626164353832633733326236623865343130643564373830396634306266643637323133633834
|
||||
66663533376264393835623632313264633464303432333365323365383533666565633831363339
|
||||
34636533656466373930313461336138313439666634386434383862646563373163613565343136
|
||||
32646466326461373065306637386631666633633364393630316637636364323966623766633330
|
||||
34386163633865653734373538336234616161363036333236363735303765376432666632613030
|
||||
38303532656263613063633865353633646566396661376535623335383931336465306666303963
|
||||
64613665363662656237366334383632323862346430313030346538643939366362303734636538
|
||||
63336234383863306633353061653166656231323332313931326637666665396162643930633835
|
||||
64313233393433653261626364656566313836313634316631646639356438333336376166313161
|
||||
35316133636635383936616666313764663936653035353333356239313030346339333065343739
|
||||
66616537383736636234653165333930633239643966326266646365373330313738316131393961
|
||||
35636161626532323862313261333130653739383062306164633062376566346432663839643831
|
||||
37363337383761643430323661383039646164323665333765333534663635666262623266313339
|
||||
64373530646537376136636239333035333461303539386666643366643936303563396132373234
|
||||
33326130386435346238646430383630656261333630326330376336303638376137646361306630
|
||||
64303031363435653834393035383135346239663063386239303365373663303764373631316165
|
||||
62323938323834333763356239386661643136363961373766653930613134313233343166343734
|
||||
31313664643639316531346333356638666135346231326561666234636539653862366630636134
|
||||
37326230333237303461326466623764653163393935366361643264366531333630646261333435
|
||||
33303866383332303730323736353639633533656661643361363537663436656466633664643132
|
||||
35633263353862376435383031613030303434326135643431396363373933373130343766333765
|
||||
33646434373961366134323534656264303562313033653930336437376630376135666339306661
|
||||
65646635346535666538643734313462383631336236393963373631623530383430633438633235
|
||||
66313062613136326364363434303135363739353464386263303137303534663166326463323732
|
||||
65323931666331353630643062383061343836383266663035376631613636306564313133343238
|
||||
38626563663834363739366236323061663165656361626366373366633932386134336665393830
|
||||
32623733616566336539343039313532643131336439663736343137316264666562636562386364
|
||||
66343930336531383634663339383931623537313835346566363434343231323565333036333832
|
||||
30363937393831616537323832393064313330663732393061383437633437366161313131393534
|
||||
65323663666161363039366663303633663739633832626132306164653266623766313031616230
|
||||
32653763393636616331313932373935633039313038303762623039303032343738386134346164
|
||||
64366130336233316330653261333661303839363965663232393233623837633461393239326433
|
||||
30626235363666623464393935393262666633353337336331393762656333373763633866326664
|
||||
33313966623438346637643239663535306166383062306332383337613864656664313932623137
|
||||
30306563386561643435313030393139333063616232363433336431303330643239636663653231
|
||||
32383762303539633235353464306431653539316630636630626536346235393966366639346563
|
||||
37333264633832393139663561616633323361316237313863356537336364663666623333633439
|
||||
33313735613163346562643539393836363566653464363534313637353030613436646432333964
|
||||
36616137396439333764323634376366366438643337666266323831316139336264336363656364
|
||||
63646533366562623862383336343633663963363530396532623037646331643435336161656239
|
||||
36386434326261343462353863653866646265336436613438383835353637626530333932353238
|
||||
66376632643863616233326235623864616330333730353533326466393434653333333433393664
|
||||
62313435366537386436306166653932626436323636623430313739656239663662393931316136
|
||||
38383464326537616230363734643237356333323964376430383364393632313136636333616365
|
||||
33316139363238303338303165623032623265633461663466363737313362386336393939643066
|
||||
34303535643261386666666138323938623438643437623933353031633662326562643836353931
|
||||
61376136356231636164336263653539326134616636356338633835633563373339363964343738
|
||||
39353864623662303466393132313131666366643266356133336131633862366537353235396366
|
||||
66306438393963303438353035643866623265376236343636363636316135643466656639396661
|
||||
38396462353538643466616166383566663431653238376162363764383030373831393336656436
|
||||
64643635376334363832643063306362313238636431623962376362343365343439343937613564
|
||||
65613464396433373964373730383833636661303230353238343032323834336435613731656561
|
||||
66646661363736303430656363323130323130373131346435383137316636333831306164343835
|
||||
39333730623564383663633664343235333365656366386465316238316535333330363839393465
|
||||
66383062316366386465383164323462383934646361306136376161316265383564366361343233
|
||||
30346537313236643665363866313432306233306331366630313862633966613739663964363533
|
||||
37316634383034366665626130313462663964383962353933633261653066636163333836333064
|
||||
64623133306432353631323931373235373934356531666663383939346132613265323635333935
|
||||
64636131383265303662393133336261326265326562663837383564366433323764363430323731
|
||||
33613333383030663434616665663439326162333832376333613935623139313465303933343239
|
||||
37633539316133376331316538613035383139643362616363326535656635396263343732373038
|
||||
64373435613266646661613961313233383063646335616537366633656165656538626631373032
|
||||
36336463643262343235353533326262653964386662356137366261333566383662366433363436
|
||||
61346630306233363135623437643634326365386265623436623366323739663136653034616437
|
||||
38326331393764303262636438633433363332323263396265303631663737393639393361306532
|
||||
39333664646638333938363130626661656137366637356263376133306363363565353262626564
|
||||
66363863316166373638666465656630346533333635663432616132653365353463636638376639
|
||||
63313163323266323136303730643830613239616262656363643935333566633530376566653435
|
||||
36326431313034303930663534326335663964326263373936373065626634386337353964313162
|
||||
30646561383839336235636632303832366266393736633136343137633331633730343962343433
|
||||
63316337613239633339303366613765333634643636313966313362326262643639363161363131
|
||||
37326130343166323938653265336638643538363031383938313264623539336264303136333031
|
||||
30313130623634333764616439336631353863623962643935616361646434333665326230323765
|
||||
37363637333165373631613561353735613135303939636466313761303764393164356662353032
|
||||
30386662396533653665313337363732623361336638353536636665653437643364353335613035
|
||||
31663730323065343135303839633363333337396537643135373435636434333566356438303761
|
||||
31396366373935663763336661363537663636616564376434363166343964616533386339656365
|
||||
36616364333164396633336366313666663265613436383364306138313335363031613163366330
|
||||
65396133356262316233383665306262343133643136646432326663363531353664643961656232
|
||||
66356265333135633836633164626336363363343765346261636162653438643964646239303261
|
||||
38643238393830346433646338616433373364353864633435646531393562343439373334613138
|
||||
66396139356164333864356466633131313433633261626630343764373334633638626431323739
|
||||
36356562363532336239323063636461643864363566336232306331306138333233666534333538
|
||||
37636232393333316565383263353933363166633930376465613731643630363335376639356336
|
||||
36343262383535653839616234363835376265356639633138636161346262363330343936663064
|
||||
39653235373931656366316335363731303038323366646564343466613836333131396231336163
|
||||
64623038613536303635613963383761313035363261646165336661366238346531363365346562
|
||||
62343036656430663938336365626336633535313036306231353863313563303935333838396361
|
||||
37383131613834343233616163396262343561326138386236313162376262636334656565343266
|
||||
32373230636135626533626433656533353432343461366231313863363034623631333330663238
|
||||
31613566366361636534323662343363373836396134653439343938376131336430626563353333
|
||||
62363037613730316563656234323665383464396237656332663166366634303036313236383831
|
||||
39313164663136663633623336613166633965346632623364383234356630363934366632323434
|
||||
31343261643731656430356634613831643666383934383164396238666162643838306166653664
|
||||
62633963366465303662393930383764626462333832653136636461643130363564353566383233
|
||||
36383331616265383437636430303865323435663939323833643465373836643863346235356266
|
||||
39666664336263313365383034303637396164663366613263613337626465386632333163373366
|
||||
62643335656230316432306235393433323933633836333833336639306636353163363663623736
|
||||
34333165393165633563363762376662326632313766326166353863343937626165393136656436
|
||||
39646163326262396263343030343263643033333630373233616338323939616137303630613336
|
||||
36313266323263366436666230316134643161616638376431356438303932303736336432666535
|
||||
30383963396664306265393031663238346538613038393564363134646237346531383962346638
|
||||
6237396161373638623639343131346633316265333036323161
|
||||
|
|
|
@ -55,3 +55,6 @@ rallly_secrets:
|
|||
|
||||
membersystem_secrets:
|
||||
secret_key: xxx
|
||||
|
||||
diun:
|
||||
matrix_password: xxx
|
|
@ -1,17 +1,24 @@
|
|||
# vim: ft=yaml.ansible
|
||||
# code: language=ansible
|
||||
---
|
||||
users:
|
||||
- name: ansible
|
||||
comment: Ansible User
|
||||
password_lock: true
|
||||
- name: graffen
|
||||
comment: Jesper Hess Nielsen
|
||||
password: '!'
|
||||
groups: []
|
||||
ssh_keys: []
|
||||
|
||||
- name: valberg
|
||||
comment: Vidir Valberg Gudmundsson
|
||||
password: $6$qt3G.E.CxhC$OwBDn4rZUbCz06HLEMBHjgvKjxiv/eeerbklTHi.gpHIn1OejzX3k2.0NM0Dforaw6Yn5Y8Cgn8kL2FdbQLZ3/
|
||||
groups:
|
||||
- sudo
|
||||
ssh_keys:
|
||||
- ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDUmGeHc6QXDcJHkmVxbTUv04Q3vs20avquoGr6eOkkvYbcgjuFnBOOtvs2Nul1odcvvnHa1nN7DfL8XJamiwsB1B/xe2seaNS1axgwk9XowlVN9pgga8gsC+4gZWBtSObG2GR8n4NtPENzPmW5deNn8dRpTvULPMxZ0VRE9yNQOx8v8w85yYh+vxbbkWGVDYJU23yuJI50U9y6bXxNHinsACDFBeR/giXDlw29TaOaSxz0R6zrRPBoX+V68RyWwBL+KWQKtX2ULtJI40S98Ohd6p41bIxYHCBS/zroqNne8PjYOLcHHsjHUGfTvhcS5a3zdz/iHsvsaOOjFjsydAXH valberg
|
||||
- ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC4FRrbTpxwGdlF6RVi/thJaMlaEE0Z9YCQA4Y+KnHbBoVWMjzgbIkSWw3MM+E/iiVnix8SFh4tjDSdFjb8lCvHt/PqhMFhZJ02vhVgSwyU+Ji5ur23i202LB9ua54NLN4kNG8K47U0tKi2/EV6LWl2QdRviAcOUctz6u9XDkkMLUgPEYH384XSTRRj4GJ8+0LRzB2rXqetH3gBe9v1vlv0ETYWvzTnpfZUxcrrqEGtXV9Wa0BZoWLos2oKOsYVjNdLZMoFpmyBxPnqzAi1hr7beblFZKqBkvD7XA9RnERbZn1nxkWufVahppPjKQ+se3esWJCp6ri/vNP4WNKY3hiIoekBLbpvGcP1Te7cAIQXiZOilN92NKKYrzN2gAtsxgqGZw7lI1PE71luGdPir2Evl6hPj6/nnNdEHZWgcmBSPy17uCpVvZYBcDDzj8L3hbkLVQ3kcLZTz6I8BXvuGqoeLvRQpBtn5EaLpCCOmXuKqm+dzHzsOIwh+SA5NA8M3P0=
|
||||
|
||||
- name: reynir
|
||||
comment: Reynir Björnsson
|
||||
password: $6$MiPv.ZFlWnLHGNOb$jdQD9NaPMRUGaP2YHRJNwrMPBGl9qwK0HFhI6x51Xpn7hdzuC4GIwvOw1DJK33sNs/gGP5bWB0izviXkDcq7B0
|
||||
password_lock: false
|
||||
groups:
|
||||
- sudo
|
||||
ssh_keys:
|
||||
|
@ -21,19 +28,8 @@ users:
|
|||
- name: samsapti
|
||||
comment: Sam Al-Sapti
|
||||
password: $6$18dN367fG162hQ9A$Aqkf3O24Ve1btzh1PPOPg3uyydv/AQYUxethcoB4klotebJq3/XsydYT7XBuarxfDccVwyPTMlsP3U8VfQpG60
|
||||
password_lock: false
|
||||
groups:
|
||||
- sudo
|
||||
ssh_keys:
|
||||
- sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIFWZGLov8wPBNxuvnaPK+8vv6wK5hHUVEFzXKsN9QeuBAAAADHNzaDpzYW1zYXB0aQ== ssh:samsapti
|
||||
- ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPd/4fQV7CL8/KVwbo/phiV5UdXFBIDlkZ+ps8C7FeRf cardno:14 336 332
|
||||
|
||||
- name: valberg
|
||||
comment: Vidir Valberg Gudmundsson
|
||||
password: $6$qt3G.E.CxhC$OwBDn4rZUbCz06HLEMBHjgvKjxiv/eeerbklTHi.gpHIn1OejzX3k2.0NM0Dforaw6Yn5Y8Cgn8kL2FdbQLZ3/
|
||||
password_lock: false
|
||||
groups:
|
||||
- sudo
|
||||
ssh_keys:
|
||||
- ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDUmGeHc6QXDcJHkmVxbTUv04Q3vs20avquoGr6eOkkvYbcgjuFnBOOtvs2Nul1odcvvnHa1nN7DfL8XJamiwsB1B/xe2seaNS1axgwk9XowlVN9pgga8gsC+4gZWBtSObG2GR8n4NtPENzPmW5deNn8dRpTvULPMxZ0VRE9yNQOx8v8w85yYh+vxbbkWGVDYJU23yuJI50U9y6bXxNHinsACDFBeR/giXDlw29TaOaSxz0R6zrRPBoX+V68RyWwBL+KWQKtX2ULtJI40S98Ohd6p41bIxYHCBS/zroqNne8PjYOLcHHsjHUGfTvhcS5a3zdz/iHsvsaOOjFjsydAXH valberg
|
||||
- ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC4FRrbTpxwGdlF6RVi/thJaMlaEE0Z9YCQA4Y+KnHbBoVWMjzgbIkSWw3MM+E/iiVnix8SFh4tjDSdFjb8lCvHt/PqhMFhZJ02vhVgSwyU+Ji5ur23i202LB9ua54NLN4kNG8K47U0tKi2/EV6LWl2QdRviAcOUctz6u9XDkkMLUgPEYH384XSTRRj4GJ8+0LRzB2rXqetH3gBe9v1vlv0ETYWvzTnpfZUxcrrqEGtXV9Wa0BZoWLos2oKOsYVjNdLZMoFpmyBxPnqzAi1hr7beblFZKqBkvD7XA9RnERbZn1nxkWufVahppPjKQ+se3esWJCp6ri/vNP4WNKY3hiIoekBLbpvGcP1Te7cAIQXiZOilN92NKKYrzN2gAtsxgqGZw7lI1PE71luGdPir2Evl6hPj6/nnNdEHZWgcmBSPy17uCpVvZYBcDDzj8L3hbkLVQ3kcLZTz6I8BXvuGqoeLvRQpBtn5EaLpCCOmXuKqm+dzHzsOIwh+SA5NA8M3P0=
|
||||
|
|
|
@ -1,10 +0,0 @@
|
|||
# vim: ft=yaml.ansible
|
||||
# code: language=ansible
|
||||
---
|
||||
base_domain: data.coop
|
||||
letsencrypt_email: admin@data.coop
|
||||
|
||||
services_include:
|
||||
- nginx_proxy
|
||||
- uptime_kuma
|
||||
- watchtower
|
|
@ -1,13 +0,0 @@
|
|||
# vim: ft=yaml.ansible
|
||||
# code: language=ansible
|
||||
---
|
||||
base_domain: data.coop
|
||||
letsencrypt_email: admin@data.coop
|
||||
|
||||
services_exclude:
|
||||
- uptime_kuma
|
||||
|
||||
smtp_host: "postfix"
|
||||
smtp_port: "587"
|
||||
|
||||
ldap_dn: "dc=data,dc=coop"
|
|
@ -1,13 +0,0 @@
|
|||
# vim: ft=yaml.ansible
|
||||
# code: language=ansible
|
||||
---
|
||||
base_domain: staging.data.coop
|
||||
letsencrypt_email: admin@data.coop
|
||||
|
||||
services_exclude:
|
||||
- uptime_kuma
|
||||
|
||||
smtp_host: "postfix"
|
||||
smtp_port: "587"
|
||||
|
||||
ldap_dn: "dc=staging,dc=data,dc=coop"
|
|
@ -1,8 +0,0 @@
|
|||
# vim: ft=yaml.ansible
|
||||
# code: language=ansible
|
||||
---
|
||||
hostname: "{{ inventory_hostname }}"
|
||||
fqdn: "{{ hostname }}.servers.data.coop"
|
||||
|
||||
ansible_host: "{{ fqdn }}"
|
||||
ansible_port: 22
|
|
@ -1,12 +0,0 @@
|
|||
# vim: ft=yaml.ansible
|
||||
# code: language=ansible
|
||||
---
|
||||
hostname: "{{ inventory_hostname }}"
|
||||
fqdn: "{{ hostname }}.vm.{{ vm_host }}.servers.data.coop"
|
||||
|
||||
ansible_host: "{{ fqdn }}"
|
||||
ansible_port: 19022
|
||||
internal_ipv4: 10.2.1.5
|
||||
|
||||
vm_host: cavall
|
||||
vm_type: control
|
|
@ -1,11 +0,0 @@
|
|||
# vim: ft=yaml.ansible
|
||||
# code: language=ansible
|
||||
---
|
||||
hostname: "{{ inventory_hostname }}"
|
||||
fqdn: "{{ hostname }}.vm.{{ vm_host }}.servers.data.coop"
|
||||
|
||||
ansible_host: "{{ fqdn }}"
|
||||
ansible_port: 22
|
||||
|
||||
vm_host: cloud
|
||||
vm_type: uptime
|
|
@ -1,12 +0,0 @@
|
|||
# vim: ft=yaml.ansible
|
||||
# code: language=ansible
|
||||
---
|
||||
hostname: "{{ inventory_hostname }}"
|
||||
fqdn: "{{ hostname }}.vm.{{ vm_host }}.servers.data.coop"
|
||||
|
||||
ansible_host: "{{ fqdn }}"
|
||||
ansible_port: 19022
|
||||
internal_ipv4: 10.2.1.2
|
||||
|
||||
vm_host: cavall
|
||||
vm_type: app
|
|
@ -1,12 +0,0 @@
|
|||
# vim: ft=yaml.ansible
|
||||
# code: language=ansible
|
||||
---
|
||||
hostname: "{{ inventory_hostname }}"
|
||||
fqdn: "{{ hostname }}.vm.{{ vm_host }}.servers.data.coop"
|
||||
|
||||
ansible_host: "{{ fqdn }}"
|
||||
ansible_port: 19022
|
||||
internal_ipv4: 10.2.1.3
|
||||
|
||||
vm_host: cavall
|
||||
vm_type: app
|
|
@ -1,22 +0,0 @@
|
|||
[proxmox]
|
||||
cavall
|
||||
|
||||
[monitoring]
|
||||
hestur
|
||||
|
||||
[production]
|
||||
poltre
|
||||
|
||||
[staging]
|
||||
varsa
|
||||
|
||||
[control]
|
||||
folald
|
||||
|
||||
[virtual:children]
|
||||
production
|
||||
staging
|
||||
control
|
||||
|
||||
[physical:children]
|
||||
proxmox
|
34
playbook.yml
34
playbook.yml
|
@ -1,15 +1,27 @@
|
|||
# vim: ft=yaml.ansible
|
||||
# code: language=ansible
|
||||
---
|
||||
- hosts: all
|
||||
- hosts: production
|
||||
gather_facts: true
|
||||
become: true
|
||||
roles:
|
||||
- name: vm-common
|
||||
tags: [base_only]
|
||||
- name: zfs
|
||||
tags: [zfs]
|
||||
- name: docker
|
||||
tags: [docker]
|
||||
- name: services
|
||||
tags: [services]
|
||||
vars:
|
||||
ldap_dn: "dc=data,dc=coop"
|
||||
|
||||
vagrant: "{{ from_vagrant is defined and from_vagrant }}"
|
||||
letsencrypt_enabled: "{{ not vagrant }}"
|
||||
|
||||
base_domain: "{{ 'datacoop.devel' if vagrant else 'data.coop' }}"
|
||||
letsencrypt_email: "admin@{{ base_domain }}"
|
||||
|
||||
smtp_host: "postfix"
|
||||
smtp_port: "587"
|
||||
|
||||
services_exclude:
|
||||
- uptime_kuma
|
||||
|
||||
tasks:
|
||||
- import_role:
|
||||
name: ubuntu_base
|
||||
tags:
|
||||
- base_only
|
||||
- import_role:
|
||||
name: docker
|
||||
|
|
|
@ -1,65 +0,0 @@
|
|||
# network interface settings; autogenerated
|
||||
# Please do NOT modify this file directly, unless you know what
|
||||
# you're doing.
|
||||
#
|
||||
# If you want to manage parts of the network configuration manually,
|
||||
# please utilize the 'source' or 'source-directory' directives to do
|
||||
# so.
|
||||
# PVE will preserve these directives, but will NOT read its network
|
||||
# configuration from sourced files, so do not attempt to move any of
|
||||
# the PVE managed interfaces into external files!
|
||||
|
||||
auto lo
|
||||
iface lo inet loopback
|
||||
|
||||
auto eno1
|
||||
iface eno1 inet manual
|
||||
|
||||
auto eno2
|
||||
iface eno2 inet manual
|
||||
|
||||
iface eno3 inet manual
|
||||
|
||||
iface eno4 inet manual
|
||||
|
||||
auto bond0
|
||||
iface bond0 inet manual
|
||||
bond-slaves eno1 eno2
|
||||
bond-miimon 100
|
||||
bond-mode 802.3ad
|
||||
bond-xmit-hash-policy layer2+3
|
||||
|
||||
auto vmbr0
|
||||
iface vmbr0 inet static
|
||||
address 85.209.118.134/28
|
||||
gateway 85.209.118.129
|
||||
bridge-ports bond0
|
||||
bridge-stp off
|
||||
bridge-fd 0
|
||||
#Main bridge for public VMs
|
||||
|
||||
iface vmbr0 inet6 static
|
||||
address 2a09:94c4:55d1:7680::86/64
|
||||
gateway 2a09:94c4:55d1:7680::1
|
||||
|
||||
auto vmbr1
|
||||
iface vmbr1 inet manual
|
||||
address 10.2.1.1/24
|
||||
bridge-ports none
|
||||
bridge-stp off
|
||||
bridge-fd 0
|
||||
#Internal bridge for VMs
|
||||
|
||||
auto vmbr2
|
||||
iface vmbr2 inet static
|
||||
address 192.168.1.1/24
|
||||
bridge-ports none
|
||||
bridge-stp off
|
||||
bridge-fd 0
|
||||
#NAT bridge for VMs that need masquerading
|
||||
|
||||
post-up echo 1 > /proc/sys/net/ipv4/ip_forward
|
||||
post-up iptables -t nat -A POSTROUTING -s '192.168.1.0/24' -o vmbr0 -j MASQUERADE
|
||||
post-down iptables -t nat -D POSTROUTING -s '192.168.1.0/24' -o vmbr0 -j MASQUERADE
|
||||
|
||||
source /etc/network/interfaces.d/*
|
|
@ -1,6 +1,229 @@
|
|||
# vim: ft=yaml.ansible
|
||||
# code: language=ansible
|
||||
---
|
||||
docker_rootless: false
|
||||
docker_rootless_user: rootlessdocker
|
||||
docker_rootless_user_uid: 1102
|
||||
volume_root_folder: "/docker-volumes"
|
||||
volume_website_folder: "{{ volume_root_folder }}/websites"
|
||||
|
||||
services:
|
||||
### Internal services ###
|
||||
postfix:
|
||||
domain: "smtp.{{ base_domain }}"
|
||||
volume_folder: "{{ volume_root_folder }}/postfix"
|
||||
pre_deploy_tasks: true
|
||||
version: "v3.6.1-alpine"
|
||||
|
||||
nginx_proxy:
|
||||
volume_folder: "{{ volume_root_folder }}/nginx"
|
||||
pre_deploy_tasks: true
|
||||
version: "1.3-alpine"
|
||||
acme_companion_version: "2.2"
|
||||
|
||||
openldap:
|
||||
domain: "ldap.{{ base_domain }}"
|
||||
volume_folder: "{{ volume_root_folder }}/openldap"
|
||||
pre_deploy_tasks: true
|
||||
version: "1.5.0"
|
||||
phpldapadmin_version: "0.9.0"
|
||||
|
||||
netdata:
|
||||
domain: "netdata.{{ base_domain }}"
|
||||
volume_folder: "{{ volume_root_folder }}/netdata"
|
||||
version: "v1"
|
||||
|
||||
portainer:
|
||||
domain: "portainer.{{ base_domain }}"
|
||||
volume_folder: "{{ volume_root_folder }}/portainer"
|
||||
version: "2.19.0"
|
||||
|
||||
keycloak:
|
||||
domain: sso.{{ base_domain }}
|
||||
volume_folder: "{{ volume_root_folder }}/keycloak"
|
||||
version: "22.0"
|
||||
postgres_version: "10"
|
||||
allowed_sender_domain: true
|
||||
|
||||
restic:
|
||||
volume_folder: "{{ volume_root_folder }}/restic"
|
||||
pre_deploy_tasks: true
|
||||
remote_user: dc-user
|
||||
remote_domain: rynkeby.skovgaard.tel
|
||||
host_key: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBLGol2G+a87ssy0nu/STKBZSiGyhZhZKx/ujfe9IeFo
|
||||
repository: restic
|
||||
version: "1.7.0"
|
||||
disabled_in_vagrant: true
|
||||
# mail dance
|
||||
domain: "noreply.{{ base_domain }}"
|
||||
allowed_sender_domain: true
|
||||
mail_from: "backup@noreply.{{ base_domain }}"
|
||||
|
||||
docker_registry:
|
||||
domain: "docker.{{ base_domain }}"
|
||||
volume_folder: "{{ volume_root_folder }}/docker-registry"
|
||||
pre_deploy_tasks: true
|
||||
post_deploy_tasks: true
|
||||
username: "docker"
|
||||
password: "{{ docker_password }}"
|
||||
version: "2"
|
||||
|
||||
### External services ###
|
||||
nextcloud:
|
||||
domain: "cloud.{{ base_domain }}"
|
||||
volume_folder: "{{ volume_root_folder }}/nextcloud"
|
||||
pre_deploy_tasks: true
|
||||
version: 28-apache
|
||||
postgres_version: "10"
|
||||
redis_version: 7-alpine
|
||||
allowed_sender_domain: true
|
||||
|
||||
forgejo:
|
||||
domain: "git.{{ base_domain }}"
|
||||
volume_folder: "{{ volume_root_folder }}/forgejo"
|
||||
version: "7.0.4"
|
||||
allowed_sender_domain: true
|
||||
|
||||
passit:
|
||||
domain: "passit.{{ base_domain }}"
|
||||
volume_folder: "{{ volume_root_folder }}/passit"
|
||||
version: stable
|
||||
postgres_version: 15-alpine
|
||||
allowed_sender_domain: true
|
||||
|
||||
matrix:
|
||||
domain: "matrix.{{ base_domain }}"
|
||||
volume_folder: "{{ volume_root_folder }}/matrix"
|
||||
pre_deploy_tasks: true
|
||||
version: v1.109.0
|
||||
postgres_version: 15-alpine
|
||||
allowed_sender_domain: true
|
||||
|
||||
element:
|
||||
domain: "element.{{ base_domain }}"
|
||||
volume_folder: "{{ volume_root_folder }}/element"
|
||||
pre_deploy_tasks: true
|
||||
version: v1.11.69
|
||||
|
||||
privatebin:
|
||||
domain: "paste.{{ base_domain }}"
|
||||
volume_folder: "{{ volume_root_folder }}/privatebin"
|
||||
pre_deploy_tasks: true
|
||||
version: "20221009"
|
||||
|
||||
hedgedoc:
|
||||
domain: "pad.{{ base_domain }}"
|
||||
volume_folder: "{{ volume_root_folder }}/hedgedoc"
|
||||
pre_deploy_tasks: true
|
||||
version: 1.9.9-alpine
|
||||
postgres_version: 10-alpine
|
||||
|
||||
data_coop_website:
|
||||
domain: "{{ base_domain }}"
|
||||
www_domain: "www.{{ base_domain }}"
|
||||
volume_folder: "{{ volume_website_folder }}/datacoop"
|
||||
pre_deploy_tasks: true
|
||||
version: stable
|
||||
staging_domain: "staging.{{ base_domain }}"
|
||||
staging_version: staging
|
||||
|
||||
slides_2022_website:
|
||||
domain: "2022.slides.{{ base_domain }}"
|
||||
volume_folder: "{{ volume_website_folder }}/slides-2022"
|
||||
version: latest
|
||||
|
||||
fedi_dk_website:
|
||||
domain: fedi.dk
|
||||
volume_folder: "{{ volume_website_folder }}/fedidk"
|
||||
version: latest
|
||||
|
||||
vhs_website:
|
||||
domain: vhs.data.coop
|
||||
volume_folder: "{{ volume_website_folder }}/vhs"
|
||||
version: latest
|
||||
|
||||
cryptohagen_website:
|
||||
domains:
|
||||
- "cryptohagen.dk"
|
||||
- "www.cryptohagen.dk"
|
||||
volume_folder: "{{ volume_website_folder }}/cryptohagen"
|
||||
|
||||
ulovliglogning_website:
|
||||
domains:
|
||||
- "ulovliglogning.dk"
|
||||
- "www.ulovliglogning.dk"
|
||||
- "ulovlig-logning.dk"
|
||||
- "www.ulovlig-logning.dk"
|
||||
volume_folder: "{{ volume_website_folder }}/ulovliglogning"
|
||||
|
||||
cryptoaarhus_website:
|
||||
domains:
|
||||
- "cryptoaarhus.dk"
|
||||
- "www.cryptoaarhus.dk"
|
||||
volume_folder: "{{ volume_website_folder }}/cryptoaarhus"
|
||||
|
||||
drone:
|
||||
domain: "drone.{{ base_domain }}"
|
||||
volume_folder: "{{ volume_root_folder }}/drone"
|
||||
version: "1"
|
||||
|
||||
mailu:
|
||||
domain: "mail.{{ base_domain }}"
|
||||
volume_folder: "{{ volume_root_folder }}/mailu"
|
||||
pre_deploy_tasks: true
|
||||
dns: 192.168.203.254
|
||||
subnet: 192.168.203.0/24
|
||||
version: "2.0"
|
||||
postgres_version: 14-alpine
|
||||
redis_version: alpine
|
||||
|
||||
mastodon:
|
||||
domain: "social.{{ base_domain }}"
|
||||
volume_folder: "{{ volume_root_folder }}/mastodon"
|
||||
pre_deploy_tasks: true
|
||||
post_deploy_tasks: true
|
||||
version: v4.2.9
|
||||
postgres_version: 14-alpine
|
||||
redis_version: 6-alpine
|
||||
allowed_sender_domain: true
|
||||
|
||||
rallly:
|
||||
domain: "when.{{ base_domain }}"
|
||||
volume_folder: "{{ volume_root_folder }}/rallly"
|
||||
pre_deploy_tasks: true
|
||||
version: "2"
|
||||
postgres_version: 14-alpine
|
||||
allowed_sender_domain: true
|
||||
|
||||
membersystem:
|
||||
domain: "member.{{ base_domain }}"
|
||||
django_admins: "Vidir:valberg@orn.li"
|
||||
volume_folder: "{{ volume_root_folder }}/membersystem"
|
||||
version: latest
|
||||
postgres_version: 13-alpine
|
||||
allowed_sender_domain: true
|
||||
|
||||
writefreely:
|
||||
domain: "write.{{ base_domain }}"
|
||||
volume_folder: "{{ volume_root_folder }}/writefreely"
|
||||
pre_deploy_tasks: true
|
||||
version: v0.15.0
|
||||
mariadb_version: "11.2"
|
||||
allowed_sender_domain: true
|
||||
|
||||
watchtower:
|
||||
volume_folder: "{{ volume_root_folder }}/watchtower"
|
||||
version: "1.5.3"
|
||||
|
||||
diun:
|
||||
version: "4.28"
|
||||
volume_folder: "{{ volume_root_folder }}/diun"
|
||||
matrix_user: "@diun:data.coop"
|
||||
matrix_room: "#datacoop-services-update:data.coop"
|
||||
|
||||
### Uptime monitoring ###
|
||||
uptime_kuma:
|
||||
domain: "uptime.{{ base_domain }}"
|
||||
status_domain: "status.{{ base_domain }}"
|
||||
volume_folder: "{{ volume_root_folder }}/uptime_kuma"
|
||||
pre_deploy_tasks: true
|
||||
version: "latest"
|
||||
|
||||
services_exclude: []
|
||||
services_include: "{{ services | dict2items | map(attribute='key') | list | difference(services_exclude) }}"
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# vim: ft=yaml.ansible
|
||||
# code: language=ansible
|
||||
---
|
||||
- name: restart nginx
|
||||
command: docker compose restart proxy
|
26
roles/docker/tasks/block.yml
Normal file
26
roles/docker/tasks/block.yml
Normal file
|
@ -0,0 +1,26 @@
|
|||
# vim: ft=yaml.ansible
|
||||
---
|
||||
- name: Create volume folder for service {{ service.name }}
|
||||
file:
|
||||
name: "{{ service.vars.volume_folder }}"
|
||||
state: directory
|
||||
|
||||
- name: Upload Compose file for service {{ service.name }}
|
||||
template:
|
||||
src: compose-files/{{ service.name }}.yml.j2
|
||||
dest: "{{ service.vars.volume_folder }}/docker-compose.yml"
|
||||
owner: root
|
||||
mode: u=rw,go=
|
||||
|
||||
- name: Run pre-deployment tasks for service {{ service.name }}
|
||||
include_tasks: pre_deploy/{{ service.name }}.yml
|
||||
when: service.vars.pre_deploy_tasks is defined and service.vars.pre_deploy_tasks
|
||||
|
||||
- name: Deploy Compose stack for service {{ service.name }}
|
||||
command: docker compose up -d --remove-orphans --pull always
|
||||
args:
|
||||
chdir: "{{ service.vars.volume_folder }}"
|
||||
|
||||
- name: Run post-deployment tasks for service {{ service.name }}
|
||||
include_tasks: post_deploy/{{ service.name }}.yml
|
||||
when: service.vars.post_deploy_tasks is defined and service.vars.post_deploy_tasks
|
|
@ -1,114 +1,44 @@
|
|||
# vim: ft=yaml.ansible
|
||||
# code: language=ansible
|
||||
---
|
||||
- name: Add Docker apt PGP key
|
||||
ansible.builtin.apt_key:
|
||||
id: 9DC858229FC7DD38854AE2D88D81803C0EBFCD88
|
||||
url: https://download.docker.com/linux/debian/gpg
|
||||
- name: Add Docker PGP key
|
||||
apt_key:
|
||||
keyserver: pgp.mit.edu
|
||||
id: 8D81803C0EBFCD88
|
||||
state: present
|
||||
|
||||
- name: Add Docker apt repository
|
||||
ansible.builtin.apt_repository:
|
||||
filename: docker
|
||||
repo: "deb [arch=amd64] https://download.docker.com/linux/debian {{ ansible_distribution_release }} stable"
|
||||
apt_repository:
|
||||
repo: deb https://download.docker.com/linux/ubuntu bionic stable
|
||||
state: present
|
||||
update_cache: true
|
||||
update_cache: yes
|
||||
|
||||
- name: Install Docker
|
||||
ansible.builtin.apt:
|
||||
name:
|
||||
- containerd.io
|
||||
apt:
|
||||
name: "{{ pkgs }}"
|
||||
state: present
|
||||
vars:
|
||||
pkgs:
|
||||
- docker-ce
|
||||
- docker-ce-cli
|
||||
- docker-buildx-plugin
|
||||
- docker-compose-plugin
|
||||
|
||||
- name: Configure cron job to prune unused Docker data weekly
|
||||
cron:
|
||||
name: Prune unused Docker data
|
||||
cron_file: ansible_docker_prune
|
||||
job: 'docker system prune -fa && docker volume prune -fa'
|
||||
special_time: weekly
|
||||
user: root
|
||||
state: present
|
||||
|
||||
- name: Create group for Docker socket
|
||||
ansible.builtin.group:
|
||||
name: docker
|
||||
state: present
|
||||
- name: Create folder structure for bind mounts
|
||||
file:
|
||||
name: "{{ item }}"
|
||||
state: directory
|
||||
loop:
|
||||
- "{{ volume_root_folder }}"
|
||||
- "{{ volume_website_folder }}"
|
||||
|
||||
- name: Configure rootful Docker
|
||||
when: not docker_rootless
|
||||
block:
|
||||
- name: Make sure Docker is running
|
||||
ansible.builtin.service:
|
||||
name: docker
|
||||
enabled: true
|
||||
state: started
|
||||
|
||||
- name: Configure cron job to prune unused Docker data weekly
|
||||
ansible.builtin.cron:
|
||||
name: Prune unused Docker data
|
||||
cron_file: ansible_docker_prune
|
||||
job: docker system prune -fa --volumes --filter "until=6h"
|
||||
special_time: weekly
|
||||
user: root
|
||||
state: present
|
||||
|
||||
- name: Configure rootless Docker
|
||||
when: docker_rootless
|
||||
block:
|
||||
- name: Make sure rootful Docker is stopped and disabled
|
||||
ansible.builtin.systemd_service:
|
||||
name: docker
|
||||
enabled: false
|
||||
scope: system
|
||||
state: stopped
|
||||
|
||||
- name: Install packages needed by rootless Docker
|
||||
ansible.builtin.apt:
|
||||
name:
|
||||
- docker-ce-rootless-extras
|
||||
- uidmap
|
||||
- dbus-user-session
|
||||
- fuse-overlayfs
|
||||
- slirp4netns
|
||||
state: present
|
||||
|
||||
- name: Create user for rootless Docker
|
||||
ansible.builtin.user:
|
||||
name: "{{ docker_rootless_user }}"
|
||||
uid: "{{ docker_rootless_user_uid }}"
|
||||
comment: Rootless Docker User
|
||||
groups:
|
||||
- docker
|
||||
state: present
|
||||
|
||||
- name: Enable lingering for Docker user
|
||||
ansible.builtin.command:
|
||||
cmd: loginctl enable-linger {{ docker_rootless_user }}
|
||||
creates: /var/lib/systemd/linger/{{ docker_rootless_user }}
|
||||
|
||||
- name: Set DOCKER_HOST environment variable globally
|
||||
ansible.builtin.lineinfile:
|
||||
path: /etc/profile
|
||||
regexp: '^export DOCKER_HOST='
|
||||
line: export DOCKER_HOST=unix:///run/user/{{ docker_rootless_user_uid }}/docker.sock
|
||||
state: present
|
||||
|
||||
- name: Run rootless Docker setup script
|
||||
ansible.builtin.command:
|
||||
cmd: dockerd-rootless-setuptool.sh install
|
||||
creates: /home/{{ docker_rootless_user }}/.config/systemd/user/docker.service
|
||||
become: true
|
||||
become_user: "{{ docker_rootless_user }}"
|
||||
|
||||
- name: Make sure rootless Docker is running
|
||||
ansible.builtin.systemd_service:
|
||||
name: docker.service
|
||||
enabled: true
|
||||
scope: user
|
||||
state: started
|
||||
become: true
|
||||
become_user: "{{ docker_rootless_user }}"
|
||||
|
||||
- name: Configure cron job to prune unused Docker data weekly
|
||||
ansible.builtin.cron:
|
||||
name: Prune unused Docker data
|
||||
cron_file: ansible_docker_rootless_prune
|
||||
job: docker --host unix:///run/user/{{ docker_rootless_user_uid }}/docker.sock system prune -fa --volumes --filter "until=6h"
|
||||
special_time: weekly
|
||||
user: "{{ docker_rootless_user }}"
|
||||
state: present
|
||||
- name: Set up services
|
||||
import_tasks: services.yml
|
||||
tags:
|
||||
- setup_services
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# vim: ft=yaml.ansible
|
||||
# code: language=ansible
|
||||
---
|
||||
- name: Generate htpasswd file
|
||||
shell: docker compose exec registry htpasswd -Bbn docker {{ docker_password }} > auth/htpasswd
|
||||
|
@ -9,6 +8,6 @@
|
|||
|
||||
- name: log in to registry
|
||||
docker_login:
|
||||
registry: docker.data.coop
|
||||
registry: "{{ 'docker.data.coop' if vagrant else services.docker_registry.domain }}"
|
||||
username: docker
|
||||
password: "{{ docker_password }}"
|
19
roles/docker/tasks/post_deploy/mastodon.yml
Normal file
19
roles/docker/tasks/post_deploy/mastodon.yml
Normal file
|
@ -0,0 +1,19 @@
|
|||
# vim: ft=yaml.ansible
|
||||
---
|
||||
- name: Configure cron job to remove old Mastodon media daily
|
||||
cron:
|
||||
name: Clean Mastodon media data older than a week
|
||||
cron_file: ansible_mastodon_clean_media
|
||||
job: docker exec mastodon-web-1 tootctl media remove --days 7
|
||||
special_time: daily
|
||||
user: root
|
||||
state: present
|
||||
|
||||
- name: Configure cron job to remove old Mastodon preview cards daily
|
||||
cron:
|
||||
name: Clean Mastodon preview card data older than two weeks
|
||||
cron_file: ansible_mastodon_clean_preview_cards
|
||||
job: docker exec mastodon-web-1 tootctl preview_cards remove --days 14
|
||||
special_time: daily
|
||||
user: root
|
||||
state: present
|
|
@ -1,5 +1,4 @@
|
|||
# vim: ft=yaml.ansible
|
||||
# code: language=ansible
|
||||
---
|
||||
- name: Upload vhost config for root domain
|
||||
copy:
|
|
@ -1,5 +1,4 @@
|
|||
# vim: ft=yaml.ansible
|
||||
# code: language=ansible
|
||||
---
|
||||
- name: Create subfolders
|
||||
file:
|
|
@ -1,5 +1,4 @@
|
|||
# vim: ft=yaml.ansible
|
||||
# code: language=ansible
|
||||
---
|
||||
- name: Create subfolder
|
||||
file:
|
|
@ -1,5 +1,4 @@
|
|||
# vim: ft=yaml.ansible
|
||||
# code: language=ansible
|
||||
---
|
||||
- name: Create subfolders
|
||||
file:
|
|
@ -1,5 +1,4 @@
|
|||
# vim: ft=yaml.ansible
|
||||
# code: language=ansible
|
||||
---
|
||||
- name: Create subfolders
|
||||
file:
|
||||
|
@ -35,6 +34,7 @@
|
|||
dest: "{{ services.mailu.volume_folder }}/certs/cert.pem"
|
||||
state: hard
|
||||
force: true
|
||||
when: letsencrypt_enabled
|
||||
|
||||
- name: Hard link to Let's Encrypt TLS key
|
||||
file:
|
||||
|
@ -42,3 +42,4 @@
|
|||
dest: "{{ services.mailu.volume_folder }}/certs/key.pem"
|
||||
state: hard
|
||||
force: true
|
||||
when: letsencrypt_enabled
|
|
@ -1,5 +1,4 @@
|
|||
# vim: ft=yaml.ansible
|
||||
# code: language=ansible
|
||||
---
|
||||
- name: Create subfolder for Mastodon data
|
||||
file:
|
||||
|
@ -44,21 +43,3 @@
|
|||
copy:
|
||||
src: mastodon/postgresql.conf
|
||||
dest: "{{ services.mastodon.volume_folder }}/postgres_config/postgresql.conf"
|
||||
|
||||
- name: Configure cron job to remove old Mastodon media daily
|
||||
ansible.builtin.cron:
|
||||
name: Clean Mastodon media data older than a week
|
||||
cron_file: ansible_mastodon_clean_media
|
||||
job: docker compose -f {{ services.mastodon.volume_folder }}/docker-compose.yml exec web tootctl media remove --days 7
|
||||
special_time: daily
|
||||
user: root
|
||||
state: present
|
||||
|
||||
- name: Configure cron job to remove old Mastodon preview cards daily
|
||||
ansible.builtin.cron:
|
||||
name: Clean Mastodon preview card data older than two weeks
|
||||
cron_file: ansible_mastodon_clean_preview_cards
|
||||
job: docker compose -f {{ services.mastodon.volume_folder }}/docker-compose.yml exec web tootctl preview_cards remove --days 14
|
||||
special_time: daily
|
||||
user: root
|
||||
state: present
|
|
@ -1,5 +1,4 @@
|
|||
# vim: ft=yaml.ansible
|
||||
# code: language=ansible
|
||||
---
|
||||
- name: Create subfolders
|
||||
file:
|
|
@ -1,5 +1,4 @@
|
|||
# vim: ft=yaml.ansible
|
||||
# code: language=ansible
|
||||
---
|
||||
- name: Create subfolders
|
||||
file:
|
|
@ -1,5 +1,4 @@
|
|||
# vim: ft=yaml.ansible
|
||||
# code: language=ansible
|
||||
---
|
||||
- name: Create subfolders
|
||||
file:
|
|
@ -1,5 +1,4 @@
|
|||
# vim: ft=yaml.ansible
|
||||
# code: language=ansible
|
||||
---
|
||||
- name: Create subfolders
|
||||
file:
|
|
@ -1,5 +1,4 @@
|
|||
# vim: ft=yaml.ansible
|
||||
# code: language=ansible
|
||||
---
|
||||
- name: Set up network for Postfix
|
||||
docker_network:
|
|
@ -1,5 +1,4 @@
|
|||
# vim: ft=yaml.ansible
|
||||
# code: language=ansible
|
||||
---
|
||||
- name: Create subfolders
|
||||
file:
|
|
@ -1,5 +1,4 @@
|
|||
# vim: ft=yaml.ansible
|
||||
# code: language=ansible
|
||||
---
|
||||
- name: Create subfolder
|
||||
file:
|
|
@ -1,5 +1,4 @@
|
|||
# vim: ft=yaml.ansible
|
||||
# code: language=ansible
|
||||
---
|
||||
- name: Create SSH directory
|
||||
file:
|
|
@ -1,5 +1,4 @@
|
|||
# vim: ft=yaml.ansible
|
||||
# code: language=ansible
|
||||
---
|
||||
- name: Create subfolder for MariaDB data
|
||||
file:
|
|
@ -1,5 +1,4 @@
|
|||
# vim: ft=yaml.ansible
|
||||
# code: language=ansible
|
||||
---
|
||||
- name: Set up external services network
|
||||
docker_network:
|
||||
|
@ -13,7 +12,9 @@
|
|||
name: "{{ item }}"
|
||||
vars: "{{ services[item] }}"
|
||||
loop: "{{ services_include }}"
|
||||
when: single_service is not defined
|
||||
when: single_service is not defined and
|
||||
(item.vars.disabled_in_vagrant is not defined or
|
||||
not (item.vars.disabled_in_vagrant and vagrant))
|
||||
|
||||
- name: Deploy single service
|
||||
include_tasks:
|
||||
|
@ -22,4 +23,6 @@
|
|||
service:
|
||||
name: "{{ single_service }}"
|
||||
vars: "{{ services[single_service] }}"
|
||||
when: single_service is defined and single_service in services
|
||||
when: single_service is defined and single_service in services and
|
||||
(services[single_service].disabled_in_vagrant is not defined or
|
||||
not (services[single_service].disabled_in_vagrant and vagrant))
|
|
@ -1,6 +1,4 @@
|
|||
{# code: language=ansible-jinja #}
|
||||
# THIS FILE IS MANAGED BY ANSIBLE
|
||||
|
||||
# vim: ft=yaml.docker-compose
|
||||
version: "3.8"
|
||||
|
||||
services:
|
|
@ -1,6 +1,4 @@
|
|||
{# code: language=ansible-jinja #}
|
||||
# THIS FILE IS MANAGED BY ANSIBLE
|
||||
|
||||
# vim: ft=yaml.docker-compose
|
||||
version: "3.8"
|
||||
|
||||
services:
|
|
@ -1,6 +1,4 @@
|
|||
{# code: language=ansible-jinja #}
|
||||
# THIS FILE IS MANAGED BY ANSIBLE
|
||||
|
||||
# vim: ft=yaml.docker-compose
|
||||
version: "3.8"
|
||||
|
||||
services:
|
|
@ -1,6 +1,5 @@
|
|||
{# code: language=ansible-jinja #}
|
||||
# THIS FILE IS MANAGED BY ANSIBLE
|
||||
|
||||
# vim: ft=yaml.ansible
|
||||
---
|
||||
version: "3.5"
|
||||
|
||||
services:
|
||||
|
@ -17,6 +16,11 @@ services:
|
|||
- "DIUN_WATCH_JITTER=30s"
|
||||
- "DIUN_PROVIDERS_DOCKER=true"
|
||||
- "DIUN_PROVIDERS_DOCKER_WATCHBYDEFAULT=true"
|
||||
- "DIUN_NOTIF_MATRIX_HOMESERVERURL=https://{{ services.matrix.domain }}"
|
||||
- "DIUN_NOTIF_MATRIX_USER={{ services.diun.matrix_user }}"
|
||||
- "DIUN_NOTIF_MATRIX_ROOMID={{ services.diun.matrix_room }}"
|
||||
- "DIUN_NOTIF_MATRIX_PASSWORD={{ diun_secrets.matrix_password }}"
|
||||
- "DIUN_NOTIF_MATRIX_MSGTYPE=text"
|
||||
labels:
|
||||
- "diun.enable=true"
|
||||
restart: always
|
|
@ -1,6 +1,4 @@
|
|||
{# code: language=ansible-jinja #}
|
||||
# THIS FILE IS MANAGED BY ANSIBLE
|
||||
|
||||
# vim: ft=yaml.docker-compose
|
||||
version: "3.8"
|
||||
|
||||
services:
|
|
@ -1,6 +1,4 @@
|
|||
{# code: language=ansible-jinja #}
|
||||
# THIS FILE IS MANAGED BY ANSIBLE
|
||||
|
||||
# vim: ft=yaml.docker-compose
|
||||
version: "3.8"
|
||||
|
||||
services:
|
|
@ -1,6 +1,4 @@
|
|||
{# code: language=ansible-jinja #}
|
||||
# THIS FILE IS MANAGED BY ANSIBLE
|
||||
|
||||
# vim: ft=yaml.docker-compose
|
||||
version: "3.8"
|
||||
|
||||
services:
|
|
@ -1,6 +1,4 @@
|
|||
{# code: language=ansible-jinja #}
|
||||
# THIS FILE IS MANAGED BY ANSIBLE
|
||||
|
||||
# vim: ft=yaml.docker-compose
|
||||
version: "3.8"
|
||||
|
||||
services:
|
|
@ -1,6 +1,4 @@
|
|||
{# code: language=ansible-jinja #}
|
||||
# THIS FILE IS MANAGED BY ANSIBLE
|
||||
|
||||
# vim: ft=yaml.docker-compose
|
||||
version: "3.8"
|
||||
|
||||
services:
|
|
@ -1,6 +1,4 @@
|
|||
{# code: language=ansible-jinja #}
|
||||
# THIS FILE IS MANAGED BY ANSIBLE
|
||||
|
||||
# vim: ft=yaml.docker-compose
|
||||
version: "3.8"
|
||||
|
||||
services:
|
|
@ -1,6 +1,4 @@
|
|||
{# code: language=ansible-jinja #}
|
||||
# THIS FILE IS MANAGED BY ANSIBLE
|
||||
|
||||
# vim: ft=yaml.docker-compose
|
||||
version: "3.8"
|
||||
|
||||
services:
|
|
@ -1,6 +1,4 @@
|
|||
{# code: language=ansible-jinja #}
|
||||
# THIS FILE IS MANAGED BY ANSIBLE
|
||||
|
||||
# vim: ft=yaml.docker-compose
|
||||
version: "3.8"
|
||||
|
||||
services:
|
|
@ -1,6 +1,4 @@
|
|||
{# code: language=ansible-jinja #}
|
||||
# THIS FILE IS MANAGED BY ANSIBLE
|
||||
|
||||
# vim: ft=yaml.docker-compose
|
||||
x-sidekiq: &sidekiq
|
||||
image: tootsuite/mastodon:{{ services.mastodon.version }}
|
||||
restart: always
|
|
@ -1,6 +1,4 @@
|
|||
{# code: language=ansible-jinja #}
|
||||
# THIS FILE IS MANAGED BY ANSIBLE
|
||||
|
||||
# vim: ft=yaml.docker-compose
|
||||
version: "3.8"
|
||||
|
||||
services:
|
||||
|
@ -14,7 +12,7 @@ services:
|
|||
POSTGRES_PASSWORD: "{{ postgres_passwords.matrix }}"
|
||||
|
||||
synapse:
|
||||
image: matrixdotorg/synapse:{{ services.matrix.version }}
|
||||
image: ghcr.io/element-hq/synapse:{{ services.matrix.version }}
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- default
|
|
@ -1,6 +1,4 @@
|
|||
{# code: language=ansible-jinja #}
|
||||
# THIS FILE IS MANAGED BY ANSIBLE
|
||||
|
||||
# vim: ft=yaml.docker-compose
|
||||
version: "3.8"
|
||||
|
||||
services:
|
|
@ -1,6 +1,4 @@
|
|||
{# code: language=ansible-jinja #}
|
||||
# THIS FILE IS MANAGED BY ANSIBLE
|
||||
|
||||
# vim: ft=yaml.docker-compose
|
||||
version: "3.8"
|
||||
|
||||
services:
|
|
@ -1,6 +1,4 @@
|
|||
{# code: language=ansible-jinja #}
|
||||
# THIS FILE IS MANAGED BY ANSIBLE
|
||||
|
||||
# vim: ft=yaml.docker-compose
|
||||
version: "3.8"
|
||||
|
||||
services:
|
|
@ -1,6 +1,3 @@
|
|||
{# code: language=ansible-jinja #}
|
||||
# THIS FILE IS MANAGED BY ANSIBLE
|
||||
|
||||
version: "3.8"
|
||||
|
||||
services:
|
||||
|
@ -22,6 +19,7 @@ services:
|
|||
labels:
|
||||
- com.github.jrcs.letsencrypt_nginx_proxy_companion.nginx_proxy
|
||||
|
||||
{% if letsencrypt_enabled %}
|
||||
acme:
|
||||
image: nginxproxy/acme-companion:{{ services.nginx_proxy.acme_companion_version }}
|
||||
restart: always
|
||||
|
@ -33,6 +31,7 @@ services:
|
|||
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||
depends_on:
|
||||
- proxy
|
||||
{% endif %}
|
||||
|
||||
networks:
|
||||
external_services:
|
|
@ -1,6 +1,4 @@
|
|||
{# code: language=ansible-jinja #}
|
||||
# THIS FILE IS MANAGED BY ANSIBLE
|
||||
|
||||
# vim: ft=yaml.docker-compose
|
||||
version: "3.8"
|
||||
|
||||
services:
|
|
@ -1,6 +1,4 @@
|
|||
{# code: language=ansible-jinja #}
|
||||
# THIS FILE IS MANAGED BY ANSIBLE
|
||||
|
||||
# vim: ft=yaml.docker-compose
|
||||
version: "3.8"
|
||||
|
||||
services:
|
|
@ -1,6 +1,4 @@
|
|||
{# code: language=ansible-jinja #}
|
||||
# THIS FILE IS MANAGED BY ANSIBLE
|
||||
|
||||
# vim: ft=yaml.docker-compose
|
||||
version: "3.8"
|
||||
|
||||
services:
|
|
@ -1,6 +1,4 @@
|
|||
{# code: language=ansible-jinja #}
|
||||
# THIS FILE IS MANAGED BY ANSIBLE
|
||||
|
||||
# vim: ft=yaml.docker-compose
|
||||
version: "3.8"
|
||||
|
||||
services:
|
|
@ -1,6 +1,4 @@
|
|||
{# code: language=ansible-jinja #}
|
||||
# THIS FILE IS MANAGED BY ANSIBLE
|
||||
|
||||
# vim: ft=yaml.docker-compose
|
||||
version: "3.8"
|
||||
|
||||
services:
|
|
@ -1,6 +1,4 @@
|
|||
{# code: language=ansible-jinja #}
|
||||
# THIS FILE IS MANAGED BY ANSIBLE
|
||||
|
||||
# vim: ft=yaml.docker-compose
|
||||
version: "3.8"
|
||||
|
||||
services:
|
|
@ -1,14 +1,12 @@
|
|||
{# code: language=ansible-jinja #}
|
||||
# THIS FILE IS MANAGED BY ANSIBLE
|
||||
|
||||
# vim: ft=yaml.docker-compose
|
||||
version: "3.8"
|
||||
|
||||
services:
|
||||
backup:
|
||||
image: mazzolino/restic:{{ services.restic.version }}
|
||||
restart: always
|
||||
hostname: {{ hostname }}
|
||||
domainname: {{ fqdn }}
|
||||
hostname: {{ inventory_hostname_short }}
|
||||
domainname: {{ inventory_hostname }}
|
||||
environment:
|
||||
RUN_ON_STARTUP: false
|
||||
BACKUP_CRON: "0 30 3 * * *"
|
|
@ -1,6 +1,4 @@
|
|||
{# code: language=ansible-jinja #}
|
||||
# THIS FILE IS MANAGED BY ANSIBLE
|
||||
|
||||
# vim: ft=yaml.docker-compose
|
||||
version: "3.8"
|
||||
|
||||
services:
|
|
@ -1,6 +1,4 @@
|
|||
{# code: language=ansible-jinja #}
|
||||
# THIS FILE IS MANAGED BY ANSIBLE
|
||||
|
||||
# vim: ft=yaml.docker-compose
|
||||
version: "3.8"
|
||||
|
||||
services:
|
|
@ -1,6 +1,4 @@
|
|||
{# code: language=ansible-jinja #}
|
||||
# THIS FILE IS MANAGED BY ANSIBLE
|
||||
|
||||
# vim: ft=yaml.docker-compose
|
||||
version: '3.3'
|
||||
|
||||
services:
|
|
@ -1,6 +1,4 @@
|
|||
{# code: language=ansible-jinja #}
|
||||
# THIS FILE IS MANAGED BY ANSIBLE
|
||||
|
||||
# vim: ft=yaml.docker-compose
|
||||
version: "3.8"
|
||||
|
||||
services:
|
|
@ -1,6 +1,4 @@
|
|||
{# code: language=ansible-jinja #}
|
||||
# THIS FILE IS MANAGED BY ANSIBLE
|
||||
|
||||
# vim: ft=yaml.docker-compose
|
||||
version: "3.8"
|
||||
|
||||
services:
|
|
@ -1,6 +1,4 @@
|
|||
{# code: language=ansible-jinja #}
|
||||
# THIS FILE IS MANAGED BY ANSIBLE
|
||||
|
||||
# vim: ft=yaml.docker-compose
|
||||
version: "3.8"
|
||||
|
||||
services:
|
|
@ -1,226 +0,0 @@
|
|||
# vim: ft=yaml.ansible
|
||||
# code: language=ansible
|
||||
---
|
||||
volume_root_folder: "/docker-volumes"
|
||||
volume_website_folder: "{{ volume_root_folder }}/websites"
|
||||
|
||||
services:
|
||||
### Internal services ###
|
||||
postfix:
|
||||
domain: "smtp.{{ base_domain }}"
|
||||
volume_folder: "{{ volume_root_folder }}/postfix"
|
||||
pre_deploy_tasks: true
|
||||
version: "v3.6.1-alpine"
|
||||
|
||||
nginx_proxy:
|
||||
volume_folder: "{{ volume_root_folder }}/nginx"
|
||||
pre_deploy_tasks: true
|
||||
version: "1.3-alpine"
|
||||
acme_companion_version: "2.2"
|
||||
|
||||
openldap:
|
||||
domain: "ldap.{{ base_domain }}"
|
||||
volume_folder: "{{ volume_root_folder }}/openldap"
|
||||
pre_deploy_tasks: true
|
||||
version: "1.5.0"
|
||||
phpldapadmin_version: "0.9.0"
|
||||
|
||||
netdata:
|
||||
domain: "netdata.{{ base_domain }}"
|
||||
volume_folder: "{{ volume_root_folder }}/netdata"
|
||||
version: "v1"
|
||||
|
||||
portainer:
|
||||
domain: "portainer.{{ base_domain }}"
|
||||
volume_folder: "{{ volume_root_folder }}/portainer"
|
||||
version: "2.19.0"
|
||||
|
||||
keycloak:
|
||||
domain: sso.{{ base_domain }}
|
||||
volume_folder: "{{ volume_root_folder }}/keycloak"
|
||||
version: "22.0"
|
||||
postgres_version: "10"
|
||||
allowed_sender_domain: true
|
||||
|
||||
restic:
|
||||
volume_folder: "{{ volume_root_folder }}/restic"
|
||||
pre_deploy_tasks: true
|
||||
remote_user: dc-user
|
||||
remote_domain: rynkeby.skovgaard.tel
|
||||
host_key: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBLGol2G+a87ssy0nu/STKBZSiGyhZhZKx/ujfe9IeFo
|
||||
repository: restic
|
||||
version: "1.7.0"
|
||||
# mail dance
|
||||
domain: "noreply.{{ base_domain }}"
|
||||
allowed_sender_domain: true
|
||||
mail_from: "backup@noreply.{{ base_domain }}"
|
||||
|
||||
docker_registry:
|
||||
domain: "docker.{{ base_domain }}"
|
||||
volume_folder: "{{ volume_root_folder }}/docker-registry"
|
||||
pre_deploy_tasks: true
|
||||
post_deploy_tasks: true
|
||||
username: "docker"
|
||||
password: "{{ docker_password }}"
|
||||
version: "2"
|
||||
|
||||
### External services ###
|
||||
nextcloud:
|
||||
domain: "cloud.{{ base_domain }}"
|
||||
volume_folder: "{{ volume_root_folder }}/nextcloud"
|
||||
pre_deploy_tasks: true
|
||||
version: 28-apache
|
||||
postgres_version: "10"
|
||||
redis_version: 7-alpine
|
||||
allowed_sender_domain: true
|
||||
|
||||
forgejo:
|
||||
domain: "git.{{ base_domain }}"
|
||||
volume_folder: "{{ volume_root_folder }}/forgejo"
|
||||
version: "1.21.8-0"
|
||||
allowed_sender_domain: true
|
||||
|
||||
passit:
|
||||
domain: "passit.{{ base_domain }}"
|
||||
volume_folder: "{{ volume_root_folder }}/passit"
|
||||
version: stable
|
||||
postgres_version: 15-alpine
|
||||
allowed_sender_domain: true
|
||||
|
||||
matrix:
|
||||
domain: "matrix.{{ base_domain }}"
|
||||
volume_folder: "{{ volume_root_folder }}/matrix"
|
||||
pre_deploy_tasks: true
|
||||
version: v1.98.0
|
||||
postgres_version: 15-alpine
|
||||
allowed_sender_domain: true
|
||||
|
||||
element:
|
||||
domain: "element.{{ base_domain }}"
|
||||
volume_folder: "{{ volume_root_folder }}/element"
|
||||
pre_deploy_tasks: true
|
||||
version: v1.11.51
|
||||
|
||||
privatebin:
|
||||
domain: "paste.{{ base_domain }}"
|
||||
volume_folder: "{{ volume_root_folder }}/privatebin"
|
||||
pre_deploy_tasks: true
|
||||
version: "20221009"
|
||||
|
||||
hedgedoc:
|
||||
domain: "pad.{{ base_domain }}"
|
||||
volume_folder: "{{ volume_root_folder }}/hedgedoc"
|
||||
pre_deploy_tasks: true
|
||||
version: 1.9.9-alpine
|
||||
postgres_version: 10-alpine
|
||||
|
||||
data_coop_website:
|
||||
domain: "{{ base_domain }}"
|
||||
www_domain: "www.{{ base_domain }}"
|
||||
volume_folder: "{{ volume_website_folder }}/datacoop"
|
||||
pre_deploy_tasks: true
|
||||
version: stable
|
||||
staging_domain: "staging.{{ base_domain }}"
|
||||
staging_version: staging
|
||||
|
||||
slides_2022_website:
|
||||
domain: "2022.slides.{{ base_domain }}"
|
||||
volume_folder: "{{ volume_website_folder }}/slides-2022"
|
||||
version: latest
|
||||
|
||||
fedi_dk_website:
|
||||
domain: fedi.dk
|
||||
volume_folder: "{{ volume_website_folder }}/fedidk"
|
||||
version: latest
|
||||
|
||||
vhs_website:
|
||||
domain: vhs.data.coop
|
||||
volume_folder: "{{ volume_website_folder }}/vhs"
|
||||
version: latest
|
||||
|
||||
cryptohagen_website:
|
||||
domains:
|
||||
- "cryptohagen.dk"
|
||||
- "www.cryptohagen.dk"
|
||||
volume_folder: "{{ volume_website_folder }}/cryptohagen"
|
||||
|
||||
ulovliglogning_website:
|
||||
domains:
|
||||
- "ulovliglogning.dk"
|
||||
- "www.ulovliglogning.dk"
|
||||
- "ulovlig-logning.dk"
|
||||
- "www.ulovlig-logning.dk"
|
||||
volume_folder: "{{ volume_website_folder }}/ulovliglogning"
|
||||
|
||||
cryptoaarhus_website:
|
||||
domains:
|
||||
- "cryptoaarhus.dk"
|
||||
- "www.cryptoaarhus.dk"
|
||||
volume_folder: "{{ volume_website_folder }}/cryptoaarhus"
|
||||
|
||||
drone:
|
||||
domain: "drone.{{ base_domain }}"
|
||||
volume_folder: "{{ volume_root_folder }}/drone"
|
||||
version: "1"
|
||||
|
||||
mailu:
|
||||
domain: "mail.{{ base_domain }}"
|
||||
volume_folder: "{{ volume_root_folder }}/mailu"
|
||||
pre_deploy_tasks: true
|
||||
dns: 192.168.203.254
|
||||
subnet: 192.168.203.0/24
|
||||
version: "2.0"
|
||||
postgres_version: 14-alpine
|
||||
redis_version: alpine
|
||||
|
||||
mastodon:
|
||||
domain: "social.{{ base_domain }}"
|
||||
volume_folder: "{{ volume_root_folder }}/mastodon"
|
||||
pre_deploy_tasks: true
|
||||
version: v4.2.8
|
||||
postgres_version: 14-alpine
|
||||
redis_version: 6-alpine
|
||||
allowed_sender_domain: true
|
||||
|
||||
rallly:
|
||||
domain: "when.{{ base_domain }}"
|
||||
volume_folder: "{{ volume_root_folder }}/rallly"
|
||||
pre_deploy_tasks: true
|
||||
version: "2"
|
||||
postgres_version: 14-alpine
|
||||
allowed_sender_domain: true
|
||||
|
||||
membersystem:
|
||||
domain: "member.{{ base_domain }}"
|
||||
django_admins: "Vidir:valberg@orn.li"
|
||||
volume_folder: "{{ volume_root_folder }}/membersystem"
|
||||
version: latest
|
||||
postgres_version: 13-alpine
|
||||
allowed_sender_domain: true
|
||||
|
||||
writefreely:
|
||||
domain: "write.{{ base_domain }}"
|
||||
volume_folder: "{{ volume_root_folder }}/writefreely"
|
||||
pre_deploy_tasks: true
|
||||
version: v0.15.0
|
||||
mariadb_version: "11.2"
|
||||
allowed_sender_domain: true
|
||||
|
||||
watchtower:
|
||||
volume_folder: "{{ volume_root_folder }}/watchtower"
|
||||
version: "1.5.3"
|
||||
|
||||
diun:
|
||||
version: "4.27"
|
||||
volume_folder: "{{ volume_root_folder }}/diun"
|
||||
|
||||
### Uptime monitoring ###
|
||||
uptime_kuma:
|
||||
domain: "uptime.{{ base_domain }}"
|
||||
status_domain: "status.{{ base_domain }}"
|
||||
volume_folder: "{{ volume_root_folder }}/uptime_kuma"
|
||||
pre_deploy_tasks: true
|
||||
version: "latest"
|
||||
|
||||
services_exclude: []
|
||||
services_include: "{{ services | dict2items | map(attribute='key') | list | difference(services_exclude) }}"
|
|
@ -1,30 +0,0 @@
|
|||
# vim: ft=yaml.ansible
|
||||
# code: language=ansible
|
||||
---
|
||||
- name: Create volume folder for service '{{ service.name }}'
|
||||
file:
|
||||
name: "{{ service.vars.volume_folder }}"
|
||||
state: directory
|
||||
|
||||
- name: Upload Compose file for service '{{ service.name }}'
|
||||
template:
|
||||
src: compose-files/{{ service.name }}.yml.j2
|
||||
dest: "{{ service.vars.volume_folder }}/docker-compose.yml"
|
||||
owner: root
|
||||
mode: u=rw,go=
|
||||
|
||||
- name: Run pre-deployment tasks for service '{{ service.name }}'
|
||||
ansible.builtin.include_tasks: pre_deploy/{{ service.name }}.yml
|
||||
when: service.vars.pre_deploy_tasks is defined and service.vars.pre_deploy_tasks
|
||||
|
||||
- name: Deploy service '{{ service.name }}'
|
||||
when: deploy_services is defined and deploy_services
|
||||
block:
|
||||
- name: Deploy Compose stack for service '{{ service.name }}'
|
||||
ansible.builtin.command:
|
||||
cmd: docker compose up -d --remove-orphans
|
||||
chdir: "{{ service.vars.volume_folder }}"
|
||||
|
||||
- name: Run post-deployment tasks for service '{{ service.name }}'
|
||||
ansible.builtin.include_tasks: post_deploy/{{ service.name }}.yml
|
||||
when: service.vars.post_deploy_tasks is defined and service.vars.post_deploy_tasks
|
|
@ -1,15 +0,0 @@
|
|||
# vim: ft=yaml.ansible
|
||||
# code: language=ansible
|
||||
---
|
||||
- name: Create folder structure for bind mounts
|
||||
file:
|
||||
name: "{{ item }}"
|
||||
state: directory
|
||||
loop:
|
||||
- "{{ volume_root_folder }}"
|
||||
- "{{ volume_website_folder }}"
|
||||
|
||||
- name: Set up services
|
||||
import_tasks: services.yml
|
||||
tags:
|
||||
- setup_services
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue