Inicjalizacja repozytorium po uporządkowaniu Gitea; dodanie gitignore
This commit is contained in:
11
.gitignore
vendored
Normal file
11
.gitignore
vendored
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
# Omijamy ciężkie dane, żeby nie wrzucać do Gita baz danych, logów i plików wynikowych
|
||||||
|
*/data/
|
||||||
|
*/logs/
|
||||||
|
*/volumes/
|
||||||
|
*/certs/
|
||||||
|
*/letsencrypt/
|
||||||
|
*/media/
|
||||||
|
**/*.db
|
||||||
|
**/*.db.old
|
||||||
|
**/*.tar.gz
|
||||||
|
**/*.tar.gz.sig
|
||||||
8
authentik/.env
Normal file
8
authentik/.env
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
PG_PASS=KmIN0VBVvwALVUh7q5ZsMSsi2Y8Cj3Kv
|
||||||
|
AUTHENTIK_SECRET_KEY=ffk6hAoOwp6VEFW2xWFcErP83Ch4uchm
|
||||||
|
COMPOSE_PORT_HTTP=9000
|
||||||
|
COMPOSE_PORT_HTTPS=9443
|
||||||
|
AUTHENTIK_ERROR_REPORTING__ENABLED=true
|
||||||
|
|
||||||
|
AUTHENTIK_POSTGRES__HOST=postgresql
|
||||||
|
AUTHENTIK_REDIS__HOST=redis
|
||||||
117
authentik/docker-compose.yml
Normal file
117
authentik/docker-compose.yml
Normal file
@@ -0,0 +1,117 @@
|
|||||||
|
name: authentik
|
||||||
|
|
||||||
|
services:
|
||||||
|
postgresql:
|
||||||
|
image: postgres:16-alpine
|
||||||
|
restart: unless-stopped
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD-SHELL", "pg_isready -d $${POSTGRES_DB} -U $${POSTGRES_USER}"]
|
||||||
|
start_period: 20s
|
||||||
|
interval: 30s
|
||||||
|
retries: 5
|
||||||
|
timeout: 5s
|
||||||
|
volumes:
|
||||||
|
- database:/var/lib/postgresql/data
|
||||||
|
environment:
|
||||||
|
POSTGRES_PASSWORD: ${PG_PASS}
|
||||||
|
POSTGRES_USER: authentik
|
||||||
|
POSTGRES_DB: authentik
|
||||||
|
env_file:
|
||||||
|
- .env
|
||||||
|
networks:
|
||||||
|
- default
|
||||||
|
|
||||||
|
redis:
|
||||||
|
image: redis:alpine
|
||||||
|
command: --save 60 1 --loglevel warning
|
||||||
|
restart: unless-stopped
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD-SHELL", "redis-cli ping | grep PONG"]
|
||||||
|
start_period: 20s
|
||||||
|
interval: 30s
|
||||||
|
retries: 5
|
||||||
|
timeout: 3s
|
||||||
|
volumes:
|
||||||
|
- redis:/data
|
||||||
|
networks:
|
||||||
|
- default
|
||||||
|
|
||||||
|
server:
|
||||||
|
image: ghcr.io/goauthentik/server:2024.12
|
||||||
|
restart: unless-stopped
|
||||||
|
command: server
|
||||||
|
environment:
|
||||||
|
# WERSJA 1 (Standardowa)
|
||||||
|
AUTHENTIK_REDIS__HOST: redis
|
||||||
|
AUTHENTIK_POSTGRES__HOST: postgresql
|
||||||
|
AUTHENTIK_POSTGRES__USER: authentik
|
||||||
|
AUTHENTIK_POSTGRES__NAME: authentik
|
||||||
|
AUTHENTIK_POSTGRES__PASSWORD: ${PG_PASS}
|
||||||
|
|
||||||
|
# WERSJA 2 (Alternatywna - z 'L' na końcu)
|
||||||
|
# Jeśli aplikacja ignoruje wersję wyżej, to ta zadziała
|
||||||
|
AUTHENTIK_POSTGRESQL__HOST: postgresql
|
||||||
|
AUTHENTIK_POSTGRESQL__USER: authentik
|
||||||
|
AUTHENTIK_POSTGRESQL__NAME: authentik
|
||||||
|
AUTHENTIK_POSTGRESQL__PASSWORD: ${PG_PASS}
|
||||||
|
AUTHENTIK_POSTGRESQL__PORT: 5432
|
||||||
|
volumes:
|
||||||
|
- ./media:/media
|
||||||
|
- ./custom-templates:/templates
|
||||||
|
env_file:
|
||||||
|
- .env
|
||||||
|
ports:
|
||||||
|
- "${COMPOSE_PORT_HTTP:-9000}:9000"
|
||||||
|
- "${COMPOSE_PORT_HTTPS:-9443}:9443"
|
||||||
|
depends_on:
|
||||||
|
postgresql:
|
||||||
|
condition: service_healthy
|
||||||
|
redis:
|
||||||
|
condition: service_healthy
|
||||||
|
networks:
|
||||||
|
- central_dogma
|
||||||
|
- default
|
||||||
|
|
||||||
|
worker:
|
||||||
|
image: ghcr.io/goauthentik/server:2024.12
|
||||||
|
restart: unless-stopped
|
||||||
|
command: worker
|
||||||
|
environment:
|
||||||
|
# Podajemy oba warianty dla pewności
|
||||||
|
AUTHENTIK_REDIS__HOST: redis
|
||||||
|
AUTHENTIK_POSTGRES__HOST: postgresql
|
||||||
|
AUTHENTIK_POSTGRES__USER: authentik
|
||||||
|
AUTHENTIK_POSTGRES__NAME: authentik
|
||||||
|
AUTHENTIK_POSTGRES__PASSWORD: ${PG_PASS}
|
||||||
|
|
||||||
|
AUTHENTIK_POSTGRESQL__HOST: postgresql
|
||||||
|
AUTHENTIK_POSTGRESQL__USER: authentik
|
||||||
|
AUTHENTIK_POSTGRESQL__NAME: authentik
|
||||||
|
AUTHENTIK_POSTGRESQL__PASSWORD: ${PG_PASS}
|
||||||
|
AUTHENTIK_POSTGRESQL__PORT: 5432
|
||||||
|
user: root
|
||||||
|
volumes:
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
|
- ./media:/media
|
||||||
|
- ./certs:/certs
|
||||||
|
- ./custom-templates:/templates
|
||||||
|
env_file:
|
||||||
|
- .env
|
||||||
|
depends_on:
|
||||||
|
postgresql:
|
||||||
|
condition: service_healthy
|
||||||
|
redis:
|
||||||
|
condition: service_healthy
|
||||||
|
networks:
|
||||||
|
- central_dogma
|
||||||
|
- default
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
database:
|
||||||
|
driver: local
|
||||||
|
redis:
|
||||||
|
driver: local
|
||||||
|
|
||||||
|
networks:
|
||||||
|
central_dogma:
|
||||||
|
external: true
|
||||||
18
filebrowser/compose.yaml
Normal file
18
filebrowser/compose.yaml
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
services:
|
||||||
|
filebrowser:
|
||||||
|
image: filebrowser/filebrowser
|
||||||
|
container_name: filebrowser
|
||||||
|
user: 0:0
|
||||||
|
ports:
|
||||||
|
- "1234:80"
|
||||||
|
volumes:
|
||||||
|
- /mnt/second_disk:/srv
|
||||||
|
- ./filebrowser.db:/database.db
|
||||||
|
restart: unless-stopped
|
||||||
|
security_opt:
|
||||||
|
- no-new-privileges:true
|
||||||
|
networks:
|
||||||
|
- central_dogma
|
||||||
|
networks:
|
||||||
|
central_dogma:
|
||||||
|
external: true
|
||||||
4
gitea/.env
Normal file
4
gitea/.env
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
DB_PASSWORD=899fa3aa3cf344b6659b256b1f16be8b
|
||||||
|
GITEA_DOMAIN=gitea.example.com
|
||||||
|
GITEA_URL=https://gitea.example.com/
|
||||||
|
RUNNER_TOKEN=4fLWQRGyi2Pv2VCrzFLWz6TFgElbrslz0hMjg4p5
|
||||||
25
gitea/compose-db.yml
Normal file
25
gitea/compose-db.yml
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
networks:
|
||||||
|
central_dogma:
|
||||||
|
external: true
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
postgres-data:
|
||||||
|
|
||||||
|
services:
|
||||||
|
postgres:
|
||||||
|
image: postgres:15-alpine
|
||||||
|
container_name: gitea-db
|
||||||
|
restart: always
|
||||||
|
environment:
|
||||||
|
POSTGRES_USER: gitea
|
||||||
|
POSTGRES_PASSWORD: ${DB_PASSWORD}
|
||||||
|
POSTGRES_DB: gitea
|
||||||
|
networks:
|
||||||
|
- central_dogma
|
||||||
|
volumes:
|
||||||
|
- postgres-data:/var/lib/postgresql/data
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD-SHELL", "pg_isready -U gitea"]
|
||||||
|
interval: 10s
|
||||||
|
timeout: 5s
|
||||||
|
retries: 5
|
||||||
40
gitea/compose-gitea.yml
Normal file
40
gitea/compose-gitea.yml
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
networks:
|
||||||
|
central_dogma:
|
||||||
|
external: true
|
||||||
|
runner_net:
|
||||||
|
name: runner_net
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
gitea-data:
|
||||||
|
|
||||||
|
services:
|
||||||
|
gitea:
|
||||||
|
image: gitea/gitea:latest
|
||||||
|
container_name: gitea
|
||||||
|
restart: always
|
||||||
|
environment:
|
||||||
|
GITEA__database__DB_TYPE: postgres
|
||||||
|
GITEA__database__HOST: gitea-db:5432
|
||||||
|
GITEA__database__USER: gitea
|
||||||
|
GITEA__database__PASSWD: ${DB_PASSWORD}
|
||||||
|
GITEA__database__NAME: gitea
|
||||||
|
GITEA__database__SSL_MODE: disable
|
||||||
|
GITEA__security__INSTALL_LOCK: "false"
|
||||||
|
GITEA__actions__ENABLED: "true"
|
||||||
|
GITEA__server__DOMAIN: ${GITEA_DOMAIN}
|
||||||
|
GITEA__server__ROOT_URL: ${GITEA_URL}
|
||||||
|
GITEA__server__SSH_PORT: 22
|
||||||
|
GITEA__server__SSH_DOMAIN: ${GITEA_DOMAIN}
|
||||||
|
GITEA__repository__DEFAULT_BRANCH: main
|
||||||
|
GITEA__service__DISABLE_REGISTRATION: "false"
|
||||||
|
GITEA__service__REGISTER_EMAIL_CONFIRM_REQUIRED: "false"
|
||||||
|
networks:
|
||||||
|
- central_dogma
|
||||||
|
- runner_net
|
||||||
|
ports:
|
||||||
|
- "3000:3000"
|
||||||
|
- "222:22"
|
||||||
|
volumes:
|
||||||
|
- gitea-data:/data
|
||||||
|
- /etc/timezone:/etc/timezone:ro
|
||||||
|
- /etc/localtime:/etc/localtime:ro
|
||||||
22
gitea/compose-runner.yml
Normal file
22
gitea/compose-runner.yml
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
networks:
|
||||||
|
runner_net:
|
||||||
|
external: true
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
runner-data:
|
||||||
|
|
||||||
|
services:
|
||||||
|
runner:
|
||||||
|
image: gitea/act_runner:latest
|
||||||
|
container_name: gitea-runner
|
||||||
|
restart: always
|
||||||
|
environment:
|
||||||
|
GITEA_INSTANCE_URL: http://gitea:3000
|
||||||
|
GITEA_RUNNER_REGISTRATION_TOKEN: ${RUNNER_TOKEN}
|
||||||
|
GITEA_RUNNER_NAME: docker-runner
|
||||||
|
GITEA_RUNNER_LABELS: "docker:docker,ubuntu-latest:docker://gitea/runner-images:ubuntu-latest"
|
||||||
|
networks:
|
||||||
|
- runner_net
|
||||||
|
volumes:
|
||||||
|
- runner-data:/data
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
11
gitea/init-env.sh
Normal file
11
gitea/init-env.sh
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
if [ ! -f .env ]; then
|
||||||
|
DB_PASS=$(openssl rand -hex 16)
|
||||||
|
echo "Creating .env..."
|
||||||
|
echo "DB_PASSWORD=$DB_PASS" > .env
|
||||||
|
echo "GITEA_DOMAIN=gitea.example.com" >> .env
|
||||||
|
echo "GITEA_URL=https://gitea.example.com/" >> .env
|
||||||
|
echo "RUNNER_TOKEN=" >> .env
|
||||||
|
echo "Update GITEA_DOMAIN and GITEA_URL in .env"
|
||||||
|
fi
|
||||||
15
gitea/init-runner-token.sh
Normal file
15
gitea/init-runner-token.sh
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
echo "Generating runner token..."
|
||||||
|
TOKEN=$(openssl rand -hex 32)
|
||||||
|
|
||||||
|
if grep -q "RUNNER_TOKEN=" .env; then
|
||||||
|
sed -i "s/RUNNER_TOKEN=.*/RUNNER_TOKEN=$TOKEN/" .env
|
||||||
|
else
|
||||||
|
echo "RUNNER_TOKEN=$TOKEN" >> .env
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Token: $TOKEN"
|
||||||
|
echo "Restarting runner..."
|
||||||
|
docker compose -f compose-runner.yml restart
|
||||||
|
|
||||||
75
gitea/justfile
Normal file
75
gitea/justfile
Normal file
@@ -0,0 +1,75 @@
|
|||||||
|
set shell := ["bash", "-c"]
|
||||||
|
|
||||||
|
default:
|
||||||
|
@just --list
|
||||||
|
|
||||||
|
init-env:
|
||||||
|
@bash init-env.sh
|
||||||
|
|
||||||
|
init-network:
|
||||||
|
@docker network inspect central_dogma >/dev/null 2>&1 || \
|
||||||
|
(docker network create central_dogma && echo "Network central_dogma created")
|
||||||
|
|
||||||
|
|
||||||
|
up: init-env init-network
|
||||||
|
@echo "Starting Gitea infrastructure..."
|
||||||
|
docker compose -f compose-db.yml up -d
|
||||||
|
@echo "Waiting for database..."
|
||||||
|
@for i in 1 2 3 4 5; do \
|
||||||
|
if docker exec gitea-db pg_isready -U gitea >/dev/null 2>&1; then \
|
||||||
|
break; \
|
||||||
|
fi; \
|
||||||
|
echo "Attempt $$i/5..."; \
|
||||||
|
sleep 2; \
|
||||||
|
done
|
||||||
|
docker compose -f compose-gitea.yml up -d
|
||||||
|
@echo "Waiting for Gitea to be ready..."
|
||||||
|
@until curl -sf http://localhost:3000 > /dev/null 2>&1; do \
|
||||||
|
echo "Waiting..."; \
|
||||||
|
sleep 5; \
|
||||||
|
done
|
||||||
|
@echo "Gitea is ready!"
|
||||||
|
@if ! grep -q "RUNNER_TOKEN=.\+" .env; then \
|
||||||
|
echo "RUNNER_TOKEN not set. Run: just init-runner-token"; \
|
||||||
|
else \
|
||||||
|
docker compose -f compose-runner.yml up -d; \
|
||||||
|
echo "Runner started"; \
|
||||||
|
fi
|
||||||
|
@echo ""
|
||||||
|
@echo "SETUP COMPLETE"
|
||||||
|
@echo "Gitea: http://localhost:3000"
|
||||||
|
@echo "SSH: localhost:222"
|
||||||
|
|
||||||
|
down:
|
||||||
|
docker compose -f compose-runner.yml down || true
|
||||||
|
docker compose -f compose-gitea.yml down || true
|
||||||
|
docker compose -f compose-db.yml down || true
|
||||||
|
|
||||||
|
stop:
|
||||||
|
docker compose -f compose-runner.yml stop || true
|
||||||
|
docker compose -f compose-gitea.yml stop || true
|
||||||
|
docker compose -f compose-db.yml stop || true
|
||||||
|
|
||||||
|
start:
|
||||||
|
docker compose -f compose-db.yml start
|
||||||
|
docker compose -f compose-gitea.yml start
|
||||||
|
docker compose -f compose-runner.yml start
|
||||||
|
|
||||||
|
logs-gitea:
|
||||||
|
docker compose -f compose-gitea.yml logs -f --tail=100 gitea
|
||||||
|
|
||||||
|
logs-runner:
|
||||||
|
docker compose -f compose-runner.yml logs -f --tail=100 runner
|
||||||
|
|
||||||
|
logs-db:
|
||||||
|
docker compose -f compose-db.yml logs -f --tail=100 postgres
|
||||||
|
|
||||||
|
init-runner-token:
|
||||||
|
@bash init-runner-token.sh
|
||||||
|
|
||||||
|
clean:
|
||||||
|
docker compose -f compose-runner.yml down -v || true
|
||||||
|
docker compose -f compose-gitea.yml down -v || true
|
||||||
|
docker compose -f compose-db.yml down -v || true
|
||||||
|
rm -f .env
|
||||||
|
echo "Cleaned up"
|
||||||
26
gitlab/docker-compose.yml
Normal file
26
gitlab/docker-compose.yml
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
version: '3.8'
|
||||||
|
|
||||||
|
services:
|
||||||
|
gitlab:
|
||||||
|
image: gitlab/gitlab-ce:latest
|
||||||
|
container_name: gitlab
|
||||||
|
restart: unless-stopped
|
||||||
|
hostname: gitlab.archvium.eu
|
||||||
|
environment:
|
||||||
|
GITLAB_OMNIBUS_CONFIG: |
|
||||||
|
external_url 'http://gitlab.archvium.eu:30230' # HTTP, SSL będzie przez NPM
|
||||||
|
gitlab_rails['gitlab_shell_ssh_port'] = 2224 # opcjonalny port SSH, jeśli chcesz
|
||||||
|
nginx['listen_port'] = 80
|
||||||
|
nginx['listen_https'] = false
|
||||||
|
networks:
|
||||||
|
- central_dogma
|
||||||
|
volumes:
|
||||||
|
- /srv/gitlab/config:/etc/gitlab
|
||||||
|
- /srv/gitlab/logs:/var/log/gitlab
|
||||||
|
- /srv/gitlab/data:/var/opt/gitlab
|
||||||
|
ports:
|
||||||
|
- '8929:80'
|
||||||
|
- '2224:22'
|
||||||
|
networks:
|
||||||
|
central_dogma:
|
||||||
|
external: true
|
||||||
45
mattermost/docker-compose.yml
Normal file
45
mattermost/docker-compose.yml
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
version: '3.8'
|
||||||
|
|
||||||
|
services:
|
||||||
|
# Baza danych dla Mattermosta
|
||||||
|
mattermost-db:
|
||||||
|
image: postgres:16-alpine
|
||||||
|
container_name: mattermost-db
|
||||||
|
restart: unless-stopped
|
||||||
|
volumes:
|
||||||
|
- ./volumes/db/var/lib/postgresql/data:/var/lib/postgresql/data
|
||||||
|
environment:
|
||||||
|
- POSTGRES_USER=mmuser
|
||||||
|
- POSTGRES_PASSWORD=mmuser_password
|
||||||
|
- POSTGRES_DB=mattermost
|
||||||
|
networks:
|
||||||
|
- central_dogma
|
||||||
|
|
||||||
|
# Aplikacja Mattermost
|
||||||
|
mattermost-app:
|
||||||
|
image: mattermost/mattermost-team-edition:latest
|
||||||
|
container_name: mattermost-app
|
||||||
|
restart: unless-stopped
|
||||||
|
depends_on:
|
||||||
|
- mattermost-db
|
||||||
|
volumes:
|
||||||
|
- ./volumes/app/config:/mattermost/config
|
||||||
|
- ./volumes/app/data:/mattermost/data
|
||||||
|
- ./volumes/app/logs:/mattermost/logs
|
||||||
|
- ./volumes/app/plugins:/mattermost/plugins
|
||||||
|
- ./volumes/app/client/plugins:/mattermost/client/plugins
|
||||||
|
- /etc/localtime:/etc/localtime:ro
|
||||||
|
environment:
|
||||||
|
# Ustawienia połączenia z bazą (zwróć uwagę na hasło i nazwę hosta 'mattermost-db')
|
||||||
|
- MM_SQLSETTINGS_DRIVERNAME=postgres
|
||||||
|
- MM_SQLSETTINGS_DATASOURCE=postgres://mmuser:mmuser_password@mattermost-db:5432/mattermost?sslmode=disable&connect_timeout=10
|
||||||
|
|
||||||
|
# Adres strony (ważne dla linków w mailach/zaproszeniach)
|
||||||
|
- MM_SERVICESETTINGS_SITEURL=https://mattermost.archvium.eu
|
||||||
|
networks:
|
||||||
|
- central_dogma
|
||||||
|
|
||||||
|
# Używamy tej samej sieci co GitLab i Nginx Proxy Manager
|
||||||
|
networks:
|
||||||
|
central_dogma:
|
||||||
|
external: true
|
||||||
20
nginx/compose.yaml
Normal file
20
nginx/compose.yaml
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
name: nginx-vpn
|
||||||
|
services:
|
||||||
|
app:
|
||||||
|
image: 'jc21/nginx-proxy-manager:latest'
|
||||||
|
restart: unless-stopped
|
||||||
|
ports:
|
||||||
|
# --- Wszystko dostępne TYLKO przez VPN ---
|
||||||
|
- '80:80'
|
||||||
|
- '443:443'
|
||||||
|
- '81:81'
|
||||||
|
- '30230:80'
|
||||||
|
volumes:
|
||||||
|
- ./data:/data
|
||||||
|
- ./letsencrypt:/etc/letsencrypt
|
||||||
|
networks:
|
||||||
|
- central_dogma
|
||||||
|
|
||||||
|
networks:
|
||||||
|
central_dogma:
|
||||||
|
external: true
|
||||||
0
planka/Add
Normal file
0
planka/Add
Normal file
84
planka/docker-compose.yml
Normal file
84
planka/docker-compose.yml
Normal file
@@ -0,0 +1,84 @@
|
|||||||
|
name: planka-v2
|
||||||
|
services:
|
||||||
|
planka:
|
||||||
|
image: ghcr.io/plankanban/planka:2.0.0-rc.4
|
||||||
|
restart: on-failure
|
||||||
|
volumes:
|
||||||
|
- favicons:/app/public/favicons
|
||||||
|
- user-avatars:/app/public/user-avatars
|
||||||
|
- background-images:/app/public/background-images
|
||||||
|
- attachments:/app/private/attachments
|
||||||
|
# ports:
|
||||||
|
# - 30230:1337
|
||||||
|
networks:
|
||||||
|
- central_dogma
|
||||||
|
- default
|
||||||
|
|
||||||
|
# TO JEST KLUCZ DO ROZWIĄZANIA PROBLEMU "ENOTFOUND"
|
||||||
|
extra_hosts:
|
||||||
|
- "auth.archvium.eu:host-gateway"
|
||||||
|
|
||||||
|
environment:
|
||||||
|
- BASE_URL=http://planka.archvium.eu:30230
|
||||||
|
- DATABASE_URL=postgresql://postgres@postgres/planka
|
||||||
|
- SECRET_KEY=secret
|
||||||
|
- TRUST_PROXY=true
|
||||||
|
|
||||||
|
# Wyłączenie sprawdzania certyfikatu (ważne przy self-hosted)
|
||||||
|
- NODE_TLS_REJECT_UNAUTHORIZED=0
|
||||||
|
|
||||||
|
# KONFIGURACJA AUTHENTIK OIDC
|
||||||
|
- OIDC_ISSUER=http://auth.archvium.eu:30230/application/o/planka/
|
||||||
|
- OIDC_CLIENT_ID=bSZdVk9TuhMXlpp5uy08zyZ0eUEfYP4M6p2yIXjC
|
||||||
|
- OIDC_CLIENT_SECRET=HqjwnU2oURfUo2VXFSZk9moPqRjYrxDjU2XnM8L4gH9NxpO82VUbtomg4vMGyAOPHrKbdGl5ARA2xPddCIYeSaaTkqhUpwVsvs26KktIxv9Y6PjQRClPMpKM6RryrmXL
|
||||||
|
|
||||||
|
# Standardowe ustawienia mapowania
|
||||||
|
- OIDC_SCOPES=openid email profile
|
||||||
|
- OIDC_ADMIN_ROLES=admin
|
||||||
|
- OIDC_EMAIL_ATTRIBUTE=email
|
||||||
|
- OIDC_NAME_ATTRIBUTE=name
|
||||||
|
- OIDC_USERNAME_ATTRIBUTE=preferred_username
|
||||||
|
- OIDC_ROLES_ATTRIBUTE=groups
|
||||||
|
- OIDC_IGNORE_USERNAME=true
|
||||||
|
|
||||||
|
# Na razie false, żebyś mógł się zalogować jak coś nie zadziała
|
||||||
|
- OIDC_ENFORCED=false
|
||||||
|
|
||||||
|
depends_on:
|
||||||
|
postgres:
|
||||||
|
condition: service_healthy
|
||||||
|
|
||||||
|
postgres:
|
||||||
|
image: postgres:16-alpine
|
||||||
|
restart: on-failure
|
||||||
|
volumes:
|
||||||
|
- db-data:/var/lib/postgresql/data
|
||||||
|
environment:
|
||||||
|
- POSTGRES_DB=planka
|
||||||
|
- POSTGRES_HOST_AUTH_METHOD=scram-sha-256
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD-SHELL", "pg_isready -U postgres -d planka"]
|
||||||
|
interval: 10s
|
||||||
|
timeout: 5s
|
||||||
|
retries: 5
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
favicons:
|
||||||
|
external: true
|
||||||
|
name: planka_favicons
|
||||||
|
user-avatars:
|
||||||
|
external: true
|
||||||
|
name: planka_user-avatars
|
||||||
|
background-images:
|
||||||
|
external: true
|
||||||
|
name: planka_background-images
|
||||||
|
attachments:
|
||||||
|
external: true
|
||||||
|
name: planka_attachments
|
||||||
|
db-data:
|
||||||
|
external: true
|
||||||
|
name: planka_db-data
|
||||||
|
|
||||||
|
networks:
|
||||||
|
central_dogma:
|
||||||
|
external: true
|
||||||
1
planka/secret
Normal file
1
planka/secret
Normal file
@@ -0,0 +1 @@
|
|||||||
|
d8d0f51904d21f9a2bd988d62bdc4eadf3f72a5a482c65f8a83b707a5491644c646ba15bf715f52e51a857c10f61380c41c0bc43d6d27211e2f5c4329fafd9aa
|
||||||
3
redmine/.env
Normal file
3
redmine/.env
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
POSTGRES_PASSWORD=QmIY3kfvtUqodNtg
|
||||||
|
REDMINE_DB_PASSWORD=sB2wux8NAw6s5f1G
|
||||||
|
REDMINE_SECRET_KEY_BASE=biFeoX50LbQ4861rW8dPvfFzmsMRya1W
|
||||||
57
redmine/docker-compose.yml
Normal file
57
redmine/docker-compose.yml
Normal file
@@ -0,0 +1,57 @@
|
|||||||
|
name: redmine-v1
|
||||||
|
services:
|
||||||
|
redmine:
|
||||||
|
image: redmine:5-alpine
|
||||||
|
restart: on-failure
|
||||||
|
volumes:
|
||||||
|
- files:/usr/src/redmine/files
|
||||||
|
- plugins:/usr/src/redmine/plugins
|
||||||
|
- themes:/usr/src/redmine/public/themes
|
||||||
|
ports:
|
||||||
|
- 8080:3000
|
||||||
|
networks:
|
||||||
|
- central_dogma
|
||||||
|
- default
|
||||||
|
environment:
|
||||||
|
- REDMINE_DB_POSTGRES=postgres
|
||||||
|
- REDMINE_DB_USERNAME=redmine
|
||||||
|
- REDMINE_DB_DATABASE=redmine
|
||||||
|
- REDMINE_DB_PASSWORD=${REDMINE_DB_PASSWORD}
|
||||||
|
- REDMINE_SECRET_KEY_BASE=${REDMINE_SECRET_KEY_BASE}
|
||||||
|
depends_on:
|
||||||
|
postgres:
|
||||||
|
condition: service_healthy
|
||||||
|
|
||||||
|
postgres:
|
||||||
|
image: postgres:16-alpine
|
||||||
|
restart: on-failure
|
||||||
|
volumes:
|
||||||
|
- db-data:/var/lib/postgresql/data
|
||||||
|
environment:
|
||||||
|
- POSTGRES_DB=redmine
|
||||||
|
- POSTGRES_USER=redmine
|
||||||
|
- POSTGRES_HOST_AUTH_METHOD=trust
|
||||||
|
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD-SHELL", "pg_isready -U redmine -d redmine"]
|
||||||
|
interval: 10s
|
||||||
|
timeout: 5s
|
||||||
|
retries: 5
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
files:
|
||||||
|
external: true
|
||||||
|
name: redmine_files
|
||||||
|
plugins:
|
||||||
|
external: true
|
||||||
|
name: redmine_plugins
|
||||||
|
themes:
|
||||||
|
external: true
|
||||||
|
name: redmine_themes
|
||||||
|
db-data:
|
||||||
|
external: true
|
||||||
|
name: redmine_db-data
|
||||||
|
|
||||||
|
networks:
|
||||||
|
central_dogma:
|
||||||
|
external: true
|
||||||
1
runners/config/.runner_system_id
Normal file
1
runners/config/.runner_system_id
Normal file
@@ -0,0 +1 @@
|
|||||||
|
r_rRFD45yY68Dv
|
||||||
32
runners/config/config.toml
Normal file
32
runners/config/config.toml
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
concurrent = 1
|
||||||
|
check_interval = 0
|
||||||
|
shutdown_timeout = 0
|
||||||
|
|
||||||
|
[session_server]
|
||||||
|
session_timeout = 1800
|
||||||
|
|
||||||
|
[[runners]]
|
||||||
|
name = "local-debian"
|
||||||
|
url = "http://gitlab"
|
||||||
|
clone_url = "http://gitlab"
|
||||||
|
id = 1
|
||||||
|
token = "glrt-vshOpu3mA-hlD4fjG_8ay286MQp0OjEKdTp5Cw.01.121vgqu56"
|
||||||
|
token_obtained_at = 2025-12-16T00:10:11Z
|
||||||
|
token_expires_at = 0001-01-01T00:00:00Z
|
||||||
|
executor = "docker"
|
||||||
|
[runners.cache]
|
||||||
|
MaxUploadedArchiveSize = 0
|
||||||
|
[runners.cache.s3]
|
||||||
|
[runners.cache.gcs]
|
||||||
|
[runners.cache.azure]
|
||||||
|
[runners.docker]
|
||||||
|
tls_verify = false
|
||||||
|
image = "alpine:latest"
|
||||||
|
privileged = false
|
||||||
|
disable_entrypoint_overwrite = false
|
||||||
|
oom_kill_disable = false
|
||||||
|
disable_cache = false
|
||||||
|
volumes = ["/cache"]
|
||||||
|
shm_size = 0
|
||||||
|
network_mtu = 0
|
||||||
|
network_mode = "central_dogma"
|
||||||
16
runners/docker-compose.yml
Normal file
16
runners/docker-compose.yml
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
version: '3.8'
|
||||||
|
|
||||||
|
services:
|
||||||
|
gitlab-runner:
|
||||||
|
image: gitlab/gitlab-runner:alpine
|
||||||
|
container_name: gitlab-runner
|
||||||
|
restart: always
|
||||||
|
volumes:
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
|
- ./config:/etc/gitlab-runner
|
||||||
|
networks:
|
||||||
|
- central_dogma
|
||||||
|
|
||||||
|
networks:
|
||||||
|
central_dogma:
|
||||||
|
external: true # <--- To mówi: "nie twórz nowej sieci, podepnij się pod tę, którą stworzył GitLab"
|
||||||
Reference in New Issue
Block a user