diff --git a/.env-services-dist b/.env-services-dist new file mode 100644 index 0000000..2a2cd0e --- /dev/null +++ b/.env-services-dist @@ -0,0 +1,51 @@ +# gitea_db +MYSQL_DATABASE= +MYSQL_USER= +MYSQL_ROOT_PASSWORD= +MYSQL_PASSWORD= + +# gitea_drone +DRONE_AGENTS_ENABLED=true +DRONE_GITEA_SERVER=https://gitea.fedy95.com +DRONE_GITEA_CLIENT_ID=*** +DRONE_GITEA_CLIENT_SECRET=*** +DRONE_RPC_SECRET=*** + +DRONE_SERVER_HOST=drone.fedy95.com +DRONE_SERVER_PROTO=https +DRONE_RUNNER_NETWORKS=proxy +DRONE_USER_CREATE=username:***,admin:*** +DRONE_LOGS_DEBUG=true +DRONE_LOGS_TEXT=true +DRONE_LOGS_PRETTY=true +DRONE_LOGS_COLOR=true +DRONE_DATABASE_DRIVER=postgres +DRONE_DATABASE_DATASOURCE=postgres://***:***@postgres:5432/***?sslmode=disable + +# gitea_drone_agent +DRONE_RPC_HOST=drone.fedy95.com +DRONE_RPC_SECRET=*** +DRONE_RUNNER_CAPACITY=5 +DRONE_RUNNER_NAME=gitea_drone_agent +DRONE_RPC_PROTO=https + +# gitea_drone_db +POSTGRES_DB= +POSTGRES_USER= +POSTGRES_PASSWORD= + +# gitea_instance +APP_NAME=Gitea +RUN_MODE=prod +DOMAIN=gitea.fedy95.com +ROOT_URL=https://gitea.fedy95.com + +DB_TYPE=mysql +DB_HOST=gitea_db:3306 +DB_NAME= +DB_USER= +DB_PASSWD= + +DISABLE_REGISTRATION=true +USER_UID=1000 +USER_GID=1000 diff --git a/.env.dist b/.env.dist deleted file mode 100644 index dffe98e..0000000 --- a/.env.dist +++ /dev/null @@ -1,21 +0,0 @@ -# gitea_instance -APP_NAME=Gitea -RUN_MODE=prod -DOMAIN=gitea.fedy95.com -ROOT_URL=https://gitea.fedy95.com - -DB_TYPE=mysql -DB_HOST=gitea_db:3306 -DB_NAME= -DB_USER= -DB_PASSWD= - -DISABLE_REGISTRATION=true -USER_UID=1000 -USER_GID=1000 - -# gitea_db -MYSQL_DATABASE= -MYSQL_USER= -MYSQL_ROOT_PASSWORD= -MYSQL_PASSWORD= diff --git a/.gitignore b/.gitignore index 1b97a58..5045575 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,6 @@ /etc -/.env +/.env-gitea_db +/.env-gitea_drone +/.env-gitea_drone_agent +/.env-gitea_drone_db +/.env-gitea_instance diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..a3170a5 --- /dev/null +++ b/Makefile @@ -0,0 +1,9 @@ +MAKEFLAGS += --silent + +.PHONY: * + +restart: + docker-compose -f docker-compose.yml down + docker-compose -f docker-compose.yml up -d + +.DEFAULT_GOAL := restart diff --git a/docker-compose.yml b/docker-compose.yml index 44177c6..e9c1774 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,6 +1,60 @@ version: "3" services: + gitea_db: + image: mariadb:10 + container_name: gitea_db + + hostname: gitea_db + restart: unless-stopped + + env_file: + - ./.env-gitea_db + + volumes: + - ./etc/gitea_db/data:/var/lib/mysql + gitea_drone: + image: drone/drone:1.9 + container_name: gitea_drone + + hostname: gitea_drone + restart: always + depends_on: + - gitea_drone_db + + env_file: + - ./.env-gitea_drone + ports: + - "2999:80" + + volumes: + - ./etc/gitea_drone/data:/data + gitea_drone_db: + image: postgres:13-alpine + container_name: gitea_drone_db + + hostname: gitea_drone_db + restart: unless-stopped + + env_file: + - ./.env-gitea_drone_db + + volumes: + - ./etc/gitea_drone_db/data:/var/lib/postgresql/data + gitea_drone_agent: + image: drone/drone-runner-docker:1.5 + container_name: gitea_drone_agent + + hostname: gitea_drone_agent + restart: always + depends_on: + - gitea_drone + + env_file: + - ./.env-gitea_drone_agent + + volumes: + - /var/run/docker.sock:/var/run/docker.sock gitea_instance: image: gitea/gitea:1.12.5 container_name: gitea_instance @@ -11,7 +65,7 @@ services: - gitea_db env_file: - - ./.env + - ./.env-gitea_instance ports: - "222:22" - "3000:3000" @@ -20,15 +74,3 @@ services: - ./etc/gitea_instance/data:/data - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro - gitea_db: - image: mariadb:10 - container_name: gitea_db - - hostname: gitea_db - restart: unless-stopped - - env_file: - - ./.env - - volumes: - - ./etc/gitea_db/data/:/var/lib/mysql diff --git a/drone.yml b/drone.yml new file mode 100644 index 0000000..4d3afb3 --- /dev/null +++ b/drone.yml @@ -0,0 +1,22 @@ +kind: pipeline +type: ssh +name: default + +server: + host: + from_secret: host + user: + from_secret: username + ssh_key: + from_secret: ssh_key + +steps: + - name: release + commands: + - cd /mnt/md0/infra/gitea + - git pull + - make restart + +trigger: + branch: + - master \ No newline at end of file