Compare commits

..

1 Commits

Author SHA1 Message Date
Víðir Valberg Guðmundsson 824bc583a1 Some mailman stuff. 2019-03-21 09:41:45 +01:00
20 changed files with 164 additions and 269 deletions

View File

@ -1,67 +1,54 @@
$ANSIBLE_VAULT;1.1;AES256
36303830393964636165353932336334643761653732643036303563313439623836626231313739
6239326131333263383438613161353435393036663162310a646237306461633337383838306139
37303434653266303866643162306433636532333131366132366431303766306232653837653463
6139336230306131660a636165373732313930396632336532366239303766393937386135306235
62633837363138323365646235333137646363626430633339376636333838663738316535396161
66653931666565353337623336636338383035333133643639323739393565396434373734323235
34306132666430376537643431343362383734343861633332373838383837316266336131353231
31356665313333343139303337633530643534376338343631396431663937616535306136343266
36323761653933386231386339666333306331326161306536616238623836306335373930386539
32326331366435386132393731633664333862656130636632656335353939656638613863633637
64366662623531333933613566356632383061656165323839623732306331653133393463373465
61363036613234353962353135366361363537313138626337376138383335633865663237303464
37373032353066323532313364333863663739613631633230323339346634663733326430343263
64636331616434343331333065633936313265393739353937396165363337366263393131316661
34643263343263306235326562663065343438363338326138653066326432646531643764396161
34343834643134363662373934346463383263636436346433303231656535626664626530326131
39303231646537316136653932306135303931333762343434623636623436383561353131303163
63373833656430336365316433663538643634303962623538663362383536613136366230396533
37363963613532666434653863623030653434303463616638653135666433613030656335396238
37356632376366383463343736303265326436383435363335333838313264333134653932616465
31363832656563383035306537376532343934373933306232333631363132616665663433666133
36643131386134303362373264356437333236663232373035363765303936313162353930353033
38303864643237323437653463313238613036386461303066353465336230303632613432353661
36313761303234303363346432666638323865663764623862623165633234363437653964343830
62656365363538303035326239663264646163366332306332383262356130356436366661383234
66643832656661623132303562333432656365323836363133373932333732323133383832623939
37333632623933656336316161376565653363633330646239666266313336306563366462376531
34623636646439366438316530386334313233613963643634366135373661373138316466313739
64623835613166616165383463323137303431303035363733366563623934366439323666653633
65663532343939343334616662366633353231636135346564643034666331616666316561386664
30636535633432336438663462356232383737393031383431666664303563623932666630653233
65323932303638653562663734386637323964333331356262346463333065633565386363393064
37646563366437646330353765623236306561646433636534666438323036373132363036626438
61393866626236316238326236656164643864343734353438313466633136343931376634366261
64353631363665366237356566323532306563333937343665393166336535383636303930346362
38333733306430636436623661653066313936626362373464396138343439376430626162316466
66623837353763333864663562653166316665363537636537626234666230636665396438313832
61613330396134666437306162386335613466383231633034393639366533363137613964383135
35356136393962353262313635343031323638326163336433303066393939646536653033343530
38303935663038303639616661346664666435393266653663373435363433386461633133343964
65633532656566613638333266393131653863336563386262643630633164346139383436326463
62316131363335376336366332323564383036333139386462353933316461346363626465396631
39616164316463323162616235653365363737373736646331303436303037333536633466303533
32663335386332663334653734303136333066636234643537393931626333303735386238373763
33323333646531633964613633356539636538306163303938373638623230396661663538653463
35396434303634316631376138336530393134353235383637326466306363313462323330623535
33353335306364323335316336643233386561306134636461336537353838373830373031616636
62333335616639353436303336653965303132316439316362303931373465376264396139346631
61393064326433366337613266306263336163393731633165303536636132636638656339373634
32313637666334313935613564316331396437343335313336666137366133376666306138383163
62383131616339393534613231616134383562346163343430323261336531306332363736396663
39643134633838393566643237656663313161326631316437663463653566343238343736656566
35663231623533323261326162356137646436643766646439663538306661643861356565666434
38353131363863666439316666353965663531323662376235636533363262353131323166326335
61656432666130313762376334656434333532636165313834333634646465346234653662393735
35643138623832646633666366616436323730383066323637316635336134356461353666636164
30633833313863656237653762373965376638393232376532666361396363303030383138616631
32633739626565383161343065646232636464373538626330636466316337663739376638386337
32383763313064666464623137373036336562633734313663313463386430313838636165313962
31383466363466396337333837626462303434353739343338313137633736313664346239666237
62313462366136313037646264663533323738656138353235646136383334613035383236383865
38666432313761653234636363396361643139353730323237616663323433363463373666613765
31656430326138373434356130626465643733313065366562313566326633653832316265636538
35396164313932356432306639653461343063643666656265333033643863303637313031653134
39636436636333343030333762376463303538626665343434633236353236373765643231383933
3130336364366434306366623062613130616230366633333536
62313439613039363637356330653731356138373839373435306535656137646266633764393537
3737663637343865303232643632613934313137613536640a633634356338353764366365626266
66323064346539663435646265346665616465353363623732303563303838356364643734393231
3161633362383363390a376530393463643838303238386139313661366335386439373734333835
63323034303732386430313265306465636630356330303431663761363461623530643933393831
62666438316266396432353663633331343137643265333966636436373730343938623732653030
62383536373139366239363535353463643961313839376436663830613738303262646639396131
66656532616231636537623162373965356537336436613130366464393461343730646664356466
38313439373332306265643039666532363863333364666233333861363832316637383432343464
64366536613364363265333938643438313837643936323536636335613064623639393437303466
31333539373130376230323964636335393166306662626131636462656632623635393036663437
37333735616665383431623266393365613433323335313161316161373637616563626637333861
37326532303638653139383639383166323361363334306361663261366661613038633464323337
31393538653830333865373064383837626261663163623664653938303230616334363861346132
63353036313164313265313134633861633937323335303830336232363939613635303764313063
33666161356366636139633138653736333662303364333838663033633163613136616639376532
31373131326264383666326566303930636166653463313630376235663638663937663765306439
31663039323663633735326266393263633937373339383537623835306431333636316664303864
63653564313339376135303237626366666164623738626439613562616338663539393635396437
30333036353035613131613034666262346233336563343531633033343163326264326563643235
62663538623532333432656435306462663362353630346133373262633630306262626362653733
65363031346339393632396664363362346236373035376632663466343034376566666563353231
36623538303262323265616237326630666662646634383962656533636165326665316366643231
39303465313135616238653664366637356361393165356430636137366236643938316430613838
65353331636564373136393930303537386335653766363632646433353962613033656434313063
35653365366332316434373665316230646665613166656230313832356136346439326232343166
38323934396561386138323739396166303132396234386435633965663139643234396434333163
66346634393330306638383430616433333361623861623864356563366162313830393334616138
32346633396662636633373637363262656165316434333139346530303562356236306637643365
65613361373637383936633431396636356634656333343537353762383537353035616131633732
38303736636136393039613537613831633139363338656239613261383637653332333737323034
61303839636330396139346436336663643531613364383134613061646136646236636364636662
33666564623731343264306638303333326463323363306439333762306434306235643530663931
63623932373737373539393230326538643739653734306131366365303638313263316635633439
34343231663761393266636537353330643361306139653734383466666662623931616665663239
65633136636333316266616433396166326333303033646162656466363931313539343035623666
63346162386533373334633261383237376330643738663761636166653033303933613630653835
66313439663732356539363833616338356337666335316136623231383161656362653561653565
33616437643533386263393733636666373237663132343432636664633535653535316134313266
66363362383662313632633535613635656364323939313466303634646237653061353766373831
62303366366564653231613863633564303637346262336535386366663034663832663762666132
64333630666463653266333430386135386436643939393964303230366538336562333737616639
65646566663363313430396132653832646263393739656564653138353637373362613261366230
62616561303735316230626134353266613938326563326232623361656364623062326365343534
62346433373965336430326632333634306463343934393830393165393933323439393534386665
32373235353037626638343066386563663431356465353039353338643835653166333761386433
64333338306661346436373238646134653233666565653834303935303235653661343366653563
63356566633730303033376230356363326561663232386161333566616334623236663562613234
63646561623565366332313837353461313566653531356662613663323065613035323731323832
31386166623935373139356239353037633363313531396466363735613332653430396161303366
37376238333831306231393433313734303839376132656532616461356662383430303532373937
39303634303762373736626439323830353665343162363531376134616466303762633535343866
3162

View File

@ -1,27 +0,0 @@
# These are the variables contained in secrets.yml
postgres_passwords:
fider: xxx
nextcloud: xxx
passit: xxx
gitea: xxx
matrix: xxx
codimd: xxx
mailu: xxx
ttrss: xxx
fider_jwt_secret: xxx
ldap_admin_password: xxx
ldap_config_password: xxx
passit_secret_key: xxx
docker_password: xxx
mailu_secret_key: xxx
drone_secrets:
oauth_client_id: xxx
oauth_client_secret: xxx
rpc_shared_secret: xxx

View File

@ -21,11 +21,4 @@ users:
groups:
- sudo
deni:
comment: Denis Smajlović
key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC0pB42dtqruXr2Ha8Rdp3QoSrMOLU5cbLMfuNTNmgwPZmprhGGRTAsz8E0aG+5HCFBmW6JxiTGyHGdIZrhYWpKYshxxn4zODfitP7IzDgvg9Pz0Ugw/c5i5eKjkVfw9xLZKjO/H3Ql8R+wFMawpdw7j+Q9G+J3eIidEI6TmSvJVWijBxpLI4qrLceL084qg93XpJENYBOcvx9fYQQ+Es0jo4hmPuHWq5VIkIoIfvVvdhwjlaBsqv2je5BNx8uTMVIyV34ZHpJc95wJ6MOcqpQunW2bR4mGc9FLh67eP2ba9nDoQ0pnnlWGqAIKx5P1ELIg7RM3HhuwfRVh4DxCfjXpMz3l1gr1dA1wVD9bOtzbPWLjo7LNkRcT/loba/jpznTNIEv+kawmm/H0aTZZdlofkGHuX0iOpLV1c1tCDMH1s/MCqwosSRihrXhSOozsABvaaZpJiHcpE4DcNr+xJhe1XrHMqR30KU0r7ulIP8JdhzMNEsq3HxZQh9s8XLIUukrpcpOgJYyGuQK3kG6li5kYbmVqjLDQ1xHi/4r/4TXjJYpsFCZ71SURLzxoF1nauHpBLKcHI3MPFvqr27SQcM92fO14wKDAmAtHINwzMQjlda6B0jFNC+2xUfHrH7yIhwSktytq5qbhiFKK71DSLiMKFvOqoTVWRckO2+Zw1HZB+Q== deni@deni.dk
password: $6$ooKtdqASOxYJN2CJ$ziMrGG/qIOeyiTGjx.hPYjVBlHpzM9YY6qCJB9/L8aR33feUvXxZNBCgME93ZhbwDBjblS/tP796LsCF4i17D.
groups:
- sudo
volume_root_folder: "/docker-volumes"

View File

@ -23,11 +23,9 @@
- docker_registry
- drone
- websites
- ulovliglogning-dk
- ouroboros
- mailu
- portainer
# - tt-rss
smtp_host: "postfix"
smtp_port: "587"

View File

@ -28,7 +28,7 @@ matrix:
volume_folder: "{{ volume_root_folder }}/matrix"
riot:
domain: "riot.{{ base_domain }},element.{{ base_domain }}"
domain: "riot.{{ base_domain }}"
volume_folder: "{{ volume_root_folder }}/riot"
privatebin:
@ -49,13 +49,10 @@ docker_registry:
password: "{{ docker_password }}"
data_coop_website:
domain: "{{ base_domain }},www.{{ base_domain }}"
domain: "{{ base_domain }}"
cryptohagen_website:
domain: "cryptohagen.dk,www.cryptohagen.dk"
ulovliglogning_website:
domain: "ulovliglogning.dk,www.ulovliglogning.dk,ulovlig-logning.dk"
domain: "cryptohagen.dk"
drone:
domain: "drone.{{ base_domain }}"
@ -72,7 +69,3 @@ portainer:
domain: "portainer.{{ base_domain }}"
volume_folder: "{{ volume_root_folder }}/portainer"
ttrss:
domain: rss.{{ base_domain }}
volume_folder: "{{ volume_root_folder }}/tt-rss"

View File

@ -881,7 +881,7 @@ password_config:
# Whether to allow non server admins to create groups on this server
#
enable_group_creation: true
enable_group_creation: false
# If enabled, non server admins can only create groups with local parts
# starting with this prefix

View File

@ -1,7 +1,7 @@
{
"default_hs_url": "https://{{ matrix.domain }}",
"default_is_url": "https://vector.im",
"brand": "element.data.coop",
"brand": "riot.data.coop",
"integrations_ui_url": "https://scalar.vector.im/",
"integrations_rest_url": "https://scalar.vector.im/api",
"integrations_widgets_urls": [

View File

@ -3,6 +3,14 @@
docker_network:
name: external_services
- name: setup network for postfix
docker_network:
name: postfix
ipam_options:
subnet: '172.16.0.0/16'
gateway: 172.16.0.1
- name: setup services
include_tasks: "services/{{ item }}.yml"
with_items: "{{ services }}"

View File

@ -1,51 +1,21 @@
---
- name: set up drone with docker runner
docker_compose:
project_name: drone
pull: yes
definition:
version: "3.6"
services:
drone:
container_name: "drone"
image: drone/drone:1
restart: unless-stopped
networks:
- external_services
- drone
volumes:
- "{{ drone.volume_folder }}:/data"
- "/var/run/docker.sock:/var/run/docker.sock"
environment:
DRONE_GITEA_SERVER: "https://{{ gitea.domain }}"
DRONE_GITEA_CLIENT_ID: "{{ drone_secrets.oauth_client_id }}"
DRONE_GITEA_CLIENT_SECRET: "{{ drone_secrets.oauth_client_secret }}"
DRONE_GIT_ALWAYS_AUTH: "true"
DRONE_SERVER_HOST: "{{ drone.domain }}"
DRONE_SERVER_PROTO: "https"
DRONE_RPC_SECRET: "{{ drone_secrets.rpc_shared_secret }}"
PLUGIN_CUSTOM_DNS: "91.239.100.100"
VIRTUAL_HOST: "{{ drone.domain }}"
LETSENCRYPT_HOST: "{{ drone.domain }}"
LETSENCRYPT_EMAIL: "{{ letsencrypt_email }}"
drone-runner-docker:
container_name: "drone-runner-docker"
image: "drone/drone-runner-docker:1"
restart: unless-stopped
networks:
- drone
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"
environment:
DRONE_RPC_HOST: "{{ drone.domain }}"
DRONE_RPC_PROTO: "https"
DRONE_RPC_SECRET: "{{ drone_secrets.rpc_shared_secret }}"
DRONE_RUNNER_CAPACITY: 2
DRONE_RUNNER_NAME: "data.coop_drone_runner"
networks:
drone:
external_services:
external:
name: external_services
- name: Drone container
docker_container:
name: drone
image: drone/drone:latest
restart_policy: unless-stopped
networks:
- name: external_services
volumes:
- "{{ drone.volume_folder }}:/data"
- "/var/run/docker.sock:/var/run/docker.sock"
env:
DRONE_GITEA_SERVER: "https://{{ gitea.domain }}"
DRONE_GITEA_ALWAYS_AUTH: "False"
DRONE_RUNNER_CAPACITY: "2"
DRONE_SERVER_HOST: "{{ drone.domain }}"
DRONE_SERVER_PROTO: "https"
PLUGIN_CUSTOM_DNS: "91.239.100.100"
VIRTUAL_HOST: "{{ drone.domain }}"
LETSENCRYPT_HOST: "{{ drone.domain }}"
LETSENCRYPT_EMAIL: "{{ letsencrypt_email }}"

View File

@ -1,13 +1,9 @@
---
- name: gitea network
docker_network:
name: gitea
# old DNS: 138.68.71.153
- name: gitea container
docker_container:
name: gitea
image: gitea/gitea:1.12.3
image: gitea/gitea:latest
restart_policy: unless-stopped
networks:
- name: gitea

View File

@ -0,0 +1,68 @@
---
- name: run mailman server containers
docker_service:
definition:
version: '2'
services:
mailman-core:
image: maxking/mailman-core:0.2
container_name: mailman-core
hostname: mailman-core
volumes:
- /opt/mailman/core:/opt/mailman/
stop_grace_period: 30s
links:
- database:database
depends_on:
- database
environment:
- DATABASE_URL=postgres://mailman:mailmanpass@database/mailmandb
- DATABASE_TYPE=postgres
- DATABASE_CLASS=mailman.database.postgresql.PostgreSQLDatabase
- HYPERKITTY_API_KEY={{ hyperkitty_api_key }}
networks:
mailman:
ipv4_address: 172.19.199.2
mailman-web:
image: maxking/mailman-web:0.2
container_name: mailman-web
hostname: mailman-web
depends_on:
- database
links:
- mailman-core:mailman-core
- database:database
volumes:
- /opt/mailman/web:/opt/mailman-web-data
environment:
- DATABASE_TYPE=postgres
- DATABASE_URL=postgres://mailman:{{ postgresql}}@database/mailmandb
- HYPERKITTY_API_KEY={{ hyperkitty_api_key }}
networks:
mailman:
ipv4_address: 172.19.199.3
database:
environment:
POSTGRES_DB: mailmandb
POSTGRES_USER: mailman
POSTGRES_PASSWORD: mailmanpass
restart: always
image: postgres:9.6-alpine
volumes:
- /opt/mailman/database:/var/lib/postgresql/data
networks:
mailman:
ipv4_address: 172.19.199.4
networks:
mailman:
driver: bridge
ipam:
driver: default
config:
-
subnet: 172.19.199.0/24

View File

@ -78,7 +78,6 @@
- "993:993"
- "25:25"
- "587:587"
- "465:465"
networks:
- default
- external_services

View File

@ -77,18 +77,17 @@
matrix_app:
container_name: matrix
image: matrixdotorg/synapse:v1.18.0
image: matrixdotorg/synapse:v0.99.2
restart: unless-stopped
networks:
- matrix
- external_services
- external_services
ports:
- 8008
volumes:
volumes:
- "{{ matrix.volume_folder }}/data:/data"
environment:
SYNAPSE_CONFIG_PATH: "/data/homeserver.yaml"
SYNAPSE_CACHE_FACTOR: "2"
SYNAPSE_LOG_LEVEL: "INFO"
VIRTUAL_HOST: "{{ matrix.domain }}"
VIRTUAL_PORT: "8008"
@ -97,7 +96,7 @@
riot:
container_name: riot_app
image: avhost/docker-matrix-riot:v1.7.3
image: avhost/docker-matrix-riot:v1.0.3
restart: unless-stopped
networks:
- matrix
@ -105,14 +104,14 @@
ports:
- 8080
volumes:
- "{{ riot.volume_folder }}/data:/data"
- "{{ riot.volume_folder }}/data:/data"
environment:
VIRTUAL_HOST: "{{ riot.domain }}"
VIRTUAL_PORT: "8080"
LETSENCRYPT_HOST: "{{ riot.domain }}"
LETSENCRYPT_EMAIL: "{{ letsencrypt_email }}"
networks:
networks:
external_services:
external:
name: external_services

View File

@ -21,7 +21,5 @@
LETSENCRYPT_HOST: "{{ netdata.domain }}"
LETSENCRYPT_EMAIL: "{{ letsencrypt_email }}"
PGID: "999"
labels:
com.ouroboros.enable: "true"

View File

@ -8,7 +8,7 @@
- name: run portainer
docker_container:
name: portainer
image: portainer/portainer:1.23.1
image: portainer/portainer
restart_policy: always
networks:
- name: external_services

View File

@ -1,12 +1,5 @@
---
- name: setup network for postfix
docker_network:
name: postfix
ipam_config:
- subnet: '172.16.0.0/16'
gateway: 172.16.0.1
- name: setup postfix docker container for outgoing mail
docker_container:
name: postfix

View File

@ -1,53 +0,0 @@
---
- name: create tt-rss folders
file:
name: "{{ ttrss.volume_folder }}/{{ volume }}"
state: directory
loop:
- "config"
- "db"
loop_control:
loop_var: volume
- name: "set up tt-rss"
docker_service:
project_name: "tt-rss"
pull: yes
definition:
version: "3.6"
services:
ttrss_db:
container_name: "ttrss_db"
image: "postgres:11"
restart: "unless-stopped"
networks:
- "ttrss"
volumes:
- "{{ ttrss.volume_folder }}/db:/var/lib/postgresql/data"
environment:
POSTGRES_USER: "ttrss"
POSTGRES_PASSWORD: "{{ postgres_passwords.ttrss }}"
ttrss_app:
container_name: ttrss_app
image: "linuxserver/tt-rss"
restart: unless-stopped
networks:
- ttrss
- external_services
volumes:
- "{{ ttrss.volume_folder }}/config:/config"
environment:
VIRTUAL_HOST: "{{ ttrss.domain }}"
LETSENCRYPT_HOST: "{{ ttrss.domain }}"
LETSENCRYPT_EMAIL: "{{ letsencrypt_email }}"
TZ: "Europe/Copenhagen"
labels:
com.ouroboros.enable: "true"
networks:
external_services:
external:
name: external_services
ttrss:
name: "ttrss"

View File

@ -1,13 +0,0 @@
- name: setup ulovliglogning.dk website docker container
docker_container:
name: ulovliglogning_website
restart_policy: unless-stopped
image: ulovliglogning/ulovliglogning.dk:latest
networks:
- name: external_services
env:
VIRTUAL_HOST: "{{ ulovliglogning_website.domain }}"
LETSENCRYPT_HOST: "{{ ulovliglogning_website.domain }}"
LETSENCRYPT_EMAIL: "{{ letsencrypt_email }}"
labels:
com.ouroboros.enable: "true"

View File

@ -12,21 +12,7 @@
LETSENCRYPT_HOST: "{{ data_coop_website.domain }}"
LETSENCRYPT_EMAIL: "{{ letsencrypt_email }}"
labels:
com.ouroboros.enable: "true"
- name: setup new data.coop website using hugo
docker_container:
name: new.data.coop_website
image: docker.data.coop/data-coop-website:hugo
restart_policy: unless-stopped
networks:
- name: external_services
env:
VIRTUAL_HOST : "new.{{ data_coop_website.domain }}"
LETSENCRYPT_HOST: "new.{{ data_coop_website.domain }}"
LETSENCRYPT_EMAIL: "{{ letsencrypt_email }}"
labels:
com.ouroboros.enable: "true"
com.ouroboros.enable: "true"
- name: setup cryptohagen.dk website docker container
docker_container:

View File

@ -41,7 +41,7 @@ POSTMASTER=admin
TLS_FLAVOR=mail
# Authentication rate limit (per source IP address)
AUTH_RATELIMIT=120/minute;1200/hour
AUTH_RATELIMIT=10/minute;1000/hour
# Opt-out of statistics, replace with "True" to opt out
DISABLE_STATISTICS=False