https://github.com/djuuu/ansible-role-gogs-docker
Install Gogs Docker Compose project
https://github.com/djuuu/ansible-role-gogs-docker
ansible ansible-role docker docker-compose git gogs
Last synced: 6 months ago
JSON representation
Install Gogs Docker Compose project
- Host: GitHub
- URL: https://github.com/djuuu/ansible-role-gogs-docker
- Owner: Djuuu
- License: other
- Created: 2024-11-09T22:13:27.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-01-06T00:35:05.000Z (over 1 year ago)
- Last Synced: 2025-02-24T03:57:02.514Z (over 1 year ago)
- Topics: ansible, ansible-role, docker, docker-compose, git, gogs
- Language: Jinja
- Homepage:
- Size: 16.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Ansible Role: Gogs-docker
=========================
Install Gogs Docker Compose project.
- https://gogs.io/
- https://github.com/gogs/gogs
Requirements
------------
Requires the following to be installed:
- docker
- docker compose
Role Variables
--------------
Common Docker projects variables:
```yaml
# Base directory for Docker projects
docker_projects_path: # /var/apps
```
Available role variables are listed below, along with default values (see `defaults/main.yml`):
```yaml
# Docker project variables
gogs_project_name: gogs
# Docker project dynamic vars (uses `docker_project_name` prefix, adapt if overridden)
# Port targeted by Traefik router
gogs_traefik_loadbalancer_server_port: 3000
# Main service additional docker-compose options (ex: cpu_shares, deploy, ...)
gogs_service_additional_options: |
#ports:
# - "{{ gogs_http_port }}:3000"
# - "{{ gogs_ssh_port }}:22"
```
```yaml
# Gogs project variables
# gogs/gogs image version
gogs_version: latest
# Brand name of the application
gogs_brand_name: "Gogs"
# Public-facing domain for the application
gogs_domain: "gogs.local"
# Port bound to host for HTTP
gogs_http_port: 3000
# Port bound to host for SSH (also exposed in SSH clone URLs)
gogs_ssh_port: 8022
# Path to git repositories (mounted as a volume)
gogs_git_repositories: ./data/git/gogs-repositories
# Path to Gogs logs (mounted as a volume)
gogs_log_directory: ./data/gogs/log
# The secret to encrypt cookie values, 2FA code, etc.
# !!CHANGE THIS TO KEEP YOUR USER DATA SAFE!!
gogs_secret_key: CH4NGE ME !!!
# Database options
# The database backend, either "postgres", "mysql" "sqlite3" or "mssql".
gogs_database_type: sqlite3
gogs_database_host: 127.0.0.1
gogs_database_name: gogs
gogs_database_user: gogs
gogs_database_passwd: ''
# For "postgres" only
gogs_database_schema: public
# For "postgres" only, either "disable", "require" or "verify-full".
gogs_database_ssl_mode: disable
# For "sqlite3" only, make sure to use absolute path.
gogs_database_path: /data/gogs/data/gogs.db
# Email options
gogs_email_host:
gogs_email_from:
gogs_email_user:
gogs_email_passwd:
# Authentication options
# Whether to require email confirmation for adding new email addresses.
gogs_require_email_confirmation: true
# Whether to disallow anonymous users visiting the site.
gogs_require_signin_view: false
# Whether to disable self-registration. When disabled, accounts would have to be created by admins.
gogs_disable_registration: true
# Whether to enable captcha validation for registration
gogs_enable_registration_captcha: true
# Prometheus metrics authentication
gogs_basic_auth_username:
gogs_basic_auth_password:
```
Dependencies
------------
This role depends on :
- [djuuu.docker_project](https://github.com/Djuuu/ansible-role-docker-project)
Some variables allow integration with:
- [djuuu.traefik_docker](https://github.com/Djuuu/ansible-role-traefik-docker)
Example Playbook
----------------
```yaml
- hosts: all
gather_facts: false
roles:
- djuuu.gogs_docker
```
License
-------
Beerware License