Girish Ramakrishnan
d5e5b64df2
cloudron-setup/motd: show ipv4 or ipv6 setup link
2022-08-01 18:32:07 +02:00
Girish Ramakrishnan
4a18ecc0ef
unbound: enable ip6
2022-08-01 14:15:09 +02:00
Girish Ramakrishnan
7598cf2baf
consolidate storage validation logic
2022-06-06 12:50:21 -07:00
Girish Ramakrishnan
39c5c44ac3
cloudron-firewall: fix spurious line
2022-06-01 09:28:50 -07:00
Girish Ramakrishnan
534c8f9c3f
collectd: on one system, localhost was missing in /etc/hosts
2022-05-27 16:10:38 -07:00
Girish Ramakrishnan
5ee9feb0d2
If disk name has '.', replace with '_'
...
graphite uses . as the separator between different metric parts
see #348
2022-05-27 16:00:08 -07:00
Girish Ramakrishnan
3adf8b5176
collectd: FQDNLookup causes collectd install to fail
...
this is on ubuntu 20
https://forum.cloudron.io/topic/7091/aws-ubuntu-20-04-installation-issue
2022-05-25 15:10:55 -07:00
Girish Ramakrishnan
7ec1594428
create a separate support user
...
This creates a separate user named 'cloudron-support' using which we
can provide remote support. The hyphen username convention follows the
systemd sytem username convention.
With a separate user, we don't need to ask users to keep changing PermitRootLogin
(and remind them to change it back).
Using a sudo user has various advantages:
* https://askubuntu.com/questions/687249/why-does-ubuntu-have-a-disabled-root-account
* https://wiki.debian.org/sudo
* https://askubuntu.com/questions/16178/why-is-it-bad-to-log-in-as-root
The yellowtent user is also locked down further - no password and no shell login.
2022-03-30 15:08:20 -07:00
Girish Ramakrishnan
d13905377c
firewall: do not add duplicate ldap redirect rules
2022-03-21 12:25:30 -07:00
Girish Ramakrishnan
993ff50681
cloudron-firewall: fix crash when ports are whitelisted
...
it failed with:
Feb 22 08:52:30 strawberry cloudron-firewall.sh[14300]: /home/yellowtent/box/setup/start/cloudron-firewall.sh: line 14: iptables --wait 120 --wait-interval 1: command not found
the root cause was that IFS was getting set but not getting reset later.
the IFS=xx line is not line local as it seems to appear (just a bash statement)
2022-02-22 00:56:57 -08:00
Girish Ramakrishnan
8ef5e35677
cloudron-firewall: add retry for xtables lock
...
cloudron-firewall.sh[30679]: ==> Setting up firewall
cloudron-firewall.sh[30693]: iptables: Chain already exists.
cloudron-firewall.sh[30694]: ip6tables: Chain already exists.
cloudron-firewall.sh[30699]: ipset v7.5: Set cannot be created: set with the same name already exists
cloudron-firewall.sh[30702]: ipset v7.5: Set cannot be created: set with the same name already exists
cloudron-firewall.sh[30740]: Another app is currently holding the xtables lock. Perhaps you want to use the -w option?
2022-02-20 17:42:20 -08:00
Girish Ramakrishnan
773dfd9a7b
ipv6 support in firewall allow and block lists
2022-02-16 13:39:35 -08:00
Girish Ramakrishnan
d6d7bc93e8
firewall: add ipxtables helper
2022-02-11 22:56:23 -08:00
Girish Ramakrishnan
ca83deb761
Docker IPv6 support
...
Docker's initial IPv6 support is based on allocating public IPv6 to containers.
This approach has many issues:
* The server may not get a block of IPv6 assigned to it
* It's complicated to allocate a block of IPv6 to cloudron server on home setups
* It's unclear how dynamic IPv6 is. If it's dynamic, then should containers be recreated?
* DNS setup is complicated
* Not a issue for Cloudron itself, but with -P, it just exposed the full container into the world
Given these issues, IPv6 NAT is being considered. Even though NAT is not a security mechanism as such,
it does offer benefits that we care about:
* We can allocate some private IPv6 to containers
* Have docker NAT66 the exposed ports
* Works similar to IPv4
Currently, the IPv6 ports are always mapped and exposed. The "Enable IPv6" config option is only whether
to automate AAAA records or not. This way, user can enable it and 'sync' dns and we don't need to
re-create containers etc. There is no inherent benefit is not exposing IPv6 at all everywhere unless we find
it unstable.
Fixes #264
2022-02-09 23:54:53 -08:00
Girish Ramakrishnan
c5f9c80f89
move comment to unbound.conf
2022-02-09 23:15:37 -08:00
Girish Ramakrishnan
5517d09e45
cloudron-setup: fix curl output capture
...
not sure why the old method does not work. also move the cache file
2022-01-26 10:22:17 -08:00
Johannes Zellner
8f8a59bd87
Unbound does no longer depend on docker
2022-01-26 16:33:19 +01:00
Johannes Zellner
8e15f27080
Make unbound listen also on future devices
...
The local network for docker containers might not be up yet
https://unbound.docs.nlnetlabs.nl/en/latest/manpages/unbound.conf.html#term-ip-freebind-yes-or-no
2022-01-26 16:32:48 +01:00
Girish Ramakrishnan
531a6fe0dc
Use ipv4.api.cloudron.io endpoint for IPv4 detection
2022-01-04 22:14:53 -08:00
Johannes Zellner
d69758e559
Only set ldap allowlist if file exists and is not empty
2021-12-15 19:23:22 +01:00
Girish Ramakrishnan
6492c9b71f
nginx: remove combined2 custom log format
...
collectd does not use this anymore (eb47476c83 )
This makes nginx work better with a variety of tools like Wazuh and ossec
https://forum.cloudron.io/topic/6077/nginx-logs-format/
https://forum.cloudron.io/topic/6161/implement-default-nginx-logging
2021-12-13 10:47:12 -08:00
Johannes Zellner
1c7eeb6ac6
Handle exposed ldap allowlist
2021-12-10 17:04:30 +01:00
Johannes Zellner
63fe75ecd2
Reduce noisy externalldap debug()s
2021-11-26 09:55:59 +01:00
Girish Ramakrishnan
e5301fead5
exclude externalldap debugs by default
2021-11-25 14:49:59 -08:00
Johannes Zellner
3a8aaf72ba
Expose LDAP via iptables
2021-11-23 12:37:03 +01:00
Johannes Zellner
735737b513
Initial attempt to expose the ldap server
2021-11-22 21:29:23 +01:00
Girish Ramakrishnan
405eae4495
Fix installation detection
2021-10-12 10:26:58 -07:00
Johannes Zellner
9eed3af8b6
add volume remount
2021-10-11 16:22:56 +02:00
Girish Ramakrishnan
f17e3b3a62
mail: export pop3 port
2021-10-07 22:06:26 -07:00
Girish Ramakrishnan
593038907c
unbound: on ubuntu 16, sd_notify is not working
...
not clear, when unbound added support for this.
on ubuntu 16, unbound is 1.5.8.
on ubuntu 20, unbound is 1.9.4
2021-06-04 09:41:54 -07:00
Girish Ramakrishnan
2421536c23
add indexes for ORDER BY fields used in code
...
we hit ER_OUT_OF_SORTMEMORY with large tables
2021-05-17 07:06:11 -07:00
Girish Ramakrishnan
a56766ab0e
ensure nss-lookup.target is hit after unbound starts
...
https://github.com/NLnetLabs/unbound/issues/296
this fixes volume hostname resolution on reboot
2021-05-14 12:07:05 -07:00
Girish Ramakrishnan
50407eba0b
volumes: generate systemd mount files based on mount type
2021-05-12 23:57:12 -07:00
Girish Ramakrishnan
7de454911e
migrate firewall configuration into database
...
the ports.json is for the moment server specific
2021-05-04 15:55:54 -07:00
Girish Ramakrishnan
00856b79dd
firewall: Set BOX_ENV
2021-04-14 23:01:08 -07:00
Girish Ramakrishnan
131711ef5c
mysql: bump connection limit to 200
2021-04-09 10:55:31 -07:00
Girish Ramakrishnan
84dfd4aa84
firewall: no need to keep 25 always open
2021-03-30 15:56:01 -07:00
Girish Ramakrishnan
c1ee3dcbd4
collectd: cache du values and send it every Interval (20)
...
collectd plugin ordering matters. the write_graphite plugin establishes
a TCP connection but there is a race between that and the df/du values that
get reported. du is especially problematic since we report this only every 12 hours.
so, instead we cache the values and report it every 20 seconds. on the carbon side,
it will just retain every 12 hours (since that is the whisper retention period).
there is also FlushInterval which I am not 100% sure has any effect. by default, the
write_graphite plugin waits for 1428 bytes to be accumulated. (https://manpages.debian.org/unstable/collectd-core/collectd.conf.5.en.html )
https://github.com/collectd/collectd/issues/2672
https://github.com/collectd/collectd/pull/1044
I found this syntax hidden deep inside https://www.cisco.com/c/en/us/td/docs/net_mgmt/virtual_topology_system/2_6_3/user_guide/Cisco_VTS_2_6_3_User_Guide/Cisco_VTS_2_6_1_User_Guide_chapter_01111.pdf
2021-03-26 00:21:38 -07:00
Girish Ramakrishnan
c1b61bc56b
add note
2021-03-24 20:30:02 -07:00
Girish Ramakrishnan
0447dce0d6
graphite: restart collectd as well
2021-03-23 16:34:36 -07:00
Girish Ramakrishnan
f7bd47888a
Fix issue where df output is not parsed correctly
...
LANG is the default locale i.e when LC_* are not specificall
LC_ALL will override them all
https://forum.cloudron.io/topic/4681/going-to-system-info-triggers-assertion-error
2021-03-17 11:14:07 -07:00
Girish Ramakrishnan
4d4aad084c
remove hard dep on systemd-resolved
...
the start.sh script does a "systemctl restart systemd-resolved". this
ends up restarting the box code prematurely! and then later when mysql
restarts, the box code loses connection and bad things happen (tm)
especially during a platform update.
we don't log to journald anymore, so not sure if EPIPE is still an issue
2021-03-04 21:07:52 -08:00
Girish Ramakrishnan
03a59cd500
mysql: disable binlogs altogether
...
this is useful primarily for replication
http://dimitrik.free.fr/blog/archives/2018/04/mysql-performance-testing-80-with-less-blood.html
2021-02-26 09:53:37 -08:00
Girish Ramakrishnan
bbed7c1d8a
stack scripts: add hint that cloudron is installing
...
with linode, user has no clue that cloudron is installing when they SSH in.
2021-02-25 13:36:57 -08:00
Girish Ramakrishnan
7a6a170451
remove retire.sh
2021-02-25 10:32:53 -08:00
Girish Ramakrishnan
a546914796
mysql: keep binlog to couple of days
2021-02-24 16:00:46 -08:00
Girish Ramakrishnan
38607048ee
mysql: make binlog have 5 day expiry
2021-02-24 09:19:26 -08:00
Girish Ramakrishnan
9ccd82ce4e
set binlog config in mysql
...
keep max binlog file size to 100M. and rotate then in 10 days
2021-02-23 14:24:58 -08:00
Girish Ramakrishnan
48c52533c4
firewall: syntax cleanup
2021-02-12 08:13:47 -08:00
Johannes Zellner
1a98d6d2bd
iptables --dports only supports up to 15 ports apparently
2021-02-12 15:56:19 +01:00