selfhosted-apps-docker/README.md

54 lines
1.8 KiB
Markdown
Raw Normal View History

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
* [portainer](portainer/) - docker managment
* [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.
# Some docker bacics and some info
You **do not** need to fuck with `docker-compose.yml` to get something up,
simple copy paste should suffice.
You **do need** to fuck with `.env` file, that's where all your variables are.
Also sometimes the `.env` file is used as `env_file`
* `.env` - name of the file used only by compose.</br>
It is used automaticly just by being in the directory
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
where changes need to be made... `env_file: .env` BAM.
Only issue is that all variables are avaialble in all containers.</br>
So that can lead to potential conflicts and clashes, looking at you nextcloud.
In those cases variables names to be used are declared per container.
But it is just so much easier, pretier to `env_file: .env`, and mostly painless.