blob: a13d9b2fc102e5669fe0cad970da3287b6036213 (
plain) (
tree)
|
|
version: "3"
services:
caddy:
image: caddy:2.6.2-alpine
container_name: gateway
restart: unless-stopped
ports:
- "80:80"
- "443:443"
- "443:443/udp"
volumes:
- ./etc/Caddyfile:/etc/caddy/Caddyfile
- caddy_data:/data
- blog_data:/var/www/neonxp.dev/public
networks:
- gateway
forgejo_server:
image: codeberg.org/forgejo/forgejo:1.20.5-0
container_name: git
env_file:
- .env
environment:
- USER_UID=1001
- USER_GID=1001
- TZ=Europe/Moscow
- USER=git
- FORGEJO__database__DB_TYPE=postgres
- FORGEJO__database__HOST=forgejo_db:5432
- FORGEJO__database__NAME=${FORGEJO_DATABASE}
- FORGEJO__database__USER=${FORGEJO_USERNAME}
- FORGEJO__database__PASSWD=${FORGEJO_PASSWORD}
- FORGEJO__server__DISABLE_SSH = false
- FORGEJO__server__SSH_PORT = 22
- FORGEJO__server__SSH_LISTEN_PORT = 22
restart: always
networks:
- forgejo
- gateway
volumes:
- /home/git/.ssh/:/data/git/.ssh
- forgejo_data:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
ports:
- "127.0.0.1:2222:22"
depends_on:
- forgejo_db
forgejo_db:
image: postgres:13-alpine
container_name: forgejo_db
restart: always
env_file:
- .env
environment:
- USER_UID=1001
- USER_GID=1001
- TZ=Europe/Moscow
- POSTGRES_DATABASE=${FORGEJO_DATABASE}
- POSTGRES_USER=${FORGEJO_USERNAME}
- POSTGRES_PASSWORD=${FORGEJO_PASSWORD}
healthcheck:
test: /usr/bin/pg_isready -U ${FORGEJO_USERNAME} -d ${FORGEJO_DATABASE}
interval: 5s
timeout: 10s
retries: 120
networks:
- forgejo
volumes:
- forgejo_db_data:/var/lib/postgresql/data
woodpecker_server:
image: woodpeckerci/woodpecker-server:latest
container_name: woodpecker_server
volumes:
- woodpecker_data:/var/lib/woodpecker/
environment:
- WOODPECKER_OPEN=true
- WOODPECKER_GITEA=true
- WOODPECKER_GITEA_URL=https://gitrepo.ru
- WOODPECKER_GITEA_CLIENT=${FORGEJO_WOODPECKER_CLIENT}
- WOODPECKER_GITEA_SECRET=${FORGEJO_WOODPECKER_SECRET}
- WOODPECKER_HOST=https://ci.gitrepo.ru
- WOODPECKER_ADMIN=neonxp
- WOODPECKER_AGENT_SECRET=${WOODPECKER_AGENT_SECRET}
networks:
- forgejo
- gateway
depends_on:
- forgejo_server
woodpecker_agent:
image: woodpeckerci/woodpecker-agent:latest
container_name: woodpecker_agent
command: agent
restart: always
depends_on:
- woodpecker_server
volumes:
- /var/run/docker.sock:/var/run/docker.sock
environment:
- WOODPECKER_SERVER=woodpecker_server:9000
- WOODPECKER_AGENT_SECRET=${WOODPECKER_AGENT_SECRET}
networks:
- forgejo
goproxy_server:
image: gitrepo.ru/neonxp/pkg:latest
container_name: goproxy_server
restart: unless-stopped
volumes:
- ./etc/pkg.json:/usr/app/config.json
networks:
- gateway
opengist_server:
image: ghcr.io/thomiceli/opengist:1
container_name: opengist_server
restart: unless-stopped
volumes:
- opengist_data:/root/.opengist
environment:
CONFIG: |
log-level: info
ssh.git-enabled: false
networks:
- gateway
remark_server:
image: umputun/remark42:latest
container_name: remark_server
hostname: "remark42"
restart: always
logging:
driver: json-file
options:
max-size: "10m"
max-file: "5"
environment:
- REMARK_URL=https://comments.neonxp.ru
- SITE=neonxp_dev
- SECRET=8Wwt1o6G5nVBMJot
- DEBUG=false
- AUTH_EMAIL_ENABLE=true
- AUTH_TELEGRAM=true
- AUTH_EMAIL_FROM=i@neonxp.dev
- NOTIFY_EMAIL_FROM=i@neonxp.dev
- AUTH_EMAIL_SUBJ=NeonXP.ru comments
- NOTIFY_USERS=telegram,email
- NOTIFY_ADMINS=telegram,email
- NOTIFY_TELEGRAM_CHAN=760557
- TELEGRAM_TOKEN=279146841:AAE9Yd2WMkFCadnk2hNtF3By1_gAhbO3usM
- SMTP_HOST=smtp.mail.ru
- SMTP_PORT=465
- SMTP_USERNAME=i@neonxp.dev
- SMTP_PASSWORD=m317T2KuCgXdxfKh5BjK
- SMTP_LOGIN_AUTH=true
- SMTP_TLS=true
- EMOJI=true
- ALLOWED_HOSTS=neonxp.dev,neonxp.ru
- AUTH_SAME_SITE=none
- ADMIN_SHARED_ID=email_0298a691a8d2e6e6e539bccdff2e30eca6df0280,telegram_b4201451070ba78a1742cd54d4223eccc0249c1a
# Enable it only for the initial comment import or for manual backups.
# Do not leave the server running with the ADMIN_PASSWD set if you don't have an intention
# to keep creating backups manually!
# - ADMIN_PASSWD=<your secret password>
volumes:
- remark_data:/srv/var
networks:
- gateway
blog:
image: gitrepo.ru/neonxp/blog:latest
command: ["hugo", "-v"]
volumes:
- blog_data:/app/public
volumes:
caddy_data:
opengist_data:
remark_data:
forgejo_data:
forgejo_db_data:
woodpecker_data:
blog_data:
networks:
gateway:
forgejo:
external: false
|