code-server
services:
code-server:
image: linuxserver/code-server:4.90.3
container_name: code-server
environment:
- PUID=1000
- PGID=1000
- TZ=Asia/Shanghai
- PASSWORD=xxxx #optional
# - HASHED_PASSWORD= #optional
- SUDO_PASSWORD=xxxx #optional
# - SUDO_PASSWORD_HASH= #optional
- PROXY_DOMAIN=code.xxx.com #optional
- DEFAULT_WORKSPACE=/config/workspace #optional
volumes:
- ./data:/config/workspace
ports:
- 9000:8443
restart: unless-stoppedntfy
version: "2.3"
services:
ntfy:
image: binwiederhier/ntfy:v2.11.0
container_name: ntfy
command:
- serve
environment:
- TZ=Asia/Shanghai # optional: set desired timezone
volumes:
- ./cache:/var/cache/ntfy
- ./etc/ntfy:/etc/ntfy
- ./db:/var/lib/ntfy
ports:
- 9001:80
healthcheck: # optional: remember to adapt the host:port to your environment
test: ["CMD-SHELL", "wget -q --tries=1 http://localhost:80/v1/health -O - | grep -Eo '\"healthy\"\\s*:\\s*true' || exit 1"]
interval: 60s
timeout: 10s
retries: 3
start_period: 40s
restart: unless-stopped/etc/ntfy/server.yml
# 填写你自己的域名,末尾不需要
base-url: "https://ntfy.xxx.com"
# 认证数据库的位置
auth-file: "/var/lib/ntfy/user.db"
# 默认访问策略,deny-all代表默认禁止所有未授权用户
auth-default-access: "deny-all"memos
services:
memos:
image: neosmemo/memos:stable
container_name: memos
volumes:
- ./memos/:/var/opt/memos
ports:
- 5230:5230gitea
version: "3"
services:
gitea:
image: gitea/gitea:1.23.1
container_name: gitea
environment:
- USER_UID=1000
- USER_GID=1000
- DB_TYPE=sqlite3
- SSH_DOMAIN=gitea.xx.com
- SSH_PORT=22
volumes:
- ./gitea:/data
ports:
- "3000:3000"
- "22:22"
restart: alwaysgitea-runner
version: "3.8"
services:
runner:
image: gitea/act_runner:0.2.10
restart: always
privileged: true
environment:
CONFIG_FILE: /config.yaml
GITEA_INSTANCE_URL: "https://gitea.xxx.com"
GITEA_RUNNER_REGISTRATION_TOKEN: "xxxxx"
GITEA_RUNNER_NAME: "gitea_runner_hk16"
#GITEA_RUNNER_LABELS: ""
DOCKER_HOST: unix:///var/run/docker.sock # 这是docker的套接字,用于Docker in Docker
#ports:
#- 9010:9010 # 这里是映射缓存端口
volumes:
- ./config/config.yaml:/config.yaml
- ./data:/data
- ./cache:/root/.cache
- /var/run/docker.sock:/var/run/docker.sock#./config/config.yaml
# The level of logging, can be trace, debug, info, warn, error, fatal
level: info
runner:
# Where to store the registration result.
file: .runner
# Execute how many tasks concurrently at the same time.
capacity: 1
# Extra environment variables to run jobs.
envs:
A_TEST_ENV_NAME_1: a_test_env_value_1
A_TEST_ENV_NAME_2: a_test_env_value_2
# Extra environment variables to run jobs from a file.
# It will be ignored if it's empty or the file doesn't exist.
env_file: .env
# The timeout for a job to be finished.
# Please note that the Gitea instance also has a timeout (3h by default) for the job.
# So the job could be stopped by the Gitea instance if it's timeout is shorter than this.
timeout: 3h
# Whether skip verifying the TLS certificate of the Gitea instance.
insecure: false
# The timeout for fetching the job from the Gitea instance.
fetch_timeout: 5s
# The interval for fetching the job from the Gitea instance.
fetch_interval: 2s
# The labels of a runner are used to determine which jobs the runner can run, and how to run them.
# Like: ["macos-arm64:host", "ubuntu-latest:docker://node:16-bullseye", "ubuntu-22.04:docker://node:16-bullseye"]
# If it's empty when registering, it will ask for inputting labels.
# If it's empty when execute `deamon`, will use labels in `.runner` file.
labels: []
cache:
# Enable cache server to use actions/cache.
enabled: true
# The directory to store the cache data.
# If it's empty, the cache data will be stored in $HOME/.cache/actcache.
dir: ""
# The host of the cache server.
# It's not for the address to listen, but the address to connect from job containers.
# So 0.0.0.0 is a bad choice, leave it empty to detect automatically.
host: ""
# The port of the cache server.
# 0 means to use a random available port.
port: 0
# The external cache server URL. Valid only when enable is true.
# If it's specified, act_runner will use this URL as the ACTIONS_CACHE_URL rather than start a server by itself.
# The URL should generally end with "/".
external_server: ""
container:
# Specifies the network to which the container will connect.
# Could be host, bridge or the name of a custom network.
# If it's empty, act_runner will create a network automatically.
network: ""
# Whether to use privileged mode or not when launching task containers (privileged mode is required for Docker-in-Docker).
privileged: false
# And other options to be used when the container is started (eg, --add-host=my.gitea.url:host-gateway).
options:
# The parent directory of a job's working directory.
# If it's empty, /workspace will be used.
workdir_parent:
# Volumes (including bind mounts) can be mounted to containers. Glob syntax is supported, see https://github.com/gobwas/glob
# You can specify multiple volumes. If the sequence is empty, no volumes can be mounted.
# For example, if you only allow containers to mount the `data` volume and all the json files in `/src`, you should change the config to:
# valid_volumes:
# - data
# - /src/*.json
# If you want to allow any volume, please use the following configuration:
# valid_volumes:
# - '**'
valid_volumes: []
# overrides the docker client host with the specified one.
# If it's empty, act_runner will find an available docker host automatically.
# If it's "-", act_runner will find an available docker host automatically, but the docker host won't be mounted to the job containers and service containers.
# If it's not empty or "-", the specified docker host will be used. An error will be returned if it doesn't work.
docker_host: ""
# Pull docker image(s) even if already present
force_pull: false
# Rebuild docker image(s) even if already present
force_rebuild: false
host:
# The parent directory of a job's working directory.
# If it's empty, $HOME/.cache/act/ will be used.
workdir_parent: