initial commit

This commit is contained in:
2026-02-11 11:17:40 -05:00
commit 50e2363837
72 changed files with 2414 additions and 0 deletions

View File

@@ -0,0 +1,35 @@
---
# AdGuard
# Privacy focused DNS server
# Created by AdGuard Team
# ↳ https://github.com/adguardteam
services:
adguard:
image: adguard/adguardhome:latest
container_name: adguard
restart: unless-stopped
networks:
- proxy
ports:
- 53:53/tcp
- 53:53/udp
- 853:853 # DNS over QUIC
environment:
PUID: 1000
PGID: 1000
volumes:
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
- /home/fxequals/docker/adguard/data:/opt/adguardhome/work
- /home/fxequals/docker/adguard:/opt/adguardhome/conf
networks:
proxy:
external: true
# Documentation available at https://adguard.com/kb/adguard-for-windows/admins-documentation/

View File

@@ -0,0 +1,34 @@
---
# Preview of Arcane 1.0
services:
arcane:
image: ghcr.io/ofkm/arcane:1.0-preview
container_name: arcane
restart: unless-stopped
networks:
- proxy
# ports:
# - 3552:3552
environment:
PUID: 1000
PGID: 1000
ENVIRONMENT: production
ENCRYPTION_KEY: ${ENCRYPTION_KEY}
DATABASE_URL: 'file:data/arcane.db?_pragma=journal_mode(WAL)&_pragma=busy_timeout(2500)&_txlock=immediate' # Quotes for Dockge nonsense
JWT_SECRET: ${JWT_SECRET}
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
- /home/fxequals/docker/arcane/data:/app/data
- /opt/dockge:/app/data/projects
networks:
proxy:
external: true
# Documentation available at https://arcane.ofkm.dev/

View File

@@ -0,0 +1,2 @@
ENCRYPTION_KEY=
JWT_SECRET=

View File

@@ -0,0 +1,111 @@
{
"$schema": "https://templates.arcane.ofkm.dev/schema.json",
"author": "fxequals",
"description": "Docker App Templates",
"name": "emerald-theory",
"templates": [
{
"author": "fxequals",
"compose_url": "https://gitea.mydigitalfix.com/fxequals/docker-compose/raw/branch/main/emerald-theory/adguard/ad-guard.yml",
"description": "DNS Server",
"documentation_url": "https://gitea.mydigitalfix.com/fxequals/docker-compose/src/branch/main/emerald-theory/adguard",
"env_url": "https://gitea.mydigitalfix.com/fxequals/docker-compose/raw/branch/main/emerald-theory/adguard/ad-guard.env",
"id": "adguard",
"name": "AdGuard",
"tags": [
"dns",
"webfilter"
],
"version": "1.0.0"
},
{
"author": "fxequals",
"compose_url": "https://gitea.mydigitalfix.com/fxequals/docker-compose/raw/branch/main/emerald-theory/arcane/arcane.yml",
"description": "Web based Docker GUI",
"documentation_url": "https://gitea.mydigitalfix.com/fxequals/docker-compose/src/branch/main/emerald-theory/arcane/",
"env_url": "https://gitea.mydigitalfix.com/fxequals/docker-compose/raw/branch/main/emerald-theory/arcane/arcane.env",
"id": "arcane",
"name": "Arcane",
"tags": [
"identity",
"2fa",
"access"
],
"version": "1.0.0"
},
{
"author": "fxequals",
"compose_url": "https://gitea.mydigitalfix.com/fxequals/docker-compose/raw/branch/main/emerald-theory/arcane-preview-version-1/arcane-preview.yml",
"description": "Web based Docker GUI 1.0 preview",
"documentation_url": "https://gitea.mydigitalfix.com/fxequals/docker-compose/src/branch/main/emerald-theory/arcane-preview-version-1/",
"env_url": "https://gitea.mydigitalfix.com/fxequals/docker-compose/raw/branch/main/emerald-theory/arcane-preview-version-1/arcane.env",
"id": "arcane-preview",
"name": "Arcane 1.0 Preview",
"tags": [
"docker-management",
"web-based"
],
"version": "1.0.0"
},
{
"author": "fxequals",
"compose_url": "https://gitea.mydigitalfix.com/fxequals/docker-compose/raw/branch/main/emerald-theory/authentik/authentik.yml",
"description": "2FA access & authorization",
"documentation_url": "https://gitea.mydigitalfix.com/fxequals/docker-compose/src/branch/main/emerald-theory/authentik/",
"env_url": "https://gitea.mydigitalfix.com/fxequals/docker-compose/raw/branch/main/emerald-theory/authentik/authentik.env",
"id": "authentik",
"name": "Authentik",
"tags": [
"identity",
"2fa",
"access"
],
"version": "1.0.0"
},
{
"author": "fxequals",
"compose_url": "https://gitea.mydigitalfix.com/fxequals/docker-compose/raw/branch/main/emerald-theory/chevereto/chevereto.yml",
"description": "Imgur clone",
"documentation_url": "https://gitea.mydigitalfix.com/fxequals/docker-compose/src/branch/main/emerald-theory/chevereto/",
"env_url": "https://gitea.mydigitalfix.com/fxequals/docker-compose/raw/branch/main/emerald-theory/chevereto/chevereto.env",
"id": "chevereto",
"name": "Chevereto",
"tags": [
"image-upload"
],
"version": "1.0.0"
},
{
"author": "fxequals",
"compose_url": "https://gitea.mydigitalfix.com/fxequals/docker-compose/raw/branch/main/emerald-theory/hugo/hugo.yml",
"description": "Static Site Generator",
"documentation_url": "https://gitea.mydigitalfix.com/fxequals/docker-compose/src/branch/main/emerald-theory/hugo/",
"env_url": "https://gitea.mydigitalfix.com/fxequals/docker-compose/raw/branch/main/emerald-theory/adguard/hugo.env",
"id": "hugo",
"name": "Hugo",
"tags": [
"identity",
"2fa",
"access"
],
"version": "1.0.0"
},
{
"author": "fxequals",
"compose_url": "https://gitea.mydigitalfix.com/fxequals/docker-compose/raw/branch/main/emerald-theory/n8n/n8n.yaml",
"description": "Automation System",
"documentation_url": "https://gitea.mydigitalfix.com/fxequals/docker-compose/src/branch/main/emerald-theory/n8n/",
"env_url": "https://gitea.mydigitalfix.com/fxequals/docker-compose/raw/branch/main/emerald-theory/n8n/n8n.env",
"id": "n8n",
"name": "n8n",
"tags": [
"identity",
"2fa",
"access"
],
"version": "1.0.0"
}
],
"url": "https://gitea.mydigitalfix.com/fxequals/docker-compose/src/branch/main/emerald-theory",
"version": "1.0.0"
}

View File

@@ -0,0 +1,2 @@
ENCRYPTION_KEY=
JWT_SECRET=

View File

@@ -0,0 +1,46 @@
---
# Arcane
# Modern Docker Web UI
# Created by Kyle Mendell
# ↳ https://github.com/getarcaneapp/arcane
services:
arcane:
image: ghcr.io/getarcaneapp/arcane
container_name: arcane
restart: unless-stopped
networks:
- proxy
# ports:
# - 3552:3552
environment:
PUID: 1000
PGID: 1000
APP_URL: https://arcane.mydigitalfix.com
ENCRYPTION_KEY: ${ENCRYPTION_KEY}
JWT_SECRET: ${JWT_SECRET}
volumes:
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
- /var/run/docker.sock:/var/run/docker.sock
- /home/fxequals/docker/arcane/data:/app/data
- /opt/dockge:/opt/dockge # This maps existing Dockge stacks and lets Arcane manage them, otherwise /host/path/to/projects:/app/data/projects
upgrader:
image: ghcr.io/getarcaneapp/arcane:latest
volumes:
- /var/run/docker.sock:/var/run/docker.sock
entrypoint: ['/app/arcane']
command: ['upgrade', '--auto']
profiles:
- tools
networks:
proxy:
external: true
# Documentation available at https://getarcane.app/docs

View File

@@ -0,0 +1,46 @@
---
# Arcane
# Modern Docker GUI Manager
# Created by Kyle Mendell
# ↳ https://github.com/getarcaneapp/arcane
services:
arcane:
image: ghcr.io/getarcaneapp/arcane
container_name: arcane
restart: unless-stopped
networks:
- proxy
# ports:
# - 3552:3552
environment:
PUID: 1000
PGID: 1000
APP_URL: https://arcane.wpsit.org
ENCRYPTION_KEY: ${ENCRYPTION_KEY}
JWT_SECRET: ${JWT_SECRET}
volumes:
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
- /var/run/docker.sock:/var/run/docker.sock
- /home/wpsit/docker/arcane/data:/app/data
- /opt/dockge:/opt/dockge # This maps existing Dockge stacks and lets Arcane manage them, otherwise /host/path/to/projects:/app/data/projects
upgrader:
image: ghcr.io/getarcaneapp/arcane:latest
volumes:
- /var/run/docker.sock:/var/run/docker.sock
entrypoint: ['/app/arcane']
command: ['upgrade', '--auto']
profiles:
- tools
networks:
proxy:
external: true
# Documentation available at https://getarcane.app/docs

View File

@@ -0,0 +1,191 @@
# **Authentik Overview**
Authentik is an open-source Identity Provider (IdP) that allows users to self-host authentication and single sign-on (SSO)
[GitHub Repository](https://github.com/goauthentik/authentik)
[Official Documentation](https://docs.goauthentik.io/docs)
# **Pre-Install**
## Dependencies
- None
## Generate PG_PASS for .env
- `openssl rand -base64 36`
## Generate AUTHENTIK_SECRET_KEY for .env
- `openssl rand -base64 60`
## Create Volume Folders
- certs
- custom-templates
- database
- media
- redis
## Create a .env file
```docker
AUTHENTIK_PORT_HTTP=9000
AUTHENTIK_PORT_HTTPS=9443
PG_PASS=
AUTHENTIK_SECRET_KEY=
AUTHENTIK_ERROR_REPORTING__ENABLED=true
AUTHENTIK_EMAIL__HOST=
AUTHENTIK_EMAIL__PORT=25
AUTHENTIK_EMAIL__USERNAME=
AUTHENTIK_EMAIL__PASSWORD=
AUTHENTIK_EMAIL__USE_TLS=true
AUTHENTIK_EMAIL__USE_SSL=false
AUTHENTIK_EMAIL__TIMEOUT=10
AUTHENTIK_EMAIL__FROM=
```
# **Post-Install**
> **⚠WARNING**
> Wait a few minutes before attempting to connect for the first time. All servers need to show as **Healthy** in Dockge
Go to http://your-server-ip:9000/if/flow/initial-setup/
- Create a unique email and password for admin account
- Don't use your primary email address for this account as it will conflict when you register yourself as a user
# **NGINX Proxy Manager**
## Details
- **Domain Names:** auth.ignitedinspirations.net
- **Scheme:** http
- **Forward Hostname / IP:** 172.18.1.10
- **Forward Port:** 9443
- **Cache Assets:** True
- **Block Common Exploits:** True
- **Websockets Support:** True
- **Access Lists:** Publicly Accessible
## Custom Locations
- None
## SSL
- **SSL Certificate:** Let's Encrypt
- **Force SSL:** True
- **HTTP/2 Support:** True
- **HSTS Enabled:** False
- **HSTS Subdomains:** False
## Advanced
The following code needs to be entered into the **Custom Nginx Configuration** in order to have Authentik protect this app
```NGINX
# Increase buffer size for large headers
# This is needed only if you get 'upstream sent too big header while reading response
# header from upstream' error when trying to access an application protected by goauthentik
proxy_buffers 8 16k;
proxy_buffer_size 32k;
location / {
# Put your proxy_pass to your application here
proxy_pass $forward_scheme://$server:$port;
# authentik-specific config
auth_request /outpost.goauthentik.io/auth/nginx;
error_page 401 = @goauthentik_proxy_signin;
auth_request_set $auth_cookie $upstream_http_set_cookie;
add_header Set-Cookie $auth_cookie;
# translate headers from the outposts back to the actual upstream
auth_request_set $authentik_username $upstream_http_x_authentik_username;
auth_request_set $authentik_groups $upstream_http_x_authentik_groups;
auth_request_set $authentik_email $upstream_http_x_authentik_email;
auth_request_set $authentik_name $upstream_http_x_authentik_name;
auth_request_set $authentik_uid $upstream_http_x_authentik_uid;
proxy_set_header X-authentik-username $authentik_username;
proxy_set_header X-authentik-groups $authentik_groups;
proxy_set_header X-authentik-email $authentik_email;
proxy_set_header X-authentik-name $authentik_name;
proxy_set_header X-authentik-uid $authentik_uid;
}
# all requests to /outpost.goauthentik.io must be accessible without authentication
location /outpost.goauthentik.io {
proxy_pass https://<IP_ADDRESS>:9443/outpost.goauthentik.io;
# ensure the host of this vserver matches your external URL you've configured
# in authentik
proxy_set_header Host $host;
proxy_set_header X-Original-URL $scheme://$http_host$request_uri;
add_header Set-Cookie $auth_cookie;
auth_request_set $auth_cookie $upstream_http_set_cookie;
# required for POST requests to work
proxy_pass_request_body off;
proxy_set_header Content-Length "";
}
# Special location for when the /auth endpoint returns a 401,
# redirect to the /start URL which initiates SSO
location @goauthentik_proxy_signin {
internal;
add_header Set-Cookie $auth_cookie;
return 302 /outpost.goauthentik.io/start?rd=$request_uri;
# For domain level, use the below error_page to redirect to your authentik server with the full redirect path
# return 302 https://authentik-server:9443/outpost.goauthentik.io/start?rd=$scheme://$http_host$request_uri;
}
```
> **Note**
> If you are using Portainer to manage your Docker environment, you need to specify the ENV_FILE name to be `stacks.env`
Edit the IP address in `proxy_pass` above and make sure it matches the one you specify in the Authentik docker-compose file
# **Authentik**
## Create Google OAuth2 token
1) Go to [Official Documentation](https://support.google.com/cloud/answer/6158849?hl=en) and follow steps there
- Make note of the Client ID and Client Secret
2) Add `https://your-authentik-domain-name/source/oauth/callback/google` to list of Authorized redirect URI
## Add Google SSO Support
[Official Documentation](https://docs.goauthentik.io/docs/users-sources/sources/social-logins/google/cloud/)
1) Click on **Directory** and then click on **Federation & Social login**
2) Click on **Create**
3) Click on **Google OAuth Source** and click **Next**
4) Enter Google for the **Name**
5) The **Slug** will automatically be filled
6) Enter your Client ID and Client Secret generated when creating Google OAuth2 token
7) Click **Finish**
## Add Google as a Login Source
[Official Documentation](https://docs.goauthentik.io/docs/users-sources/sources/#add-sources-to-default-login-page)
1) Click on **Flow and Stages** then click on **Stages**
2) Find the `default-authentication-identification` stage and click on the Edit button
3) Under **Source settings** click on `google` and then click on `>` to add it
## Add User to Directory
1) Navigate to **Directory** then click on **Users**
2) Enter your email address for the **Username**
3) Enter your full name for **Name**
4) Set **User type** to **Internal**
5) Enter your email address for **Email**
6) Click **Create**
## Add User to Admin Group
1) Navigate to **Directory** then click on **Groups**
2) Click on `authentik Admins`
3) Click on **Users** tab
4) Click on **Add existing user**
5) Click on `+` then select your account and click **Add**
6) Click **Add**
## Set New Users to Inactive by Default
1) Click on **Flow and Stages** then click on **Stages**
2) Find the `default-source-enrollment-write` stage and click the Edit button
3) Toggle the **Create users as inactive** to On
## Create Application & Provider
1) Click on **Create with Wizard**
2) Enter the Application's Name
- This will automatically fill the **Slug** name
3) Do not enter a Group Name
4) Set **Policy engine mode** to `any` and click **Next**
5) Select **Proxy Provider** and click **Next**
6) **Name** will automatically be filled in
7) Select `default-provider-authorization-explicit-consent` for **Authorization Flow**
8) Click on **Forward auth (single application)**
9) Enter the **External host** name and click **Next**
- This is generally the proxy hostname (ex. https://docker.mysite.com)
10) Skip **Policy/User/Group Bindings** step and click **Next**
11) Click **Close**
## Add Application to Outpost
1) Click on **Application** then click on **Outposts**
2) Find the `authentik Embedded Outpost` and click the Edit button on the right
3) Click on the application under the **Available Applications** and then click on the `>` button
4) Click on **Update**
# **Additional Information**
---
> **⚠WARNING**
> If you are using Portainer to manage your Docker environment, you need to specify the ENV_FILE name to be `stacks.env`

View File

@@ -0,0 +1,13 @@
AUTHENTIK_PORT_HTTP=9000
AUTHENTIK_PORT_HTTPS=9443
PG_PASS= # <-- openssl rand -base64 36 | tr -d '\n'
AUTHENTIK_SECRET_KEY= # <-- openssl rand -base64 36 | tr -d '\n'
AUTHENTIK_ERROR_REPORTING__ENABLED=true
AUTHENTIK_EMAIL__HOST=
AUTHENTIK_EMAIL__PORT=
AUTHENTIK_EMAIL__USERNAME=
AUTHENTIK_EMAIL__PASSWORD=
AUTHENTIK_EMAIL__USE_TLS=true
AUTHENTIK_EMAIL__USE_SSL=false
AUTHENTIK_EMAIL__TIMEOUT=10
AUTHENTIK_EMAIL__FROM=

View File

@@ -0,0 +1,132 @@
---
# Authentik
# 2FA for web apps
# Created by Authentik Security, LLC
# ↳ https://github.com/goauthentik/authentik
services:
authentik-postgresql:
image: docker.io/library/postgres:12-alpine
container_name: authentik-postgresql
restart: unless-stopped
networks:
- proxy
healthcheck:
test:
- CMD-SHELL
- pg_isready -d $${POSTGRES_DB} -U $${POSTGRES_USER}
start_period: 20s
interval: 30s
retries: 5
timeout: 5s
volumes:
- /home/fxequals/docker/authentik/database:/var/lib/postgresql/data
environment:
PUID: 1000
PGID: 1000
POSTGRES_PASSWORD: ${PG_PASS:?database password required}
POSTGRES_USER: ${PG_USER:-authentik}
POSTGRES_DB: ${PG_DB:-authentik}
env_file:
- .env
authentik-redis:
image: docker.io/library/redis:alpine
container_name: authentik-redis
command: --save 60 1 --loglevel warning
restart: unless-stopped
networks:
- proxy
healthcheck:
test:
- CMD-SHELL
- redis-cli ping | grep PONG
start_period: 20s
interval: 30s
retries: 5
timeout: 3s
volumes:
- /home/fxequals/docker/authentik/redis:/data
environment:
PUID: 1000
PGID: 1000
authentik-server:
image: ghcr.io/goauthentik/server:latest
command: server
container_name: authentik-server
restart: unless-stopped
networks:
proxy:
ipv4_address: 172.18.1.10
ports:
- 9000:9000 # Remove after putting Authentik behind NGINX
- 9443:9443 # Remove after putting Authentik behind NGINX
environment:
PUID: 1000
PGID: 1000
AUTHENTIK_REDIS__HOST: authentik-redis
AUTHENTIK_POSTGRESQL__HOST: authentik-postgresql
AUTHENTIK_POSTGRESQL__USER: ${PG_USER:-authentik}
AUTHENTIK_POSTGRESQL__NAME: ${PG_DB:-authentik}
AUTHENTIK_POSTGRESQL__PASSWORD: ${PG_PASS}
volumes:
- /home/fxequals/docker/authentik/media:/media
- /home/fxequals/docker/authentik/custom-templates:/templates
env_file:
- .env
depends_on:
- authentik-postgresql
- authentik-redis
authentik-worker:
image: ghcr.io/goauthentik/server:latest
restart: unless-stopped
container_name: authentik-worker
command: worker
networks:
- proxy
environment:
PUID: 1000
PGID: 1000
AUTHENTIK_REDIS__HOST: authentik-redis
AUTHENTIK_POSTGRESQL__HOST: authentik-postgresql
AUTHENTIK_POSTGRESQL__USER: ${PG_USER:-authentik}
AUTHENTIK_POSTGRESQL__NAME: ${PG_DB:-authentik}
AUTHENTIK_POSTGRESQL__PASSWORD: ${PG_PASS}
volumes:
- /home/fxequals/docker/authentik/media:/media
- /home/fxequals/docker/authentik/certs:/certs
- /home/fxequals/docker/authentik/custom-templates:/templates
env_file:
- .env
depends_on:
- authentik-postgresql
- authentik-redis
networks:
proxy:
external: true
# Documentation available at https://docs.goauthentik.io/docs/install-config/install/docker-compose

View File

@@ -0,0 +1 @@
DB_PASSWORD=

View File

@@ -0,0 +1,77 @@
---
# Chevereto
# Self-hosted Imgur clone
# Created by
# ↳ https://github.com/chevereto/docker
services:
chevereto-db:
image: mariadb:jammy
container_name: chevereto-db
restart: unless-stopped
healthcheck:
test: ["CMD", "healthcheck.sh", "--su-mysql", "--connect"]
interval: 10s
timeout: 5s
retries: 3
networks:
- proxy
# ports:
# - 80:80
environment:
PUID: 1000
PGID: 1000
MYSQL_ROOT_PASSWORD: ${DB_ROOTPASSWORD}
MYSQL_DATABASE: chevereto
MYSQL_USER: chevereto
MYSQL_PASSWORD: ${DB_PASSWORD}
volumes:
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
- chevereto-database:/var/lib/mysql
chevereto-server:
image: chevereto/chevereto:latest
container_name: chevereto-server
restart: unless-stopped
networks:
- proxy
# ports:
# - 80:80
environment:
PUID: 1000
PGID: 1000
CHEVERETO_DB_HOST: chevereto-db
CHEVERETO_DB_USER: chevereto
CHEVERETO_DB_PASS: ${DB_PASSWORD}
CHEVERETO_DB_PORT: 3306
CHEVERETO_DB_NAME: chevereto
CHEVERETO_HOSTNAME: photos.ignitedinspirations.net
CHEVERETO_HOSTNAME_PATH: /
CHEVERETO_HTTPS: 1
CHEVERETO_MAX_POST_SIZE: 1G
CHEVERETO_MAX_UPLOAD_SIZE: 1G
CHEVERETO_SERVICING: server
volumes:
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
- chevereto-storage:/var/www/html/images/
- chevereto-app:/var/www/html/
volumes:
database:
storage:
app:
networks:
proxy:
external: true
# Documentation available at https://v4-docs.chevereto.com/#install

View File

View File

@@ -0,0 +1,32 @@
---
# Hugo
# Static Site Generator
# Created by Hugo
# ↳ https://github.com/gohugoio/hugo
services:
hugo:
image: ghcr.io/gohugoio/hugo:latest
container_name: hugo
restart: unless-stopped
networks:
- proxy
# ports:
# - 80:80
environment:
PUID: 1000
PGID: 1000
volumes:
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
- /home/fxequals/docker/hugo/website:/src
networks:
proxy:
external: true
# Documentation available at https://gohugo.io/documentation

View File

@@ -0,0 +1,3 @@
DOMAIN_NAME=
SUBDOMAIN=
GENERIC_TIMEZONE=America/New_York

View File

@@ -0,0 +1,39 @@
---
# n8n
# Event Automation
# Created by <APP_CREATOR_NAME>
# ↳ https://github.com/n8n-io/n8n
services:
n8n:
image: docker.n8n.io/n8nio/n8n:latest
container_name: n8n
restart: unless-stopped
networks:
- proxy
# ports:
# - 5678:5678
environment:
PUID: 1000
PGID: 1000
N8N_HOST: ${SUBDOMAIN}.${DOMAIN_NAME}
N8N_PORT: 5678
N8N_PROTOCOL: https
NODE_ENV: production
WEBHOOK_URL: https://${SUBDOMAIN}.${DOMAIN_NAME}/
GENERIC_TIMEZONE: ${GENERIC_TIMEZONE}
volumes:
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
- /home/fxequals/docker/n8n/data:/home/node/.n8n
- /home/fxequals/docker/n8n/files:/files
networks:
proxy:
external: true
# Documentation available at https://docs.n8n.io/

View File

@@ -0,0 +1 @@
# Overview

View File

@@ -0,0 +1,2 @@
DB_USER=
DB_PASS=

View File

@@ -0,0 +1,44 @@
services:
wiki-js-server:
image: ghcr.io/requarks/wiki:2
container_name: wiki-js-server
restart: unless-stopped
depends_on:
- wiki-js-database
networks:
- proxy
# ports:
# - 80:80
environment:
PUID: 1000
PGID: 1000
DB_TYPE: postgres
DB_HOST: wiki-js-database
DB_PORT: 5432
DB_USER: ${DB_USER}
DB_PASS: ${DB_PASS}
DB_NAME: wiki
volumes:
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
wiki-js-database:
image: postgres:15-alpine
container_name: wiki-js-database
restart: unless-stopped
networks:
- proxy
# ports:
# - 3000:3000
environment:
POSTGRES_PASSWORD: ${DB_PASS}
POSTGRES_USER: ${DB_USER}
POSTGRES_DB: wiki
volumes:
- /home/fxequals/docker/wiki-js/database:/var/lib/postgresql/data
networks:
proxy:
external: true
# Documentation available at https://docs.requarks.io/