chore: add gitea

This commit is contained in:
2026-06-01 19:56:55 -04:00
parent 08e394a1f0
commit e42861b860
9 changed files with 135 additions and 79 deletions
+4 -7
View File
@@ -14,14 +14,13 @@
## Description ## Description
This is my collection of docker compose files that I'm either currently using or This is my collection of docker compose files that I'm either currently using or have used on my homelab at some point.
have used on my homelab at some point.
## Usage ## Usage
```sh ```sh
git clone -n --depth=1 --filter=tree:0 \ git clone -n --depth=1 --filter=tree:0 \
https://git.danesi.dev/cdanesi/docker.git https://git.danesi.dev/cdanesi/docker.git
cd docker cd docker
git sparse-checkout set --no-cone /<directory name> git sparse-checkout set --no-cone /<directory name>
git checkout git checkout
@@ -32,8 +31,7 @@ git sparse-checkout add /<directory name>
## Support ## Support
I offer no support for these files. This is what works for me. These are for I offer no support for these files. This is what works for me. These are for reference purposes only.
reference purposes only.
## Contributing ## Contributing
@@ -43,5 +41,4 @@ reference purposes only.
## Project status ## Project status
This is an ongoing project. I probably don't update existing compose files, but This is an ongoing project. I probably don't update existing compose files, but I'll add new stuff as it gets added to my homelab.
I'll add new stuff as it gets added to my homelab.
+47
View File
@@ -0,0 +1,47 @@
services:
server:
image: docker.gitea.com/gitea:1.26.2
container_name: gitea
environment:
- USER_UID=1000
- USER_GID=1000
- GITEA__database__DB_TYPE=postgres
- GITEA__database__HOST=db:5432
- GITEA__database__NAME=gitea
- GITEA__database__USER=gitea
- GITEA__database__PASSWD=${GITEA_DB_PASSWORD}
- GITEA__server__ROOT_URL=https://git.danesi.dev/
- GITEA__server__DOMAIN=git.danesi.dev
- GITEA__server__SSH_DOMAIN=git.danesi.dev
- GITEA__server__SSH_PORT=222
restart: unless-stopped
networks:
- gitea
- proxy
volumes:
- /srv/gitea/data:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
expose:
- "3000"
ports:
- "222:22"
depends_on:
- db
db:
image: docker.io/library/postgres:14
restart: unless-stopped
environment:
- POSTGRES_USER=gitea
- POSTGRES_PASSWORD=${GITEA_DB_PASSWORD}
- POSTGRES_DB=gitea
networks:
- gitea
volumes:
- /srv/gitea/postgres:/var/lib/postgresql/data
networks:
gitea:
proxy:
external: true
+6 -3
View File
@@ -1,10 +1,12 @@
--- ---
services: services:
linkstack: linkstack:
hostname: "linkstack"
image: "linkstackorg/linkstack:latest" image: "linkstackorg/linkstack:latest"
container_name: linkstack
network_mode: bridge
environment: environment:
TZ: "America/New_York" TZ: "America/New_York"
SERVER_ADMIN: ${SERVER_ADMIN} # admin email SERVER_ADMIN: ${SERVER_ADMIN} # admin email
HTTP_SERVER_NAME: ${HTTP_SERVER_NAME} # fqdn, no protocol HTTP_SERVER_NAME: ${HTTP_SERVER_NAME} # fqdn, no protocol
HTTPS_SERVER_NAME: ${HTTPS_SERVER_NAME} # fqdn, no protocol HTTPS_SERVER_NAME: ${HTTPS_SERVER_NAME} # fqdn, no protocol
@@ -12,9 +14,10 @@ services:
PHP_MEMORY_LIMIT: "256M" PHP_MEMORY_LIMIT: "256M"
UPLOAD_MAX_FILESIZE: "8M" UPLOAD_MAX_FILESIZE: "8M"
volumes: volumes:
- "linkstack_data:/htdocs" - linkstack_data:/htdocs
ports: ports:
- "8190:443" - "127.0.0.1:8000:80"
# - '127.0.0.1:8190:443'
restart: unless-stopped restart: unless-stopped
volumes: volumes:
+23 -5
View File
@@ -5,17 +5,35 @@ services:
env_file: .env env_file: .env
restart: always restart: always
volumes: volumes:
- ./pgdata:/var/lib/postgresql/data - /srv/linkwarden/pgdata:/var/lib/postgresql/data
networks:
- linkwarden_net
linkwarden: linkwarden:
restart: "no"
mem_limit: 1024m
cpus: 0.75
# pids_limit: 150
container_name: linkwarden
env_file: .env env_file: .env
environment: environment:
- DATABASE_URL=postgresql://postgres:${POSTGRES_PASSWORD}@postgres:5432/postgres - DATABASE_URL=postgresql://postgres:${POSTGRES_PASSWORD}@postgres:5432/postgres
restart: always # restart: always
image: ghcr.io/linkwarden/linkwarden:latest image: ghcr.io/linkwarden/linkwarden:latest
ports: ports:
- 3000:3000 - 127.0.0.1:3000:3000
volumes: volumes:
- ./data:/data/data - /srv/linkwarden/data:/data/data
depends_on: depends_on:
- postgres - postgres
networks:
- linkwarden_net
networks:
linkwarden_net:
driver: bridge
driver_opts:
com.docker.network.driver.mtu: 1450
ipam:
config:
- subnet: 172.31.50.0/24
+23 -13
View File
@@ -1,26 +1,36 @@
---
services: services:
app: app:
image: "jc21/nginx-proxy-manager:latest" image: "jc21/nginx-proxy-manager:latest"
container_name: nginx-proxy-manager
restart: unless-stopped restart: unless-stopped
ports: ports:
# These ports are in format <host-port>:<container-port>
- "80:80" # Public HTTP Port - "80:80" # Public HTTP Port
- "443:443" # Public HTTPS Port - "443:443" # Public HTTPS Port
- "81:81" # Admin Web Port - "127.0.0.1:81:81" # Admin Web Port
- "22:22" # SSH
# Add any other Stream port you want to expose # Add any other Stream port you want to expose
# - '21:21' # FTP # - '21:21' # FTP
# Uncomment the next line if you uncomment anything in the section extra_hosts:
# environment: - "host.docker.internal:host-gateway"
# Uncomment this if you want to change the location of
# the SQLite DB file within the container
# DB_SQLITE_FILE: "/data/database.sqlite"
# Uncomment this if IPv6 is not enabled on your host networks:
# DISABLE_IPV6: 'true' - proxy
- default
environment:
TZ: "America/New_York"
DISABLE_IPV6: "true"
healthcheck:
test: ["CMD", "/usr/bin/check-health"]
interval: 10s
timeout: 3s
volumes: volumes:
- ./data:/data - /srv/npm/data:/data
- ./letsencrypt:/etc/letsencrypt - /srv/npm/letsencrypt:/etc/letsencrypt
networks:
proxy:
external: true
+17 -40
View File
@@ -1,62 +1,35 @@
# Docker Compose file for running paperless from the docker container registry.
# This file contains everything paperless needs to run.
# Paperless supports amd64, arm and arm64 hardware.
# All compose files of paperless configure paperless in the following way:
#
# - Paperless is (re)started on system boot, if it was running before shutdown.
# - Docker volumes for storing data are managed by Docker.
# - Folders for importing and exporting files are created in the same directory
# as this file and mounted to the correct folders inside the container.
# - Paperless listens on port 8000.
#
# SQLite is used as the database. The SQLite file is stored in the data volume.
#
# In addition to that, this Docker Compose file adds the following optional
# configurations:
#
# - Apache Tika and Gotenberg servers are started with paperless and paperless
# is configured to use these services. These provide support for consuming
# Office documents (Word, Excel, Power Point and their LibreOffice counter-
# parts.
#
# To install and update paperless with this file, do the following:
#
# - Copy this file as 'docker-compose.yml' and the files 'docker-compose.env'
# and '.env' into a folder.
# - Run 'docker compose pull'.
# - Run 'docker compose up -d'.
#
# For more extensive installation and update instructions, refer to the
# documentation.
---
services: services:
broker: broker:
image: docker.io/library/redis:8 image: docker.io/library/redis:8
restart: unless-stopped restart: unless-stopped
volumes: volumes:
- redisdata:/data - redisdata:/data
webserver: webserver:
image: ghcr.io/paperless-ngx/paperless-ngx:latest image: ghcr.io/paperless-ngx/paperless-ngx:latest
container_name: paperless-webserver
restart: unless-stopped restart: unless-stopped
depends_on: depends_on:
- broker - broker
- gotenberg - gotenberg
- tika - tika
ports:
- "8000:8000"
volumes: volumes:
- /srv/paperless/data:/usr/src/paperless/data - /srv/paperless/data:/usr/src/paperless/data
- /srv/paperless/media:/usr/src/paperless/media - /srv/paperless/media:/usr/src/paperless/media
- ./export:/usr/src/paperless/export - /srv/paperless/export:/usr/src/paperless/export
- ./consume:/usr/src/paperless/consume - /srv/paperless/consume:/usr/src/paperless/consume
- /etc/timezone:/etc/timezone - /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime - /etc/localtime:/etc/localtime:ro
env_file: docker-compose.env env_file: docker-compose.env
environment: environment:
PAPERLESS_REDIS: redis://broker:6379 PAPERLESS_REDIS: redis://broker:6379
PAPERLESS_TIKA_ENABLED: 1 PAPERLESS_TIKA_ENABLED: 1
PAPERLESS_TIKA_GOTENBERG_ENDPOINT: http://gotenberg:3000 PAPERLESS_TIKA_GOTENBERG_ENDPOINT: http://gotenberg:3000
PAPERLESS_TIKA_ENDPOINT: http://tika:9998 PAPERLESS_TIKA_ENDPOINT: http://tika:9998
networks:
- default
- proxy
gotenberg: gotenberg:
image: docker.io/gotenberg/gotenberg:8.20 image: docker.io/gotenberg/gotenberg:8.20
restart: unless-stopped restart: unless-stopped
@@ -66,10 +39,14 @@ services:
- "gotenberg" - "gotenberg"
- "--chromium-disable-javascript=true" - "--chromium-disable-javascript=true"
- "--chromium-allow-list=file:///tmp/.*" - "--chromium-allow-list=file:///tmp/.*"
tika: tika:
image: docker.io/apache/tika:latest image: docker.io/apache/tika:latest
restart: unless-stopped restart: unless-stopped
volumes: volumes:
data: redisdata:
media:
redisdata: networks:
proxy:
external: true
+8 -5
View File
@@ -1,14 +1,17 @@
--- ---
services: services:
uptime-kuma: uptime-kuma:
image: louislam/uptime-kuma:1 image: louislam/uptime-kuma:2
container_name: uptime-kuma container_name: uptime-kuma
network_mode: bridge
volumes: volumes:
- ./data:/app/data - /srv/uptime-kuma/data:/app/data
ports: ports:
- 3001:3001 - 127.0.0.1:3001:3001
environment: environment:
- UID - UID=1000
- GID - GID=1000
- TZ=America/New_York - TZ=America/New_York
#- SSL_KEY=/data/privkey.pem
#- SSL_CERT=/etc/letsencrypt/live/status.charlesdanesi.com/fullchain.pem
restart: unless-stopped restart: unless-stopped
+6 -5
View File
@@ -4,23 +4,24 @@ services:
image: vaultwarden/server:latest image: vaultwarden/server:latest
container_name: vaultwarden container_name: vaultwarden
restart: unless-stopped restart: unless-stopped
network_mode: bridge
environment: environment:
TZ: America/Detroit TZ: America/Detroit
SIGNUPS_ALLOWED: "false" SIGNUPS_ALLOWED: "false"
WEBSOCKET_ENABLED: "true" WEBSOCKET_ENABLED: "true"
ADMIN_TOKEN: "${ADMIN_TOKEN}" # ADMIN_TOKEN: "${ADMIN_TOKEN}"
DOMAIN: "${DOMAIN}" DOMAIN: "${DOMAIN}"
SHOW_PASSWORD_HINT: "false" SHOW_PASSWORD_HINT: "false"
USE_SYSLOG: "false" USE_SYSLOG: "false"
LOG_FILE: /var/log/vaultwarden/vaultwarden.log LOG_FILE: /var/log/vaultwarden/vaultwarden.log
LOG_LEVEL: "debug" LOG_LEVEL: "warn"
EXTENDED_LOGGING: "true" EXTENDED_LOGGING: "true"
volumes: volumes:
- ./data/:/data - /srv/vaultwarden/data/:/data
- /var/log/vaultwarden:/var/log/vaultwarden - /var/log/vaultwarden:/var/log/vaultwarden
ports: ports:
- 8090:80 - 127.0.0.1:8090:80
- 3012:3012 - 127.0.0.1:3012:3012
logging: logging:
driver: json-file driver: json-file
options: options:
+1 -1
View File
@@ -10,7 +10,7 @@ services:
- "14005:14005" - "14005:14005"
restart: always restart: always
volumes: volumes:
- "./userdata:/opt/userdata" - "/srv/veloren/userdata:/opt/userdata"
environment: environment:
- RUST_LOG=debug,common::net=info - RUST_LOG=debug,common::net=info