228 lines
4.8 KiB
Markdown
228 lines
4.8 KiB
Markdown
---
|
|
type: "topic"
|
|
assigned: ""
|
|
created: "2024-01-06T01:25:36.066Z"
|
|
updated: "2024-01-06T01:25:36.066Z"
|
|
---
|
|
|
|
# Gogs
|
|
|
|
```PowerShell
|
|
# https://gogs.io/docs/installation/run_as_windows_service
|
|
nssm install gogs
|
|
```
|
|
|
|
```yaml
|
|
Application Tab:
|
|
Path: D:\go-lang\gogs\gogs.exe
|
|
Startup directory: D:\go-lang\gogs
|
|
Arguments: web
|
|
Details Tab:
|
|
Display name`: Gogs
|
|
Description: Gogs is a painless self-hosted Git service.
|
|
Startup type`: Automatic (Delayed Start)
|
|
I/O Tab:
|
|
Output (stdout): D:\go-lang\gogs\log\gogs-nssm.txt
|
|
Error (stderr): D:\go-lang\gogs\log\gogs-nssm.txt
|
|
File rotation Tab:
|
|
Check: Rotate files
|
|
Restrict rotation to files bigger than: 1000000 bytes
|
|
Environment Tab:
|
|
Environment variables: PATH=%PATH%;D:\go-lang\gogs;C:\Program Files (x86)\Git\bin
|
|
```
|
|
|
|
```conf
|
|
BRAND_NAME = Gogs
|
|
RUN_USER = DESKTOP-RCALEHG$
|
|
RUN_MODE = prod
|
|
|
|
[database]
|
|
TYPE = sqlite3
|
|
HOST = 127.0.0.1:5432
|
|
NAME = gogs
|
|
USER = gogs
|
|
PASSWORD =
|
|
SSL_MODE = disable
|
|
PATH = data/gogs.db
|
|
|
|
[repository]
|
|
ROOT = L:/Gogs/git/gogs-repositories
|
|
|
|
[server]
|
|
DOMAIN = gogs
|
|
HTTP_PORT = 3000
|
|
EXTERNAL_URL = http://gogs/
|
|
DISABLE_SSH = false
|
|
SSH_PORT = 22
|
|
START_SSH_SERVER = false
|
|
OFFLINE_MODE = false
|
|
|
|
[mailer]
|
|
ENABLED = false
|
|
|
|
[service]
|
|
REGISTER_EMAIL_CONFIRM = false
|
|
ENABLE_NOTIFY_MAIL = false
|
|
DISABLE_REGISTRATION = false
|
|
ENABLE_CAPTCHA = true
|
|
REQUIRE_SIGNIN_VIEW = false
|
|
|
|
[picture]
|
|
DISABLE_GRAVATAR = false
|
|
ENABLE_FEDERATED_AVATAR = false
|
|
|
|
[session]
|
|
PROVIDER = file
|
|
|
|
[log]
|
|
MODE = file
|
|
LEVEL = Info
|
|
ROOT_PATH = L:/Gogs/gogs_0.12.10_windows_amd64/log
|
|
|
|
[security]
|
|
INSTALL_LOCK = true
|
|
SECRET_KEY = JJxp7NE0URIxoak
|
|
```
|
|
|
|
```bash
|
|
sudo -i
|
|
cd /home/gogs
|
|
wget https://dl.gogs.io/0.13.0/gogs_0.13.0_linux_amd64.tar.gz
|
|
tar -xvzf gogs_0.13.0_linux_amd64.tar.gz
|
|
rm gogs_0.13.0_linux_amd64.tar.gz
|
|
cd gogs
|
|
./gogs web
|
|
links http://localhost:3000
|
|
^c
|
|
mkdir /home/gogs/gogs-repositories
|
|
chown mike /home/mike -R
|
|
chgrp mike /home/mike -R
|
|
# https://github.com/gogs/gogs/blob/main/scripts/systemd/gogs.service
|
|
nano /etc/systemd/system/gogs-daemon.service
|
|
```
|
|
|
|
```conf
|
|
[Unit]
|
|
Description=Gogs
|
|
After=syslog.target
|
|
After=network.target
|
|
|
|
[Service]
|
|
# Modify these two values and uncomment them if you have
|
|
# repos with lots of files and get an HTTP error 500 because
|
|
# of that
|
|
###
|
|
#LimitMEMLOCK=infinity
|
|
#LimitNOFILE=65535
|
|
Type=simple
|
|
User=gogs
|
|
Group=gogs
|
|
WorkingDirectory=/home/gogs/gogs
|
|
ExecStart=/home/gogs/gogs/gogs web
|
|
Restart=always
|
|
Environment=USER=gogs HOME=/home/gogs
|
|
|
|
# Some distributions may not support these hardening directives
|
|
# If you cannot start the service due
|
|
# to an unknown option, comment out the ones not supported by your version of systemd.
|
|
ProtectSystem=full
|
|
PrivateDevices=yes
|
|
PrivateTmp=yes
|
|
NoNewPrivileges=true
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|
|
```
|
|
|
|
```bash
|
|
systemctl enable gogs-daemon
|
|
systemctl stop gogs-daemon
|
|
systemctl start gogs-daemon
|
|
systemctl status gogs-daemon.service
|
|
journalctl -fu gogs-daemon.service
|
|
journalctl --rotate
|
|
journalctl --vacuum-time=1s
|
|
systemctl daemon-reload
|
|
mkdir /etc/gogs-copy
|
|
cp /home/gogs/gogs/custom/conf/app.ini /etc/gogs-copy/
|
|
ln -s /home/gogs/gogs/custom/conf /etc/gogs
|
|
# nano /home/gogs/gogs/custom/conf/app.ini
|
|
nano /etc/gogs/app.ini
|
|
```
|
|
|
|
```conf
|
|
BRAND_NAME = Gogs
|
|
RUN_USER = gogs
|
|
RUN_MODE = prod
|
|
|
|
[database]
|
|
TYPE = sqlite3
|
|
HOST = 127.0.0.1:3306
|
|
NAME = gogs
|
|
SCHEMA = public
|
|
USER = gogs
|
|
PASSWORD = 1178
|
|
SSL_MODE = disable
|
|
PATH = data/gogs.db
|
|
|
|
[repository]
|
|
ROOT = /home/gogs/gogs-repositories
|
|
DEFAULT_BRANCH = master
|
|
|
|
[server]
|
|
DOMAIN = localhost
|
|
HTTP_PORT = 3000
|
|
EXTERNAL_URL = http://d98b8bcf651717df3301d99689440f5fd6f411d4@beelink:3000/
|
|
DISABLE_SSH = false
|
|
SSH_PORT = 22
|
|
START_SSH_SERVER = false
|
|
OFFLINE_MODE = false
|
|
|
|
[mailer]
|
|
ENABLED = false
|
|
|
|
[auth]
|
|
REQUIRE_EMAIL_CONFIRMATION = false
|
|
DISABLE_REGISTRATION = false
|
|
ENABLE_REGISTRATION_CAPTCHA = true
|
|
REQUIRE_SIGNIN_VIEW = false
|
|
|
|
[user]
|
|
ENABLE_EMAIL_NOTIFICATION = false
|
|
|
|
[picture]
|
|
DISABLE_GRAVATAR = false
|
|
ENABLE_FEDERATED_AVATAR = false
|
|
|
|
[session]
|
|
PROVIDER = file
|
|
|
|
[log]
|
|
MODE = file
|
|
LEVEL = Info
|
|
ROOT_PATH = /home/gogs/gogs/log
|
|
|
|
[security]
|
|
INSTALL_LOCK = true
|
|
SECRET_KEY = czo27vBeXWU7HTi
|
|
```
|
|
|
|
```bash
|
|
systemctl restart gogs-daemon
|
|
# http://localhost:3000/
|
|
# https://github.com/gogs/docs-api/tree/master/Repositories#migrate
|
|
```
|
|
|
|
```bash
|
|
# https://github.com/Kos-M/GogsThemes
|
|
cd /home/gogs
|
|
git clone https://github.com/Kos-M/GogsThemes
|
|
mkdir -p /home/gogs/gogs/custom/templates/inject/
|
|
mkdir -p /home/gogs/gogs/custom/public/css/
|
|
echo '<link rel="stylesheet" href="/css/themes/dark_theme.css">' >> /home/gogs/gogs/custom/templates/inject/head.tmpl
|
|
mv ./GogsThemes/themes/ /home/gogs/gogs/custom/public/css/
|
|
cp -r GogsThemes/img/ /home/gogs/gogs/custom/public/
|
|
rm -r ./GogsThemes
|
|
systemctl restart gogs-daemon
|
|
```
|