Advanced Search
Search Results
40 total results found
Homeserver
General stuff
Wiki
Installation of a wiki with Bookstacks
General Setup
General Knowledge
A summary of different useful things not specific to my homeserver setup
Reverse Proxy with Traefik
DNS and adblock with Blocky
Vaultwarden passwordmanager
Nextcloud
Home Assistant
A setup of Home Assistant with Zigbee2MQTT
Docker
Docker
Installation
Crowdsec setup
Installation
Installation Create a new directory and the necessary files mkdir -p bookstack/config && cd bookstack touch docker-compose.yml .env Edit the .env file to include the following: DB_PASSWD=<password> #do not change later on or stuff may break APP_URL=exampl...
Backup & Restore
Preparations Make sure to have php installed on your system Get an API token_id and API token_secret from your user preferences in the webgui Create a directory, where you want to store the backups mkdir backup && cd backup mkdir zip md pdf Downlaod the exp...
Getting started
Before we continue, make sure you have a recent version of docker installed and setup correctly. For a step-by-step guide see here. Changing the default ip range Depending on your home network setup, the default ip range for docker networks might conflict with...
Installation
The following steps are for installing Docker Engine on a Debian system. The instructions are taken from the official documentation. Install using apt Set up Docker's Apt repository. # Add Docker's official GPG key: sudo apt-get update sudo apt-get install ca...
Container setup
Overview A lot of services will be installed using docker containers for ease of use. This way services can be swapped, upgraded or changed almost at will while still being able to store persistent data easily. Performing backups will be also made easy, since ...
Tips & Tricks
Simplify docker compose files When working with a larger app-stack, that uses multiple different services, a lot of times different settings get reused. To simplify we can use yaml anchors and aliases. Imagine we have the following servies: version: "3.4" serv...
Organizing
There are different ways to organize a setup of a dozen different services. I've decided to split up the different app-stacks into different compose files. This way it is easier to change the apps seperately from each other and backup and versioning is also si...
First steps
Apache By default apache2 might be running and will be using port 80. To disable it use sudo systemctl disable apache2 && sudo systemctl stop apache2
Troubleshooting
After changing APP_URL in the env file, it might be necessary to run the following: docker exec -it bookstack php /app/www/artisan bookstack:update-url <OLD_APP_URL> <NEW_APP_URL>
Getting started
First, let's create a small working setup, that exposes the dashboard to traefik.<SITE> where site is the hostname given as an environment variable (e.g. traefik.example.com) docker-compose.yml version: "3" services: traefik: image: traefik containe...
Adding a service
If you followed the Installation correctly, adding services to traefik gets really easy. Adding docker services with docker compose To add a docker compose service, simply add the following labels: services: bookstack: labels: traefik.enable: true ...
Adding HTTPS support
For now, traefik only accepts insecure http traffic. To allow secure access over https, we need to get a valid ssl certificate. For this we will use traefiks automatic certificate generation. Traefik supports multiple acme challenges, but we will focus on usin...
Automatically redirect HTTP to HTTPS
Up until now, we would need to specify if we want to access the secure or insecure version of the page. In addition we would need to specify two routers for each service, one for the web entrypoint and one for the websecure entrypoint. We can avoid both if we ...
Restricting access to services with ipwhitelist
Often it is best to only allow clients from the local network to access some services and restrict access to everyone else. We can do that by using the ipwhitelist middleware from traefik. Add the following to config/dynamic_config.yml: http: middlewares: ...
Add custom error pages
We can change the default error pages by adding the errorpages middleware to specific services or the whole entrypoint. Independent of if we want error pages for specific services or for a whole entrypoint we first need to setup a few things. Setup If we want ...
Complete setup
The following shows a complete setup for traefik with automatic ssl certificates, automatic http redirects to https, ipwhitelisting and custom error messages File structure ├── config │ ├── acme.json │ ├── dynamic_config.yml │ ├── error_handling │ │ ...
Installation
docker-compose.yml version: "2" services: blocky: image: spx01/blocky container_name: blocky restart: unless-stopped ports: - "53:53/tcp" - "53:53/udp" - "4000:4000/tcp" environment: - TZ=${TZ} volumes: -...
Adding custom DNS entries
We assume the machine has the IP 192.168.0.2. Create the file config/dns.yml and add the following customDNS: mapping: example.com: 192.168.0.2 blocky.example.com: 192.168.0.2 other.example.com: 192.168.0.2 This will route the given sites intern...
Installation
docker-compose.yml version: '2' services: vaultwarden: image: ghcr.io/dani-garcia/vaultwarden container_name: vaultwarden restart: unless-stopped volumes: - ./data/:/data/ environment: WEBSOCKET_ENABLED: "true" # Enable WebS...
Backup & Restore
For the backup we can use the vaultwarden_backup image. docker-compose.yml services: vaultwarden_backup: image: jmqm/vaultwarden_backup:latest container_name: vaultwarden_backup network_mode: none # command: manual volumes: - ./data...