my personal dotfiles
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

self-hosted docker compose files and .env templates

daniel daum a9e14a45

+256
+20
selfhost/arcane/agent/arcane-agent-compose.yaml
··· 1 + services: 2 + arcane-agent: 3 + image: ghcr.io/getarcaneapp/arcane-headless:latest 4 + container_name: arcane-agent 5 + restart: unless-stopped 6 + network_mode: host 7 + env_file: 8 + - .env 9 + environment: 10 + - AGENT_MODE=true 11 + - AGENT_TOKEN=${ARCANE_AGENT_TOKEN:?missing} 12 + - MANAGER_API_URL=${ARCANE_AGENT_MANAGER_API_URL:?missing} 13 + # ports: 14 + # - "3553:3553" 15 + volumes: 16 + - /var/run/docker.sock:/var/run/docker.sock 17 + - arcane-data:/app/data 18 + 19 + volumes: 20 + arcane-data:
+2
selfhost/arcane/agent/arcane-agent.env
··· 1 + ARCANE_AGENT_TOKEN= 2 + ARCANE_AGENT_MANAGER_API_URL=
+38
selfhost/arcane/manager/arcane-compose.yaml
··· 1 + services: 2 + arcane: 3 + image: ghcr.io/getarcaneapp/arcane:latest 4 + container_name: arcane 5 + restart: unless-stopped 6 + extra_hosts: 7 + - "${ARCANE_AGENT_HOST:?missing}:${ARCANE_AGENT_IP:?missing}" 8 + env_file: 9 + - .env 10 + environment: 11 + - PUID=${ARCANE_UID:?missing} 12 + - PGID=${ARCANE_GID:?missing} 13 + 14 + - ENCRYPTION_KEY=${ARCANE_ENCRYPTION_KEY:?missing} 15 + - JWT_SECRET=${ARCANE_JWT_SECRET:?missing} 16 + 17 + - APP_URL=${ARCANE_APP_URL:?missing} 18 + - LOG_LEVEL=${ARCANE_LOG_LEVEL:?missing} 19 + - LOG_JSON=${ARCANE_LOG_JSON:?missing} 20 + - OIDC_ENABLED=${ARCANE_OIDC_ENABLED:?missing} 21 + 22 + - POSTGRES_DB=${ARCANE_POSTGRES_DB:?missing} 23 + - POSTGRES_USER=${ARCANE_POSTGRES_USER:?missing} 24 + - DATABASE_URL=${ARCANE_DATABASE_URL:?missing} 25 + volumes: 26 + - /var/run/docker.sock:/var/run/docker.sock 27 + - arcane-data:/app/data 28 + networks: 29 + - holonet 30 + ports: 31 + - 3552:3552 # web ui 32 + volumes: 33 + arcane-data: 34 + driver: local 35 + 36 + networks: 37 + holonet: 38 + external: true
+20
selfhost/arcane/manager/arcane.env
··· 1 + # arcane service env vars 2 + ARCANE_UID= 3 + ARCANE_GID= 4 + 5 + ARCANE_AGENT_HOST= 6 + ARCANE_AGENT_IP= 7 + 8 + ARCANE_ENCRYPTION_KEY= 9 + ARCANE_JWT_SECRET= 10 + 11 + ARCANE_APP_URL= 12 + ARCANE_LOG_LEVEL= 13 + ARCANE_LOG_JSON= 14 + ARCANE_OIDC_ENABLED= 15 + 16 + ARCANE_POSTGRES_DB= 17 + ARCANE_POSTGRES_USER= 18 + ARCANE_DATABASE_URL= 19 + 20 +
+15
selfhost/booklore/.env
··· 1 + # booklore 2 + BOOKLORE_APP_USER_ID= 3 + BOOKLORE_APP_GROUP_ID= 4 + BOOKLORE_TZ= 5 + BOOKLORE_PORT= 6 + 7 + BOOKLORE_DATABASE_URL= 8 + BOOKLORE_DB_USER= 9 + BOOKLORE_DB_PASSWORD= 10 + 11 + # mariadb container settings 12 + BOOKLORE_DB_USER_ID= 13 + BOOKLORE_DB_GROUP_ID= 14 + BOOKLORE_MYSQL_ROOT_PASSWORD= 15 + BOOKLORE_MYSQL_DATABASE=
+63
selfhost/booklore/booklore-compose.yaml
··· 1 + services: 2 + booklore: 3 + image: booklore/booklore:latest 4 + container_name: booklore 5 + environment: 6 + - "TZ:America/Los_Angeles" 7 + 8 + - USER_ID=${BOOKLORE_APP_USER_ID:?missing} 9 + - GROUP_ID=${BOOKLORE_APP_GROUP_ID:?missing} 10 + 11 + - DATABASE_URL=${BOOKLORE_DATABASE_URL:?missing} 12 + - DATABASE_USERNAME=${BOOKLORE_DB_USER:?missing} 13 + - DATABASE_PASSWORD=${BOOKLORE_DB_PASSWORD:?missing} 14 + 15 + - BOOKLORE_PORT=${BOOKLORE_PORT:?missing} 16 + depends_on: 17 + mariadb: 18 + condition: service_healthy 19 + ports: 20 + - "${BOOKLORE_PORT}:${BOOKLORE_PORT}" 21 + volumes: 22 + - booklore-data:/app/data 23 + - booklore-books:/books 24 + - booklore-bookdrop:/bookdrop 25 + healthcheck: 26 + test: wget -q -O - http://localhost:${BOOKLORE_PORT}/api/v1/healthcheck 27 + interval: 60s 28 + retries: 5 29 + start_period: 60s 30 + timeout: 10s 31 + restart: unless-stopped 32 + env_file: 33 + - .env 34 + 35 + mariadb: 36 + image: lscr.io/linuxserver/mariadb:11.4.5 37 + container_name: mariadb 38 + environment: 39 + - "TZ:America/Los_Angeles" 40 + 41 + - PUID=${BOOKLORE_DB_USER_ID:?missing} 42 + - PGID=${BOOKLORE_DB_GROUP_ID:?missing} 43 + 44 + - MYSQL_ROOT_PASSWORD=${BOOKLORE_MYSQL_ROOT_PASSWORD:?missing} 45 + - MYSQL_DATABASE=${BOOKLORE_MYSQL_DATABASE:?missing} 46 + - MYSQL_USER=${BOOKLORE_DB_USER:?missing} 47 + - MYSQL_PASSWORD=${BOOKLORE_DB_PASSWORD:?missing} 48 + volumes: 49 + - booklore-mariadb-config:/config 50 + restart: unless-stopped 51 + healthcheck: 52 + test: ["CMD", "mariadb-admin", "ping", "-h", "localhost"] 53 + interval: 5s 54 + timeout: 5s 55 + retries: 10 56 + env_file: 57 + - .env 58 + 59 + volumes: 60 + booklore-data: 61 + booklore-books: 62 + booklore-bookdrop: 63 + booklore-mariadb-config:
+41
selfhost/gitea/gitea-compose.yaml
··· 1 + services: 2 + gitea: 3 + image: gitea/gitea:latest 4 + container_name: gitea 5 + restart: unless-stopped 6 + env_file: 7 + - .env 8 + environment: 9 + 10 + - USER_UID=${GITEA_UID:?missing} 11 + - USER_GID=${GITEA_GID:?missing} 12 + 13 + - GITEA__server__DOMAIN=${GITEA_DOMAIN:?missing} 14 + - GITEA__server__ROOT_URL=${GITEA_ROOT_URL:?missing} 15 + 16 + 17 + - GITEA__database__DB_TYPE=postgres 18 + - GITEA__database__HOST=${GITEA_DB_HOST:?missing} 19 + - GITEA__database__NAME=${GITEA_DB_NAME:?missing} 20 + - GITEA__database__USER=${GITEA_DB_USER:?missing} 21 + - GITEA__database__PASSWD=${GITEA_DB_PASS:?missing} 22 + 23 + - GITEA__server__SSH_DOMAIN=${GITEA_SSH_DOMAIN:?missing} 24 + - GITEA__server__SSH_PORT=${GITEA_SSH_PORT:?missing} 25 + 26 + volumes: 27 + - gitea-data:/data 28 + networks: 29 + - holonet 30 + ports: 31 + - "127.0.0.1:3000:3000" # web UI 32 + - "127.0.0.1:2222:22" # container SSH reachable locally on host:2222 33 + 34 + volumes: 35 + gitea-data: 36 + driver: local 37 + name: gitea-data 38 + 39 + networks: 40 + holonet: 41 + external: true
+15
selfhost/gitea/gitea.env
··· 1 + # ownership (pick a real UID/GID that should own the files) 2 + GITEA_UID= 3 + GITEA_GID= 4 + 5 + # Desired tailnet name for web 6 + GITEA_DOMAIN= 7 + GITEA_ROOT_URL= 8 + 9 + GITEA_DB_HOST= 10 + GITEA_DB_NAME= 11 + GITEA_DB_USER= 12 + GITEA_DB_PASS= 13 + 14 + GITEA_SSH_DOMAIN= 15 + GITEA_SSH_PORT=
+3
selfhost/postgres/.env
··· 1 + POSTGRES_DB= 2 + POSTGRES_USER= 3 + POSTGRES_PASSWORD=
+25
selfhost/postgres/postgres-compose.yaml
··· 1 + services: 2 + postgres: 3 + image: postgres:18 4 + container_name: postgresql 5 + restart: unless-stopped 6 + env_file: 7 + - .env 8 + environment: 9 + POSTGRES_DB: ${POSTGRES_DB:?missing} 10 + POSTGRES_USER: ${POSTGRES_USER:?missing} 11 + POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:?missing} 12 + volumes: 13 + - postgres-data:/var/lib/postgresql 14 + ports: 15 + - "127.0.0.1:5432:5432" 16 + networks: 17 + - holonet 18 + volumes: 19 + postgres-data: 20 + driver: local 21 + name: postgres-data 22 + 23 + networks: 24 + holonet: 25 + external: true
+14
selfhost/zerobyte/zerobyte-compose.yaml
··· 1 + services: 2 + zerobyte: 3 + image: ghcr.io/nicotsx/zerobyte:latest 4 + container_name: zerobyte 5 + restart: unless-stopped 6 + ports: 7 + - "4096:4096" 8 + environment: 9 + - "TZ:America/Los_Angeles" 10 + volumes: 11 + - /etc/localtime:/etc/localtime:ro 12 + - /var/lib/zerobyte:/var/lib/zerobyte 13 + - /var/lib/docker/volumes:/docker-volumes:ro 14 + - /mnt/holonet/zerobyte:/data