@toastal My ISP blocks ports. Cloudflare was the only way I could get reverse proxying to work.
@tofuwabohu Yes, I'm running Docker directly on the Raspberry Pi. IDrive automatically backs up the folders you specify at a time you choose. I think it uses Cron or something.
@selfhost @selfhosting @selfhosted @linux Authelia configuration.yml:
theme: light
server:
address: 0.0.0.0:9091
log:
level: debug
format: text
file\_path: /var/log/authelia/authelia.log
totp:
issuer: laniesplace.us
period: 30
skew: 1
authentication\_backend:
file:
path: /config/users\_database.yml
password:
algorithm: argon2id
iterations: 3
memory: 65536
parallelism: 4
salt\_length: 16
key\_length: 32
access\_control:
default\_policy: deny
rules:
\# Public Access
\- domain:
\- "pihole.laniesplace.us"
\- "homer.laniesplace.us"
policy: bypass
\# High Security (Two Factor)
\- domain:
\- "portainer.laniesplace.us"
\- "netdata.laniesplace.us"
\- "cockpit.laniesplace.us"
\- "glances.laniesplace.us"
\- "code.laniesplace.us"
policy: two\_factor
subject:
\- "group:admins"
\# Medium Security (One Factor Admin)
\- domain:
\- "forgejo.laniesplace.us"
\- "files.laniesplace.us"
\- "uptime.laniesplace.us"
policy: one\_factor
subject:
\- "group:admins"
\# Standard Auth (One Factor)
\- domain:
\- "thelounge.laniesplace.us"
\- "miniflux.laniesplace.us"
\- "linkding.laniesplace.us"
\- "wiki.laniesplace.us"
policy: one\_factor
\# Catch-all rule
\- domain: "\*.laniesplace.us"
policy: one\_factor
session:
name: authelia\_session
domain: laniesplace.us
same\_site: lax
expiration: 3600
inactivity: 300
remember\_me: 1M
regulation:
max\_retries: 3
find\_time: 120
ban\_time: 300
storage:
local:
path: /config/db.sqlite3
notifier:
disable\_startup\_check: false
smtp:
address: submission://smtp.gmail.com:587
username: laniegcarmelo@gmail.com
password: rcig lqpk cbsg aqcm
sender: "Authelia \<laniegcarmelo@gmail.com\>"
identifier: auth.laniesplace.us
subject: "[Authelia] {title}"
startup\_check\_address: laniegcarmelo@gmail.com
timeout: 5s
identity\_validation:
reset\_password:
jwt\_secret: ${AUTHELIA\_JWT\_SECRET\_FILE}
@selfhost @selfhosting @selfhosted @linux traefik services.yml:
http:
services:
\# Docker Services
homer:
loadBalancer:
servers:
\- url: "http://homer:8080"
glances:
loadBalancer:
servers:
\- url: "http://glances:61208"
uptime-kuma:
loadBalancer:
servers:
\- url: "http://uptime-kuma:3001"
miniflux:
loadBalancer:
servers:
\- url: "http://miniflux:8080"
pihole:
loadBalancer:
servers:
\- url: "http://pihole:8088"
portainer:
loadBalancer:
servers:
\- url: "http://portainer:9000"
linkding:
loadBalancer:
servers:
\- url: "http://linkding:9090"
\# Non-Docker Services
filebrowser:
loadBalancer:
servers:
\- url: "http://127.0.0.1:8085"
netdata:
loadBalancer:
servers:
\- url: "http://127.0.0.1:19999"
forgejo:
loadBalancer:
servers:
\- url: "http://127.0.0.1:3000"
dokuwiki:
loadBalancer:
servers:
\- url: "http://127.0.0.1:81"
cockpit:
loadBalancer:
servers:
\- url: "http://127.0.0.1:9090"
@selfhost @selfhosting @selfhosted @linux Web services docker-compose.yml, includes Linkding:
services:
linkding:
image: sissbruecker/linkding:latest-plus
container\_name: linkding
environment:
LD\_ENABLE\_AUTH\_PROXY: "true"
LD\_AUTH\_PROXY\_HEADER: "Remote-User"
LD\_AUTH\_PROXY\_AUTO\_LOGIN: "true"
LD\_AUTH\_PROXY\_LOGOUT\_URL: "[https://auth.laniesplace.us/logout](https://auth.laniesplace.us/logout)"
volumes:
\- linkding\_data:/etc/linkding/data
healthcheck:
test: ["CMD", "node", "-e", "const http = require('http'); const options = {host: 'localhost', port: 9090, path: '/', timeout: 2000}; const request = http.request(options, (res) =\> { process.exit([200, 302].includes(res.statusCode) ? 0 : 1)}); request.on('error', () =\> process.exit(1)); request.end()"]
interval: 30s
timeout: 10s
retries: 3
networks:
\- web
labels:
\- "traefik.enable=true"
\- "traefik.http.routers.linkding.rule=Host(`bookmarks.laniesplace.us`)"
\- "traefik.http.routers.linkding.entrypoints=websecure"
\- "traefik.http.routers.linkding.tls.certresolver=le"
\- "traefik.http.services.linkding.loadbalancer.server.port=9090"
\- "traefik.http.routers.linkding.middlewares=authelia@docker"
volumes:
linkding\_data:
networks:
web:
external: true
@jdw @selfhost @selfhosted @linux @selfhosting Not sure what you mean. I have a Raspberry Pi with MiniFlux, LinkAce, and a bunch of other stuff on it. The only thing I'm not hosting is the WordPress site.
@fastfinge I was thinking about it, and I want to work on my computer, not my phone. I guess I either need to use a different Linux distro or try Virtualbox.
@fastfinge I'll look into it. Never heard of it before. I have an iPhone but it's an iPhone 13 Mini and not in the greatest shape, so probably not good for that kind of thing.
@doc @main @mastoblind Does it still havve issues with audio latency and audio being too quiet? It did the last time I tried it.
@Xanza Not sure what you mean. I wanted to use my services with my domain. I tried a reverse proxy by itself and it wouldn't work because my ISP blocks ports, so I set up Cloudflare instead. Then I found out my services would work better with Caddy, so I set that up. I also originally wasn't using Unbound, but then I realized my services were having trouble communicating, and I thought it would help to have more control over DNS rules, which it has.