You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

105 lines
3.0 KiB
YAML

services:
nginx:
image: docker.io/nginx:latest
container_name: nginx
restart: unless-stopped
ports:
- 80:80
- 443:443
volumes:
- ./nginx/nginx.conf:/etc/nginx/conf.d/nginx.conf:ro
- ./.lego/certificates:/certs:ro
depends_on:
- gitea
- drone
gitea:
image: docker.io/gitea/gitea:latest
container_name: gitea
restart: unless-stopped
environment:
GITEA__ui__THEMES: earl-grey
GITEA__ui__DEFAULT_THEME: earl-grey
GITEA__server__APP_DATA_PATH: /data/gitea
GITEA__server__DOMAIN: fmnx.su
GITEA__server__SSH_DOMAIN: fmnx.su
GITEA__server__HTTP_PORT: 80
GITEA__server__ROOT_URL: https://fmnx.su/
GITEA__server__LFS_JWT_SECRET: $GITEA__server__LFS_JWT_SECRET
GITEA__secutrity__INTERNAL_TOKEN: $GITEA__secutrity__INTERNAL_TOKEN
GITEA__repository__MAX_CREATION_LIMIT: 0
GITEA__repository__ALLOW_FORK_WITHOUT_MAXIMUM_LIMIT: false
GITEA__i18n__LANGS: en-US
GITEA__i18n__NAMES: English
GITEA__attachment__MAX_SIZE: 1800000
volumes:
- ./gitea:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
drone:
image: docker.io/drone/drone:latest
container_name: drone
restart: unless-stopped
environment:
DRONE_DATABASE_DRIVER: sqlite3
DRONE_DATABASE_DATASOURCE: /data/database.sqlite
DRONE_GITEA_SERVER: https://fmnx.su/
DRONE_GIT_ALWAYS_AUTH: false
DRONE_SERVER_PROTO: https
DRONE_SERVER_HOST: ci.fmnx.su
DRONE_TLS_AUTOCERT: false
DRONE_RPC_SECRET: $DRONE_RPC_SECRET
DRONE_USER_CREATE: $DRONE_USER_CREATE
DRONE_GITEA_CLIENT_ID: $DRONE_GITEA_CLIENT_ID
DRONE_GITEA_CLIENT_SECRET: $DRONE_GITEA_CLIENT_SECRET
env_file:
- drone/drone.env
volumes:
- ./drone:/data
- /var/run/docker.sock:/var/run/docker.sock
depends_on:
- gitea
drone-runner:
image: docker.io/drone/drone-runner-docker:latest
container_name: droner
restart: unless-stopped
environment:
DRONE_RPC_PROTO: http
DRONE_RPC_HOST: drone
DRONE_RPC_SECRET: $DRONE_RPC_SECRET
DRONE_RUNNER_NAME: drone-runner
DRONE_RUNNER_CAPACITY: 2
DRONE_RUNNER_NETWORKS: infr_default
DRONE_DEBUG: false
DRONE_TRACE: false
volumes:
- /var/run/docker.sock:/var/run/docker.sock
depends_on:
- drone
mailserver:
image: docker.io/mailserver/docker-mailserver:latest
container_name: mailserver
hostname: mail.fmnx.su
environment:
ENABLE_FAIL2BAN: 1
SSL_TYPE: letsencrypt
PERMIT_DOCKER: network
SPOOF_PROTECTION: 0
volumes:
- ./mail/mail-data/:/var/mail/
- ./mail/mail-state/:/var/mail-state/
- ./mail/mail-logs/:/var/log/mail/
- ./mail/config/:/tmp/docker-mailserver/
- ./mail/certbot/certs/:/etc/letsencrypt
- /etc/localtime:/etc/localtime:ro
ports:
- "25:25"
- "587:587"
- "465:465"
cap_add:
- NET_ADMIN
restart: always