2020-05-01 09:38:43 +00:00
|
|
|
# Selfhosted-Apps-Docker
|
2020-04-09 22:52:11 +00:00
|
|
|
|
2020-05-01 09:38:43 +00:00
|
|
|
###### guide by example
|
2020-04-09 22:52:11 +00:00
|
|
|
|
2020-05-01 09:51:20 +00:00
|
|
|
---
|
|
|
|
|
2020-05-01 09:38:43 +00:00
|
|
|
![logo](https://i.imgur.com/u5LH0jI.png)
|
2020-04-09 22:52:11 +00:00
|
|
|
|
2020-05-01 09:51:20 +00:00
|
|
|
---
|
|
|
|
|
2020-05-01 09:55:39 +00:00
|
|
|
* [caddy_v2](caddy_v2/) - reverse proxy
|
2020-05-01 09:40:53 +00:00
|
|
|
* [bitwarden_rs](bitwarden_rs/) - password manager
|
|
|
|
* [bookstack](bookstack/) - notes and documentation
|
|
|
|
* [borg_backup](borg_backup/) - backup utility
|
|
|
|
* [ddclient](ddclient/) - automatic DNS update
|
2020-05-10 21:48:51 +00:00
|
|
|
* [dnsmasq](dnsmasq/) - DNS and DHCP server
|
2020-05-01 09:40:53 +00:00
|
|
|
* [homer](homer/) - homepage
|
|
|
|
* [nextcloud](nextcloud/) - file share & sync
|
2020-05-12 17:59:50 +00:00
|
|
|
* [portainer](portainer/) - docker management
|
2020-05-01 09:40:53 +00:00
|
|
|
* [prometheus_grafana](prometheus_grafana/) - monitoring
|
|
|
|
* [watchtower](watchtower/) - automatic docker images update
|
2020-05-10 21:48:51 +00:00
|
|
|
* [arch_linux_host_install](arch_linux_host_install)
|
2020-04-09 22:52:11 +00:00
|
|
|
|
2020-05-12 17:55:28 +00:00
|
|
|
The core of the setup is Caddy reverse proxy.</br>
|
|
|
|
It's described in most details.
|
|
|
|
|
2020-05-12 17:59:50 +00:00
|
|
|
# Some docker basics and some info
|
2020-05-12 17:55:28 +00:00
|
|
|
|
|
|
|
You **do not** need to fuck with `docker-compose.yml` to get something up,
|
|
|
|
simple copy paste should suffice.
|
|
|
|
|
2020-05-12 17:59:50 +00:00
|
|
|
You **do need** to fuck with `.env` file, that's where all the variables are.
|
2020-05-12 17:55:28 +00:00
|
|
|
|
|
|
|
Also sometimes the `.env` file is used as `env_file`
|
|
|
|
|
2020-05-12 17:59:50 +00:00
|
|
|
* `.env` - actual name of a file, used only by compose.</br>
|
|
|
|
It is used automatically just by being in the directory
|
2020-05-12 17:55:28 +00:00
|
|
|
with the `docker-compose.yml`</br>
|
|
|
|
Variables set there are only available during the building of the container.
|
|
|
|
* `env_file` - an option in compose that defines existing external file.</br>
|
|
|
|
Variables set in this file will be available in the running container,
|
|
|
|
but not in compose.
|
|
|
|
|
|
|
|
So to not have polluted huge ass compose file, or to not have multiple places
|
2020-05-12 17:59:50 +00:00
|
|
|
where changes need to be made when adding a variable... `env_file: .env` BAM.
|
2020-05-12 17:55:28 +00:00
|
|
|
|
2020-05-12 17:59:50 +00:00
|
|
|
Only issue is that all variables are available in all containers in the compose.</br>
|
|
|
|
That can lead to potential conflicts and clashes, looking at you nextcloud.
|
2020-05-12 17:55:28 +00:00
|
|
|
|
2020-05-12 17:59:50 +00:00
|
|
|
In those cases variables names are declared per container.
|
2020-05-12 17:55:28 +00:00
|
|
|
|
2020-05-12 17:59:50 +00:00
|
|
|
But `env_file: .env` is just easier, prettier... and mostly painless.
|
2020-05-12 17:55:28 +00:00
|
|
|
|