Initial server config

This commit is contained in:
root 2026-10-12 16:21:30 +00:00
commit cda084329d
4 changed files with 134 additions and 0 deletions

2
.gitignore vendored Normal file
View file

@ -0,0 +1,2 @@
.env
backups/

15
Caddyfile Normal file
View file

@ -0,0 +1,15 @@
n8n.since3.de {
reverse_proxy n8n:5678
}
git.since3.de {
reverse_proxy forgejo:3000
}
uptime.since3.de {
reverse_proxy uptime-kuma:3001
}
stats.since3.de {
reverse_proxy umami:3000
}

20
README.md Normal file
View file

@ -0,0 +1,20 @@
# since3 Server-Stack
- n8n.since3.de -> n8n (Workflows)
- git.since3.de -> Forgejo (Github-Mirror)
- uptime.since3.de -> Uptime Kuma
- stats.since3.de -> Umami
Start: docker compose up -d
Secrets: .env (Passwortmanager), never in Git
# Few things to know when starting:
- docker compose up (starts in the normal mode so the terminal will be blocked)
- docker compose up -d (starts in detached mode meaing it will be a background process so terminal will be free again)
- docker compose down (stops the containers)
- docker compose ps (display every running container)
- docker stats (dipslay RAM and CPU Usage of every Container)
- docker compose logs -f --tail 100 n8n (display the logs of an container, last 100 lines of the specific container here: n8n mit -f: following)
- docker system df (Memory needs of the Container)
- docker compose restart <service> (restarts a container e.x.: "n8n")

97
docker-compose.yml Normal file
View file

@ -0,0 +1,97 @@
name: stack
services:
postgres:
image: postgres:16
restart: always
environment:
POSTGRES_USER: n8n
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
POSTGRES_DB: n8n
volumes:
- postgres_data:/var/lib/postgresql/data
n8n:
image: docker.n8n.io/n8nio/n8n
restart: always
depends_on:
- postgres
environment:
- DB_TYPE=postgresdb
- DB_POSTGRESDB_HOST=postgres
- DB_POSTGRESDB_USER=n8n
- DB_POSTGRESDB_PASSWORD=${POSTGRES_PASSWORD}
- DB_POSTGRESDB_DATABASE=n8n
- N8N_HOST=${DOMAIN}
- N8N_PROTOCOL=https
- WEBHOOK_URL=https://${DOMAIN}/
- N8N_PROXY_HOPS=1
- N8N_ENCRYPTION_KEY=${N8N_ENCRYPTION_KEY}
- GENERIC_TIMEZONE=Europe/Berlin
- TZ=Europe/Berlin
volumes:
- n8n_data:/home/node/.n8n
forgejo:
image: codeberg.org/forgejo/forgejo:11
restart: always
environment:
- USER_UID=1000
- USER_GID=1000
- FORGEJO__database__DB_TYPE=sqlite3
- FORGEJO__server__DOMAIN=git.since3.de
- FORGEJO__server__ROOT_URL=https://git.since3.de/
- FORGEJO__server__DISABLE_SSH=true
- FORGEJO__security__INSTALL_LOCK=true
- FORGEJO__service__DISABLE_REGISTRATION=true
volumes:
- forgejo_data:/data
uptime-kuma:
image: louislam/uptime-kuma:2
restart: always
volumes:
- kuma_data:/app/data
umami-db:
image: postgres:16
restart: always
environment:
POSTGRES_USER: umami
POSTGRES_PASSWORD: ${UMAMI_DB_PASSWORD}
POSTGRES_DB: umami
volumes:
- umami_db_data:/var/lib/postgresql/data
umami:
image: ghcr.io/umami-software/umami:postgresql-latest
restart: always
depends_on:
- umami-db
environment:
DATABASE_URL: postgresql://umami:${UMAMI_DB_PASSWORD}@umami-db:5432/umami
APP_SECRET: ${UMAMI_APP_SECRET}
caddy:
image: caddy:2
restart: always
depends_on:
- n8n
- forgejo
- uptime-kuma
- umami
ports:
- "80:80"
- "443:443"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile
- caddy_data:/data
volumes:
postgres_data:
n8n_data:
forgejo_data:
kuma_data:
umami_db_data:
caddy_data: