Commit graph

64 commits

Author SHA1 Message Date
8aaefd3f60
Fix gitea admin deployment to be less brittle
Admin deployment was very timing-dependent: If the server took a while
to set it up, it would always error out while deploying. This commit
adds sufficient grace-time into the admin request call before the error
occurs which should avoid it in most deployments (unless the server is
severely underpowered or over-taxed).

Also fixes admin creation to avoid root usage in the container when it
is not called for.
2022-12-18 12:00:33 +01:00
32b1b13ef4
Add ntfy role
Installs and configures the ntfysh server to enable notifications.
2022-01-23 20:00:47 +01:00
1e0643352d
Fix gitea admin setup, Add healthcheck
Added healthcheck to gitea database contaier.

Fixed initial admin setup checks - uses correct in-container user and
fixed fail checks.
2022-01-22 10:48:31 +01:00
06bb34891e
Add simple ci deployment 2021-12-22 18:02:18 +01:00
3ee003f94c
Fix blog upstream setting
Removed setting the landingpage upstream accidentally, switched its
alias to blog instead.
2021-12-19 10:09:25 +01:00
3a5b5680cf
Add gitea role
Added base gitea docker setup role.

Adds automatic unattended setup with default admin account and optional
email notification setup.
2021-12-13 15:27:30 +01:00
12a3fa1e6f
Fix wallabag root url setting for aliases 2021-12-10 16:32:20 +01:00
86346c04dd
Add strict security headers to nextcloud 2021-12-09 23:47:28 +01:00
b058cd1ace
Fix site.yml tagging
Now correctly tags each individual task instead of just the
empty role itself.
2021-12-09 16:01:49 +01:00
b393c0b946
Switch local testing to subdomain model
Requires manual setup through hosts file or dns server for now.
2021-12-09 16:00:39 +01:00
c5eac2a846
Replace dev playbook with tagged site playbook
Removed the `site-dev.yml` playbook in favor of tagging all included
roles in the main playbook. This way there are no 2 playbooks to keep
manually in sync and the specific roles can still be run just like from
the dev playbook by invoking the intended roles through `--tag myrole`
or `--skip-tags myskippedrole`.
2021-12-09 11:42:54 +01:00
acc9638cfd
Switch searx to searxng by default 2021-12-09 11:12:45 +01:00
02a16ae5bc
Switch deployment server from stable to prod group 2021-12-09 08:48:52 +01:00
ee44506186
Add blog deployment 2021-11-22 13:36:29 +01:00
ab67fa16c8
Add landingpage deployment 2021-11-21 23:20:05 +01:00
b75e5e58c6
Add basic shaarli deployment 2021-11-21 21:20:26 +01:00
f2e709590b
Add basic nextcloud deployment
Uses php-fpm image and is served through a simple caddy server.
Automatically deploys by default and can be automatically deployed with
smtp e-mail sending and s3 primary object storage optionally if desired.

Utilizes some necessary hackery for container ordering and startup so
startup is relatively slow (takes around 2-5 minutes at least) but once
running should be stable and uninterrupted.

Implements health-checks for all involved containers.

Switch apache for php-fpm image
2021-11-20 14:23:57 +01:00
f2d85471b2
Merge branch 'feat/add-monica' 2021-10-26 18:12:52 +02:00
6c2fc110b7
Update README
Added simple deployment information.
2021-10-26 18:12:33 +02:00
010d8f93c4
Add monica deployment
Added basic monica docker deployment.

A key which is required for monica is automatically generated on
deployment.
Optionally, geolocation and weather api can be enabled.
Mail-sending functionality is disabled by default but can be enabled
with any compatible smtp server set up.
2021-10-26 18:11:48 +02:00
3f944df048
Add traggo deployment 2021-10-24 10:55:46 +02:00
d41763f0dc
Fix default searx authentication setup 2021-10-23 22:15:06 +02:00
8e4c842ea9
Merge branch 'feat/add-searx' 2021-10-23 22:06:13 +02:00
3b27a5222a
Allow multiple basic auth accounts to be configured 2021-10-23 22:02:48 +02:00
4b440ec9b5
Add basic auth to searx 2021-10-23 20:35:56 +02:00
849848faad
Merge branch 'feat/add-searx' 2021-10-23 16:44:13 +02:00
496a510ccc
Fix miniflux databse population
Fixed access to postgres database not working for non-'miniflux'
usernames.
The database created is the same name as the username while the miniflux
container would still look for the standard database. This fixes it to
be able to take any username and corresponding database.
2021-10-23 16:42:30 +02:00
1fae9f9a19
Add searx deployment 2021-10-23 16:42:03 +02:00
27daf9031b
Add miniflux deployment
Contains default credentials but these should be overwritten with
group or host -destined variables.

Add default credentials

Hide real credential files from git
2021-10-22 13:17:50 +02:00
ebd995b8c4
Add wallabag docker deployment role
Added role of wallabag. Can take a subdomain alias to be presented on a
different uri than its stack name.

All services contain a healthcheck for docker swarm to be informed of
their status.

Copy whoami template to wallabag role

Change non-domain domain name to localhost

Fix correct handler notify naming

Allow setting different subdomain alias than name

Add meta information
2021-10-22 08:47:20 +02:00
80185e39dd
Simplify caddy config
Move double conditional checking of email provision and staging
environment into single check.
2021-10-21 14:27:34 +02:00
7eeeec0489
Move caddy API access to internal variables
Moved the ability to switch off caddy's api access to variables not
intended to be overwritten. It still can, but it is much more difficult.
Since every docker deployment relies on caddy's api to be accessible it
seems weird to present an easily reachable option to turn it off
globally.
2021-10-21 14:25:54 +02:00
30089b434e
Add staging and development environments
Differentiated between both.

Development environment takes place locally, most directly through the
use of a vagrant machine on the development machine.

Staging environment mimics the final production environment, but is
situated on another server and, most probably, points to a different
address. Otherwise, however, it translates much more closely (dns
entries etc) to the production setup.

Production is just that, the final deployment.
2021-10-21 14:23:26 +02:00
da1e696292
Fix https redirect setting
Fixed the reverse setting for https redirection. It would redirect when
the option was toggled off and vice versa.
2021-10-20 17:39:24 +02:00
f4864c5da3
Fix caddy container info delay
Give more time to docker to correctly bring up caddy in the swarm.
Extended delay to retry to 10 seconds and gave it more retries as well,
so that roughly a minute will be gone before the play gives up.
2021-10-20 17:33:35 +02:00
16767a2f44
Fix upstream handler name 2021-10-08 10:21:27 +02:00
ee8a6f0598
Rename domain group variable to server_domain 2021-10-08 10:03:27 +02:00
6036a91902
Move upstream logic to handler function 2021-08-18 09:43:43 +02:00
09f15d5b8e
Add example app ReadMe 2021-08-01 10:15:18 +02:00
774f3f7c2e
Streamline example app variable use 2021-08-01 09:52:07 +02:00
f7389dc8c3
Add caddy README 2021-08-01 09:38:41 +02:00
21fdac4f5d
Example application, improve upstream handling 2021-07-31 21:16:42 +02:00
37bd1ed2cd
Fix caddy role tasks changed recognition 2021-07-31 17:56:54 +02:00
79c704c1f9
Switch caddy to use json configuration 2021-07-31 17:26:06 +02:00
bebdf72b19
Ease caddy stack variable setup 2021-07-30 23:25:47 +02:00
241ce71f46
Make upstream naming more general 2021-07-30 13:32:07 +02:00
daef2b7f13
Add conditional default subdomain setting to proxy
If a domain has been declared for the host, the upstream file will proxy
at a subdomain named for the stack it proxies to,
otherwise it will do the same for the path.
2021-07-30 11:50:10 +02:00
03a0b0ce00
Add more stable reverse proxy updating 2021-07-30 11:39:14 +02:00
95832941c0
Ensure stacks can inject their upstream to caddy
Created bind volume for caddy which takes the json fragments which will
later be injected through the caddy api to dynamically set their
individual reverse proxy addresses.

This is not entirely necessary if the injection should be done as a
variable instead, but makes it easier to change routes and especially
more complicated ones (I'm thinking of gitea with ssh access e.g.).
2021-07-30 11:10:05 +02:00
fbf930054f
Make sure curl is installed for the hacky reverse proxy 2021-07-30 00:46:06 +02:00