{"id":13838,"date":"2025-07-02T11:49:42","date_gmt":"2025-07-02T02:49:42","guid":{"rendered":"https:\/\/www.quicca-plus.com\/svnavi\/?p=13838"},"modified":"2026-01-03T21:50:31","modified_gmt":"2026-01-03T12:50:31","slug":"gitlab-self-hosted-server-guide-docker-vps-ssh-2025","status":"publish","type":"post","link":"https:\/\/www.quicca-plus.com\/svnavi\/gitlab-self-hosted-server-guide-docker-vps-ssh-2025\/","title":{"rendered":"\u30102026\u5e74\u7248\u3011GitLab\u81ea\u5b85\u30b5\u30fc\u30d0\u30fc\u69cb\u7bc9\u5b8c\u5168\u30ac\u30a4\u30c9\uff5cDocker CE VPS\u6d3b\u7528\u6cd5\u3068SSH\u8a2d\u5b9a\u306e\u30d7\u30ed\u624b\u9806"},"content":{"rendered":"<p><!DOCTYPE html><br \/>\n<html lang=\"ja\"><br \/>\n<head><br \/>\n    <meta charset=\"UTF-8\"><br \/>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"><br \/>\n    <title>\u30102026\u5e74\u7248\u3011GitLab\u81ea\u5b85\u30b5\u30fc\u30d0\u30fc\u69cb\u7bc9\u5b8c\u5168\u30ac\u30a4\u30c9\uff5cDocker CE VPS\u6d3b\u7528\u6cd5\u3068SSH\u8a2d\u5b9a\u306e\u30d7\u30ed\u624b\u9806<\/title><br \/>\n    <meta name=\"description\" content=\"GitLab\u81ea\u5b85\u30b5\u30fc\u30d0\u30fc\u69cb\u7bc9\u306e\u6c7a\u5b9a\u7248\uff01Docker CE VPS\u3067\u306e\u69cb\u7bc9\u65b9\u6cd5\u3001SSH\u8a2d\u5b9a\u3001Git\u6599\u91d1\u6bd4\u8f03\u3092\u8a73\u3057\u304f\u89e3\u8aac\u3002\u958b\u767a\u74b0\u5883\u306e\u81ea\u7531\u5ea6\u3092\u6700\u5927\u5316\u3059\u308b\u5b9f\u8df5\u7684\u306a\u624b\u9806\u66f8\u3067\u3059\u3002\">\n    <link href=\"https:\/\/cdn.jsdelivr.net\/npm\/tailwindcss@2.2.19\/dist\/tailwind.min.css\" rel=\"stylesheet\">\n    <link rel=\"stylesheet\" href=\"https:\/\/cdn.jsdelivr.net\/npm\/@fortawesome\/fontawesome-free@6.4.0\/css\/all.min.css\">\n<style>\n        .gradient-bg { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); }\n        .code-block { background: #2d3748; border-radius: 8px; padding: 1rem; overflow-x: auto; }\n        .highlight { background: linear-gradient(120deg, #a8edea 0%, #fed6e3 100%); padding: 2px 6px; border-radius: 4px; }\n        .tech-card { transition: transform 0.3s ease, box-shadow 0.3s ease; }\n        .tech-card:hover { transform: translateY(-4px); box-shadow: 0 20px 40px rgba(0,0,0,0.1); }\n    <\/style>\n<p><\/head><br \/>\n<body class=\"bg-gray-50 text-gray-800\"><br \/>\n    <!-- Header --><\/p>\n<header class=\"gradient-bg text-white py-16\">\n<div class=\"container mx-auto px-4 text-center\">\n<h1 class=\"text-4xl md:text-6xl font-bold mb-4\">\n                <i class=\"fab fa-gitlab mr-4\"><\/i>GitLab\u81ea\u5b85\u30b5\u30fc\u30d0\u30fc\u69cb\u7bc9<br \/>\n            <\/h1>\n<p class=\"text-xl md:text-2xl mb-8 opacity-90\">Docker CE VPS\u6d3b\u7528\u6cd5\u3068SSH\u8a2d\u5b9a\u306e\u5b8c\u5168\u30ac\u30a4\u30c9<\/p>\n<div class=\"bg-white bg-opacity-20 rounded-lg p-4 inline-block\">\n<p class=\"text-sm\">\u203b\u672c\u8a18\u4e8b\u306f2026\u5e741\u6708\u6700\u65b0\u60c5\u5831\u306b\u57fa\u3065\u3044\u3066\u57f7\u7b46\u3055\u308c\u3066\u3044\u307e\u3059<\/p>\n<\/p><\/div>\n<\/p><\/div>\n<\/header>\n<p>    <!-- Navigation --><\/p>\n<nav class=\"bg-white shadow-lg sticky top-0 z-50\">\n<div class=\"container mx-auto px-4\">\n<div class=\"flex justify-center space-x-6 py-4 overflow-x-auto\">\n                <a href=\"#overview\" class=\"text-blue-600 hover:text-blue-800 whitespace-nowrap\">GitLab\u3068\u306f<\/a><br \/>\n                <a href=\"#benefits\" class=\"text-blue-600 hover:text-blue-800 whitespace-nowrap\">\u30e1\u30ea\u30c3\u30c8<\/a><br \/>\n                <a href=\"#requirements\" class=\"text-blue-600 hover:text-blue-800 whitespace-nowrap\">\u5fc5\u8981\u74b0\u5883<\/a><br \/>\n                <a href=\"#docker-setup\" class=\"text-blue-600 hover:text-blue-800 whitespace-nowrap\">Docker\u69cb\u7bc9<\/a><br \/>\n                <a href=\"#ssh-config\" class=\"text-blue-600 hover:text-blue-800 whitespace-nowrap\">SSH\u8a2d\u5b9a<\/a><br \/>\n                <a href=\"#pricing\" class=\"text-blue-600 hover:text-blue-800 whitespace-nowrap\">\u6599\u91d1\u6bd4\u8f03<\/a><br \/>\n                <a href=\"#servers\" class=\"text-blue-600 hover:text-blue-800 whitespace-nowrap\">\u304a\u3059\u3059\u3081VPS<\/a>\n            <\/div>\n<\/p><\/div>\n<\/nav>\n<p>    <main class=\"container mx-auto px-4 py-8\"><br \/>\n        <!-- Overview Section --><\/p>\n<section id=\"overview\" class=\"mb-16\">\n<h2 class=\"text-3xl font-bold text-gray-800 mb-8 border-l-4 border-blue-500 pl-4\">\n                <i class=\"fab fa-gitlab mr-2\"><\/i>GitLab\u3068\u306f\uff1f\u81ea\u5b85\u30b5\u30fc\u30d0\u30fc\u69cb\u7bc9\u306e\u30e1\u30ea\u30c3\u30c8<br \/>\n            <\/h2>\n<div class=\"grid md:grid-cols-2 gap-8 mb-8\">\n<div class=\"bg-white rounded-lg shadow-lg p-6 tech-card\">\n<h3 class=\"text-xl font-bold mb-4 text-blue-600\">\n                        <i class=\"fas fa-code-branch mr-2\"><\/i>GitLab CE\u306e\u7279\u5fb4<br \/>\n                    <\/h3>\n<ul class=\"space-y-2\">\n<li><i class=\"fas fa-check text-green-500 mr-2\"><\/i>\u5b8c\u5168\u30aa\u30fc\u30d7\u30f3\u30bd\u30fc\u30b9<\/li>\n<li><i class=\"fas fa-check text-green-500 mr-2\"><\/i>CI\/CD\u6a5f\u80fd\u5185\u8535<\/li>\n<li><i class=\"fas fa-check text-green-500 mr-2\"><\/i>Issue\u7ba1\u7406<\/li>\n<li><i class=\"fas fa-check text-green-500 mr-2\"><\/i>\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u7ba1\u7406<\/li>\n<li><i class=\"fas fa-check text-green-500 mr-2\"><\/i>\u30b3\u30fc\u30c9\u30ec\u30d3\u30e5\u30fc\u6a5f\u80fd<\/li>\n<\/ul><\/div>\n<div class=\"bg-white rounded-lg shadow-lg p-6 tech-card\">\n<h3 class=\"text-xl font-bold mb-4 text-green-600\">\n                        <i class=\"fas fa-home mr-2\"><\/i>\u81ea\u5b85\u30b5\u30fc\u30d0\u30fc\u306e\u30e1\u30ea\u30c3\u30c8<br \/>\n                    <\/h3>\n<ul class=\"space-y-2\">\n<li><i class=\"fas fa-shield-alt text-blue-500 mr-2\"><\/i>\u5b8c\u5168\u306a\u30d7\u30e9\u30a4\u30d0\u30b7\u30fc\u4fdd\u8b77<\/li>\n<li><i class=\"fas fa-dollar-sign text-green-500 mr-2\"><\/i>\u9577\u671f\u7684\u306a\u30b3\u30b9\u30c8\u524a\u6e1b<\/li>\n<li><i class=\"fas fa-cogs text-purple-500 mr-2\"><\/i>\u30ab\u30b9\u30bf\u30de\u30a4\u30ba\u81ea\u7531\u5ea6<\/li>\n<li><i class=\"fas fa-database text-red-500 mr-2\"><\/i>\u30b9\u30c8\u30ec\u30fc\u30b8\u5236\u9650\u306a\u3057<\/li>\n<li><i class=\"fas fa-users text-indigo-500 mr-2\"><\/i>\u30e6\u30fc\u30b6\u30fc\u6570\u5236\u9650\u306a\u3057<\/li>\n<\/ul><\/div>\n<\/p><\/div>\n<div class=\"bg-yellow-50 border-l-4 border-yellow-400 p-6 rounded-lg\">\n<h3 class=\"text-lg font-bold text-yellow-800 mb-2\">\n                    <i class=\"fas fa-lightbulb mr-2\"><\/i>\u306a\u305cGitLab\u81ea\u5b85\u30b5\u30fc\u30d0\u30fc\u306a\u306e\u304b\uff1f<br \/>\n                <\/h3>\n<p class=\"text-yellow-700\">\n                    GitHub Enterprise\u304c\u6708\u984d\u6570\u4e07\u5186\u304b\u304b\u308b\u4e2d\u3001GitLab CE\u306a\u3089\u5b8c\u5168\u7121\u6599\u3067\u540c\u7b49\u4ee5\u4e0a\u306e\u6a5f\u80fd\u3092\u63d0\u4f9b\u3002<br \/>\n                    \u30d7\u30e9\u30a4\u30d9\u30fc\u30c8\u30ea\u30dd\u30b8\u30c8\u30ea\u3082\u7121\u5236\u9650\u3001CI\/CD\u30d1\u30a4\u30d7\u30e9\u30a4\u30f3\u3082\u81ea\u7531\u306b\u69cb\u7bc9\u3067\u304d\u307e\u3059\u3002\n                <\/p>\n<\/p><\/div>\n<\/section>\n<p>        <!-- Benefits Section --><\/p>\n<section id=\"benefits\" class=\"mb-16\">\n<h2 class=\"text-3xl font-bold text-gray-800 mb-8 border-l-4 border-green-500 pl-4\">\n                <i class=\"fas fa-star mr-2\"><\/i>GitLab\u81ea\u5b85\u30b5\u30fc\u30d0\u30fc\u306e\u5177\u4f53\u7684\u30e1\u30ea\u30c3\u30c8<br \/>\n            <\/h2>\n<div class=\"grid md:grid-cols-3 gap-6 mb-8\">\n<div class=\"bg-gradient-to-br from-blue-50 to-blue-100 rounded-lg p-6 tech-card\">\n<div class=\"text-center mb-4\">\n                        <i class=\"fas fa-dollar-sign text-4xl text-blue-600\"><\/i>\n                    <\/div>\n<h3 class=\"text-lg font-bold text-center mb-3\">\u30b3\u30b9\u30c8\u524a\u6e1b\u52b9\u679c<\/h3>\n<div class=\"text-sm text-gray-600 space-y-1\">\n<p> GitHub Teams: \u6708\u984d4\u30c9\u30eb\/\u30e6\u30fc\u30b6\u30fc<\/p>\n<p> GitLab Premium: \u6708\u984d29\u30c9\u30eb\/\u30e6\u30fc\u30b6\u30fc<\/p>\n<p class=\"font-bold text-green-600\"> GitLab CE: \u5b8c\u5168\u7121\u6599<\/p>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"bg-gradient-to-br from-green-50 to-green-100 rounded-lg p-6 tech-card\">\n<div class=\"text-center mb-4\">\n                        <i class=\"fas fa-shield-alt text-4xl text-green-600\"><\/i>\n                    <\/div>\n<h3 class=\"text-lg font-bold text-center mb-3\">\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3<\/h3>\n<div class=\"text-sm text-gray-600 space-y-1\">\n<p> \u5916\u90e8\u30b5\u30fc\u30d0\u30fc\u306b\u4f9d\u5b58\u3057\u306a\u3044<\/p>\n<p> \u6a5f\u5bc6\u30b3\u30fc\u30c9\u306e\u5b8c\u5168\u4fdd\u8b77<\/p>\n<p> \u30a2\u30af\u30bb\u30b9\u5236\u5fa1\u306e\u5b8c\u5168\u7ba1\u7406<\/p>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"bg-gradient-to-br from-purple-50 to-purple-100 rounded-lg p-6 tech-card\">\n<div class=\"text-center mb-4\">\n                        <i class=\"fas fa-cogs text-4xl text-purple-600\"><\/i>\n                    <\/div>\n<h3 class=\"text-lg font-bold text-center mb-3\">\u30ab\u30b9\u30bf\u30de\u30a4\u30ba\u6027<\/h3>\n<div class=\"text-sm text-gray-600 space-y-1\">\n<p> Runner\u8a2d\u5b9a\u306e\u81ea\u7531\u5ea6<\/p>\n<p> \u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u6226\u7565\u9078\u629e<\/p>\n<p> \u7d71\u5408\u30c4\u30fc\u30eb\u8ffd\u52a0\u53ef\u80fd<\/p>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/section>\n<p>        <!-- Requirements Section --><\/p>\n<section id=\"requirements\" class=\"mb-16\">\n<h2 class=\"text-3xl font-bold text-gray-800 mb-8 border-l-4 border-red-500 pl-4\">\n                <i class=\"fas fa-server mr-2\"><\/i>GitLab\u69cb\u7bc9\u306b\u5fc5\u8981\u306a\u74b0\u5883\u3068\u30b9\u30da\u30c3\u30af<br \/>\n            <\/h2>\n<div class=\"bg-white rounded-lg shadow-lg p-8 mb-8\">\n<h3 class=\"text-xl font-bold mb-6 text-center\">\u63a8\u5968\u30b7\u30b9\u30c6\u30e0\u8981\u4ef6<\/h3>\n<div class=\"overflow-x-auto\">\n<table class=\"w-full table-auto border-collapse border border-gray-300\">\n<thead class=\"bg-gray-100\">\n<tr>\n<th class=\"border border-gray-300 px-4 py-2 text-left\">\u9805\u76ee<\/th>\n<th class=\"border border-gray-300 px-4 py-2 text-center\">\u6700\u5c0f\u8981\u4ef6<\/th>\n<th class=\"border border-gray-300 px-4 py-2 text-center\">\u63a8\u5968\u8981\u4ef6<\/th>\n<th class=\"border border-gray-300 px-4 py-2 text-center\">\u672c\u683c\u904b\u7528<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td class=\"border border-gray-300 px-4 py-2 font-semibold\">\u30e1\u30e2\u30ea (RAM)<\/td>\n<td class=\"border border-gray-300 px-4 py-2 text-center\">4GB<\/td>\n<td class=\"border border-gray-300 px-4 py-2 text-center highlight\">8GB<\/td>\n<td class=\"border border-gray-300 px-4 py-2 text-center\">16GB\u4ee5\u4e0a<\/td>\n<\/tr>\n<tr class=\"bg-gray-50\">\n<td class=\"border border-gray-300 px-4 py-2 font-semibold\">CPU<\/td>\n<td class=\"border border-gray-300 px-4 py-2 text-center\">2\u30b3\u30a2<\/td>\n<td class=\"border border-gray-300 px-4 py-2 text-center highlight\">4\u30b3\u30a2<\/td>\n<td class=\"border border-gray-300 px-4 py-2 text-center\">8\u30b3\u30a2\u4ee5\u4e0a<\/td>\n<\/tr>\n<tr>\n<td class=\"border border-gray-300 px-4 py-2 font-semibold\">\u30b9\u30c8\u30ec\u30fc\u30b8<\/td>\n<td class=\"border border-gray-300 px-4 py-2 text-center\">50GB<\/td>\n<td class=\"border border-gray-300 px-4 py-2 text-center highlight\">100GB SSD<\/td>\n<td class=\"border border-gray-300 px-4 py-2 text-center\">500GB SSD\u4ee5\u4e0a<\/td>\n<\/tr>\n<tr class=\"bg-gray-50\">\n<td class=\"border border-gray-300 px-4 py-2 font-semibold\">\u30cd\u30c3\u30c8\u30ef\u30fc\u30af<\/td>\n<td class=\"border border-gray-300 px-4 py-2 text-center\">1Mbps<\/td>\n<td class=\"border border-gray-300 px-4 py-2 text-center highlight\">10Mbps<\/td>\n<td class=\"border border-gray-300 px-4 py-2 text-center\">100Mbps\u4ee5\u4e0a<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/div>\n<\/p><\/div>\n<div class=\"grid md:grid-cols-2 gap-6\">\n<div class=\"bg-blue-50 rounded-lg p-6\">\n<h3 class=\"text-lg font-bold mb-4 text-blue-800\">\n                        <i class=\"fab fa-docker mr-2\"><\/i>Docker\u74b0\u5883\u8981\u4ef6<br \/>\n                    <\/h3>\n<ul class=\"space-y-2 text-sm\">\n<li><i class=\"fas fa-check text-green-500 mr-2\"><\/i>Docker Engine 20.10\u4ee5\u4e0a<\/li>\n<li><i class=\"fas fa-check text-green-500 mr-2\"><\/i>Docker Compose 1.29\u4ee5\u4e0a<\/li>\n<li><i class=\"fas fa-check text-green-500 mr-2\"><\/i>Ubuntu 20.04 LTS\u4ee5\u4e0a\u63a8\u5968<\/li>\n<li><i class=\"fas fa-check text-green-500 mr-2\"><\/i>root\u6a29\u9650\u307e\u305f\u306fsudo\u6a29\u9650<\/li>\n<\/ul><\/div>\n<div class=\"bg-green-50 rounded-lg p-6\">\n<h3 class=\"text-lg font-bold mb-4 text-green-800\">\n                        <i class=\"fas fa-network-wired mr-2\"><\/i>\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u8981\u4ef6<br \/>\n                    <\/h3>\n<ul class=\"space-y-2 text-sm\">\n<li><i class=\"fas fa-check text-green-500 mr-2\"><\/i>\u56fa\u5b9aIP\u30a2\u30c9\u30ec\u30b9\uff08\u63a8\u5968\uff09<\/li>\n<li><i class=\"fas fa-check text-green-500 mr-2\"><\/i>\u30dd\u30fc\u30c880, 443\u958b\u653e<\/li>\n<li><i class=\"fas fa-check text-green-500 mr-2\"><\/i>SSH\u7528\u30dd\u30fc\u30c8\uff0822\u307e\u305f\u306f\u5909\u66f4\u5f8c\uff09<\/li>\n<li><i class=\"fas fa-check text-green-500 mr-2\"><\/i>SSL\u8a3c\u660e\u66f8\u5bfe\u5fdc\u30c9\u30e1\u30a4\u30f3<\/li>\n<\/ul><\/div>\n<\/p><\/div>\n<\/section>\n<p>        <!-- Docker Setup Section --><\/p>\n<section id=\"docker-setup\" class=\"mb-16\">\n<h2 class=\"text-3xl font-bold text-gray-800 mb-8 border-l-4 border-blue-500 pl-4\">\n                <i class=\"fab fa-docker mr-2\"><\/i>Docker CE GitLab\u69cb\u7bc9\u624b\u9806<br \/>\n            <\/h2>\n<div class=\"space-y-8\">\n                <!-- Step 1 --><\/p>\n<div class=\"bg-white rounded-lg shadow-lg p-6\">\n<h3 class=\"text-xl font-bold mb-4 flex items-center\">\n                        <span class=\"bg-blue-500 text-white rounded-full w-8 h-8 flex items-center justify-center mr-3\">1<\/span><br \/>\n                        Docker\u74b0\u5883\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7<br \/>\n                    <\/h3>\n<div class=\"mb-4\">\n<p class=\"mb-3\">\u6700\u65b0\u306eDocker\u3068Docker Compose\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u307e\u3059\uff1a<\/p>\n<div class=\"code-block text-white text-sm\">\n<pre><code># Docker\u516c\u5f0f\u30ea\u30dd\u30b8\u30c8\u30ea\u3092\u8ffd\u52a0\ncurl -fsSL https:\/\/download.docker.com\/linux\/ubuntu\/gpg | sudo gpg --dearmor -o \/usr\/share\/keyrings\/docker-archive-keyring.gpg\n\necho \"deb [arch=amd64 signed-by=\/usr\/share\/keyrings\/docker-archive-keyring.gpg] https:\/\/download.docker.com\/linux\/ubuntu $(lsb_release -cs) stable\" | sudo tee \/etc\/apt\/sources.list.d\/docker.list > \/dev\/null\n\n# Docker CE\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\nsudo apt update\nsudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin\n\n# \u30e6\u30fc\u30b6\u30fc\u3092docker\u30b0\u30eb\u30fc\u30d7\u306b\u8ffd\u52a0\nsudo usermod -aG docker $USER\nnewgrp docker<\/code><\/pre>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<p>                <!-- Step 2 --><\/p>\n<div class=\"bg-white rounded-lg shadow-lg p-6\">\n<h3 class=\"text-xl font-bold mb-4 flex items-center\">\n                        <span class=\"bg-blue-500 text-white rounded-full w-8 h-8 flex items-center justify-center mr-3\">2<\/span><br \/>\n                        GitLab Docker Compose\u8a2d\u5b9a<br \/>\n                    <\/h3>\n<div class=\"mb-4\">\n<p class=\"mb-3\">GitLab\u7528\u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u4f5c\u6210\u3057\u3001docker-compose.yml\u30d5\u30a1\u30a4\u30eb\u3092\u8a2d\u5b9a\uff1a<\/p>\n<div class=\"code-block text-white text-sm\">\n<pre><code># GitLab\u7528\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u4f5c\u6210\nmkdir -p ~\/gitlab\/{config,logs,data}\ncd ~\/gitlab\n\n# docker-compose.yml\u4f5c\u6210\ncat << 'EOF' > docker-compose.yml\nversion: '3.8'\nservices:\n  gitlab:\n    image: gitlab\/gitlab-ce:latest\n    container_name: gitlab\n    restart: always\n    hostname: 'your-domain.com'\n    environment:\n      GITLAB_OMNIBUS_CONFIG: |\n        external_url 'https:\/\/your-domain.com'\n        gitlab_rails['gitlab_shell_ssh_port'] = 2222\n        nginx['listen_port'] = 80\n        nginx['listen_https'] = false\n        nginx['proxy_set_headers'] = {\n          'Host' => '$$http_host',\n          'X-Real-IP' => '$$remote_addr',\n          'X-Forwarded-For' => '$$proxy_add_x_forwarded_for',\n          'X-Forwarded-Proto' => 'https',\n          'X-Forwarded-Ssl' => 'on'\n        }\n        # \u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u8a2d\u5b9a\n        gitlab_rails['backup_keep_time'] = 604800\n        gitlab_rails['backup_path'] = '\/var\/opt\/gitlab\/backups'\n    ports:\n      - '80:80'\n      - '2222:22'\n    volumes:\n      - '.\/config:\/etc\/gitlab'\n      - '.\/logs:\/var\/log\/gitlab'\n      - '.\/data:\/var\/opt\/gitlab'\n    shm_size: '256m'\nEOF<\/code><\/pre>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<p>                <!-- Step 3 --><\/p>\n<div class=\"bg-white rounded-lg shadow-lg p-6\">\n<h3 class=\"text-xl font-bold mb-4 flex items-center\">\n                        <span class=\"bg-blue-500 text-white rounded-full w-8 h-8 flex items-center justify-center mr-3\">3<\/span><br \/>\n                        GitLab\u8d77\u52d5\u3068\u521d\u671f\u8a2d\u5b9a<br \/>\n                    <\/h3>\n<div class=\"mb-4\">\n<p class=\"mb-3\">GitLab\u30b3\u30f3\u30c6\u30ca\u3092\u8d77\u52d5\u3057\u3001\u521d\u671f\u30d1\u30b9\u30ef\u30fc\u30c9\u3092\u53d6\u5f97\uff1a<\/p>\n<div class=\"code-block text-white text-sm\">\n<pre><code># GitLab\u8d77\u52d5\uff08\u521d\u56de\u306f10-15\u5206\u7a0b\u5ea6\u8981\u3059\u308b\uff09\ndocker-compose up -d\n\n# \u8d77\u52d5\u72b6\u6cc1\u78ba\u8a8d\ndocker-compose logs -f gitlab\n\n# \u521d\u671froot\u30d1\u30b9\u30ef\u30fc\u30c9\u53d6\u5f97\ndocker exec -it gitlab cat \/etc\/gitlab\/initial_root_password\n\n# GitLab\u7ba1\u7406\u30b3\u30de\u30f3\u30c9\u5b9f\u884c\u4f8b\ndocker exec -it gitlab gitlab-ctl status\ndocker exec -it gitlab gitlab-ctl reconfigure<\/code><\/pre>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"bg-yellow-50 border-l-4 border-yellow-400 p-4 rounded\">\n<p class=\"text-yellow-800\">\n                            <i class=\"fas fa-exclamation-triangle mr-2\"><\/i><br \/>\n                            <strong>\u91cd\u8981\uff1a<\/strong> \u521d\u671f\u30d1\u30b9\u30ef\u30fc\u30c9\u306f24\u6642\u9593\u5f8c\u306b\u81ea\u52d5\u524a\u9664\u3055\u308c\u308b\u305f\u3081\u3001\u5fc5\u305a\u8a18\u9332\u3057\u3066\u65b0\u3057\u3044\u30d1\u30b9\u30ef\u30fc\u30c9\u306b\u5909\u66f4\u3057\u3066\u304f\u3060\u3055\u3044\u3002\n                        <\/p>\n<\/p><\/div>\n<\/p><\/div>\n<p>                <!-- Step 4 --><\/p>\n<div class=\"bg-white rounded-lg shadow-lg p-6\">\n<h3 class=\"text-xl font-bold mb-4 flex items-center\">\n                        <span class=\"bg-blue-500 text-white rounded-full w-8 h-8 flex items-center justify-center mr-3\">4<\/span><br \/>\n                        \u30ea\u30d0\u30fc\u30b9\u30d7\u30ed\u30ad\u30b7\u8a2d\u5b9a\uff08Nginx\uff09<br \/>\n                    <\/h3>\n<div class=\"mb-4\">\n<p class=\"mb-3\">SSL\u7d42\u7aef\u7528\u306eNginx\u8a2d\u5b9a\uff1a<\/p>\n<div class=\"code-block text-white text-sm\">\n<pre><code># Nginx\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u4f5c\u6210\nsudo cat << 'EOF' > \/etc\/nginx\/sites-available\/gitlab\nserver {\n    listen 80;\n    server_name your-domain.com;\n    return 301 https:\/\/$server_name$request_uri;\n}\n\nserver {\n    listen 443 ssl http2;\n    server_name your-domain.com;\n\n    ssl_certificate \/path\/to\/your\/certificate.crt;\n    ssl_certificate_key \/path\/to\/your\/private.key;\n    \n    ssl_protocols TLSv1.2 TLSv1.3;\n    ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512;\n    ssl_prefer_server_ciphers off;\n\n    location \/ {\n        proxy_pass http:\/\/localhost:80;\n        proxy_set_header Host $http_host;\n        proxy_set_header X-Real-IP $remote_addr;\n        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n        proxy_set_header X-Forwarded-Proto https;\n        proxy_set_header X-Forwarded-Ssl on;\n    }\n}\nEOF\n\n# \u8a2d\u5b9a\u6709\u52b9\u5316\nsudo ln -s \/etc\/nginx\/sites-available\/gitlab \/etc\/nginx\/sites-enabled\/\nsudo nginx -t && sudo systemctl reload nginx<\/code><\/pre>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/section>\n<p>        <!-- SSH Configuration Section --><\/p>\n<section id=\"ssh-config\" class=\"mb-16\">\n<h2 class=\"text-3xl font-bold text-gray-800 mb-8 border-l-4 border-green-500 pl-4\">\n                <i class=\"fas fa-key mr-2\"><\/i>SSH\u8a2d\u5b9a\u3068\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u5f37\u5316<br \/>\n            <\/h2>\n<div class=\"space-y-6\">\n<div class=\"bg-white rounded-lg shadow-lg p-6\">\n<h3 class=\"text-xl font-bold mb-4 text-red-600\">\n                        <i class=\"fas fa-shield-alt mr-2\"><\/i>SSH\u57fa\u672c\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u8a2d\u5b9a<br \/>\n                    <\/h3>\n<div class=\"code-block text-white text-sm mb-4\">\n<pre><code># SSH\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u7de8\u96c6\nsudo nano \/etc\/ssh\/sshd_config\n\n# \u63a8\u5968\u8a2d\u5b9a\u5185\u5bb9\uff1a\nPort 22                      # \u30c7\u30d5\u30a9\u30eb\u30c8\u30dd\u30fc\u30c8\u5909\u66f4\nPermitRootLogin no          # root\u76f4\u63a5\u30ed\u30b0\u30a4\u30f3\u7981\u6b62\nPasswordAuthentication no   # \u30d1\u30b9\u30ef\u30fc\u30c9\u8a8d\u8a3c\u7121\u52b9\nPubkeyAuthentication yes    # \u516c\u958b\u9375\u8a8d\u8a3c\u6709\u52b9\nMaxAuthTries 3              # \u8a8d\u8a3c\u8a66\u884c\u56de\u6570\u5236\u9650\nClientAliveInterval 300     # \u30bb\u30c3\u30b7\u30e7\u30f3\u30bf\u30a4\u30e0\u30a2\u30a6\u30c8\nClientAliveCountMax 2\n\n# \u8a2d\u5b9a\u9069\u7528\nsudo systemctl restart sshd<\/code><\/pre>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"bg-white rounded-lg shadow-lg p-6\">\n<h3 class=\"text-xl font-bold mb-4 text-blue-600\">\n                        <i class=\"fas fa-key mr-2\"><\/i>GitLab\u7528SSH\u9375\u8a2d\u5b9a<br \/>\n                    <\/h3>\n<div class=\"grid md:grid-cols-2 gap-6\">\n<div>\n<h4 class=\"font-bold mb-2\">1. SSH\u9375\u751f\u6210\uff08\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u5074\uff09<\/h4>\n<div class=\"code-block text-white text-sm mb-4\">\n<pre><code># ED25519\u9375\u751f\u6210\uff08\u63a8\u5968\uff09\nssh-keygen -t ed25519 -C \"your-email@example.com\"\n\n# \u307e\u305f\u306f RSA\u9375\u751f\u6210\nssh-keygen -t rsa -b 4096 -C \"your-email@example.com\"\n\n# \u516c\u958b\u9375\u8868\u793a\ncat ~\/.ssh\/id_ed25519.pub<\/code><\/pre>\n<\/p><\/div>\n<\/p><\/div>\n<div>\n<h4 class=\"font-bold mb-2\">2. GitLab\u3067\u306e\u9375\u767b\u9332<\/h4>\n<ul class=\"text-sm space-y-1\">\n<li>1. GitLab\u306b\u30ed\u30b0\u30a4\u30f3<\/li>\n<li>2. User Settings \u2192 SSH Keys<\/li>\n<li>3. \u516c\u958b\u9375\u3092\u8cbc\u308a\u4ed8\u3051<\/li>\n<li>4. Title\u3092\u8a2d\u5b9a\u3057\u3066\u4fdd\u5b58<\/li>\n<\/ul><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"bg-white rounded-lg shadow-lg p-6\">\n<h3 class=\"text-xl font-bold mb-4 text-purple-600\">\n                        <i class=\"fas fa-cog mr-2\"><\/i>SSH\u63a5\u7d9a\u30c6\u30b9\u30c8\u3068Git\u8a2d\u5b9a<br \/>\n                    <\/h3>\n<div class=\"code-block text-white text-sm\">\n<pre><code># SSH\u63a5\u7d9a\u30c6\u30b9\u30c8\nssh -T git@your-domain.com -p 2222\n\n# Git \u30b0\u30ed\u30fc\u30d0\u30eb\u8a2d\u5b9a\ngit config --global user.name \"Your Name\"\ngit config --global user.email \"your-email@example.com\"\n\n# \u30ea\u30dd\u30b8\u30c8\u30ea\u30af\u30ed\u30fc\u30f3\u30c6\u30b9\u30c8\ngit clone ssh:\/\/git@your-domain.com:2222\/username\/project.git\n\n# SSH\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\uff08~\/.ssh\/config\uff09\nHost gitlab-home\n    HostName your-domain.com\n    Port 2222\n    User git\n    IdentityFile ~\/.ssh\/id_ed25519<\/code><\/pre>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/section>\n<p>        <!-- Pricing Comparison Section --><\/p>\n<section id=\"pricing\" class=\"mb-16\">\n<h2 class=\"text-3xl font-bold text-gray-800 mb-8 border-l-4 border-yellow-500 pl-4\">\n                <i class=\"fas fa-chart-line mr-2\"><\/i>Git\u6599\u91d1\u6bd4\u8f03\u3068\u30b3\u30b9\u30c8\u5206\u6790<br \/>\n            <\/h2>\n<div class=\"bg-white rounded-lg shadow-lg p-8 mb-8\">\n<h3 class=\"text-xl font-bold mb-6 text-center\">\u4e3b\u8981Git\u30b5\u30fc\u30d3\u30b9\u6599\u91d1\u6bd4\u8f03\uff082026\u5e741\u6708\u73fe\u5728\uff09<\/h3>\n<div class=\"overflow-x-auto\">\n<table class=\"w-full table-auto border-collapse border border-gray-300\">\n<thead class=\"bg-gray-100\">\n<tr>\n<th class=\"border border-gray-300 px-4 py-2 text-left\">\u30b5\u30fc\u30d3\u30b9<\/th>\n<th class=\"border border-gray-300 px-4 py-2 text-center\">\u7121\u6599\u30d7\u30e9\u30f3<\/th>\n<th class=\"border border-gray-300 px-4 py-2 text-center\">\u500b\u4eba\u30d7\u30e9\u30f3<\/th>\n<th class=\"border border-gray-300 px-4 py-2 text-center\">\u30c1\u30fc\u30e0\u30d7\u30e9\u30f3<\/th>\n<th class=\"border border-gray-300 px-4 py-2 text-center\">\u5e74\u9593\u30b3\u30b9\u30c8\uff085\u540d\uff09<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr class=\"bg-green-50\">\n<td class=\"border border-gray-300 px-4 py-2 font-bold\">GitLab CE (\u81ea\u5b85)<\/td>\n<td class=\"border border-gray-300 px-4 py-2 text-center text-green-600\">\u5b8c\u5168\u7121\u6599<\/td>\n<td class=\"border border-gray-300 px-4 py-2 text-center\">&#8211;<\/td>\n<td class=\"border border-gray-300 px-4 py-2 text-center\">&#8211;<\/td>\n<td class=\"border border-gray-300 px-4 py-2 text-center highlight\">\u00a50<\/td>\n<\/tr>\n<tr>\n<td class=\"border border-gray-300 px-4 py-2 font-bold\">GitHub<\/td>\n<td class=\"border border-gray-300 px-4 py-2 text-center\">\u30d1\u30d6\u30ea\u30c3\u30af\u306e\u307f<\/td>\n<td class=\"border border-gray-300 px-4 py-2 text-center\">$4\/\u6708<\/td>\n<td class=\"border border-gray-300 px-4 py-2 text-center\">$4\/\u6708\u30fb\u4eba<\/td>\n<td class=\"border border-gray-300 px-4 py-2 text-center\">\u00a536,000<\/td>\n<\/tr>\n<tr class=\"bg-gray-50\">\n<td class=\"border border-gray-300 px-4 py-2 font-bold\">GitLab.com<\/td>\n<td class=\"border border-gray-300 px-4 py-2 text-center\">5\u540d\u307e\u3067<\/td>\n<td class=\"border border-gray-300 px-4 py-2 text-center\">$29\/\u6708<\/td>\n<td class=\"border border-gray-300 px-4 py-2 text-center\">$29\/\u6708\u30fb\u4eba<\/td>\n<td class=\"border border-gray-300 px-4 py-2 text-center\">\u00a5171,000<\/td>\n<\/tr>\n<tr>\n<td class=\"border border-gray-300 px-4 py-2 font-bold\">Bitbucket<\/td>\n<td class=\"border border-gray-300 px-4 py-2 text-center\">5\u540d\u307e\u3067<\/td>\n<td class=\"border border-gray-300 px-4 py-2 text-center\">$3\/\u6708<\/td>\n<td class=\"border border-gray-300 px-4 py-2 text-center\">$6\/\u6708\u30fb\u4eba<\/td>\n<td class=\"border border-gray-300 px-4 py-2 text-center\">\u00a554,000<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/div>\n<\/p><\/div>\n<div class=\"grid md:grid-cols-2 gap-6 mb-8\">\n<div class=\"bg-green-50 rounded-lg p-6\">\n<h3 class=\"text-lg font-bold mb-4 text-green-800\">\n                        <i class=\"fas fa-piggy-bank mr-2\"><\/i>\u30b3\u30b9\u30c8\u524a\u6e1b\u52b9\u679c<br \/>\n                    <\/h3>\n<div class=\"space-y-3 text-sm\">\n<div class=\"flex justify-between\">\n                            <span>\u521d\u671f\u69cb\u7bc9\u8cbb\u7528:<\/span><br \/>\n                            <span class=\"font-bold\">\u00a50 &#8211; \u00a550,000<\/span>\n                        <\/div>\n<div class=\"flex justify-between\">\n                            <span>\u6708\u984d\u904b\u7528\u8cbb\u7528:<\/span><br \/>\n                            <span class=\"font-bold\">\u00a51,000 &#8211; \u00a55,000<\/span>\n                        <\/div>\n<div class=\"flex justify-between border-t pt-2\">\n                            <span>\u5e74\u9593\u7dcf\u30b3\u30b9\u30c8:<\/span><br \/>\n                            <span class=\"font-bold text-green-600\">\u00a512,000 &#8211; \u00a560,000<\/span>\n                        <\/div>\n<p class=\"text-xs text-gray-600 mt-2\">\u203bVPS\u30fb\u96fb\u6c17\u4ee3\u30fb\u30c9\u30e1\u30a4\u30f3\u4ee3\u542b\u3080<\/p>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"bg-blue-50 rounded-lg p-6\">\n<h3 class=\"text-lg font-bold mb-4 text-blue-800\">\n                        <i class=\"fas fa-calculator mr-2\"><\/i>\u6295\u8cc7\u56de\u53ce\u671f\u9593<br \/>\n                    <\/h3>\n<div class=\"space-y-2 text-sm\">\n<p><strong>vs GitHub Teams:<\/strong> \u7d043-6\u30f6\u6708<\/p>\n<p><strong>vs GitLab Premium:<\/strong> \u7d041-2\u30f6\u6708<\/p>\n<p><strong>vs Bitbucket:<\/strong> \u7d046-12\u30f6\u6708<\/p>\n<div class=\"bg-blue-100 p-3 rounded mt-4\">\n<p class=\"font-bold text-blue-800\">5\u5e74\u9593\u3067\u7d04100\u4e07\u5186\u4ee5\u4e0a\u306e\u524a\u6e1b\u52b9\u679c<\/p>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/section>\n<p>        <!-- Server Recommendations Section --><\/p>\n<section id=\"servers\" class=\"mb-16\">\n<h2 class=\"text-3xl font-bold text-gray-800 mb-8 border-l-4 border-purple-500 pl-4\">\n                <i class=\"fas fa-server mr-2\"><\/i>GitLab\u69cb\u7bc9\u306b\u304a\u3059\u3059\u3081\u306eVPS\u30b5\u30fc\u30d0\u30fc<br \/>\n            <\/h2>\n<div class=\"grid md:grid-cols-2 lg:grid-cols-3 gap-6 mb-8\">\n                <!-- ConoHa VPS --><\/p>\n<div class=\"bg-white rounded-lg shadow-lg p-6 tech-card\">\n<div class=\"text-center mb-4\">\n<h3 class=\"text-xl font-bold text-blue-600\">ConoHa VPS<\/h3>\n<p class=\"text-sm text-gray-600\">\u56fd\u5185\u6700\u901f\u30af\u30e9\u30b9<\/p>\n<\/p><\/div>\n<div class=\"space-y-2 text-sm mb-4\">\n<p><i class=\"fas fa-check text-green-500 mr-2\"><\/i>\u9ad8\u901fSSD\u6a19\u6e96<\/p>\n<p><i class=\"fas fa-check text-green-500 mr-2\"><\/i>\u521d\u671f\u8cbb\u7528\u7121\u6599<\/p>\n<p><i class=\"fas fa-check text-green-500 mr-2\"><\/i>\u6642\u9593\u8ab2\u91d1\u5bfe\u5fdc<\/p>\n<p><i class=\"fas fa-check text-green-500 mr-2\"><\/i>\u7c21\u5358\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7<\/p>\n<\/p><\/div>\n<div class=\"text-center\">\n<p class=\"text-lg font-bold text-blue-600 mb-2\">\u6708\u984d\u00a51,848\u301c<\/p>\n<p>                        <a href=\"https:\/\/px.a8.net\/svt\/ejp?a8mat=2ZU90B+9MIX8A+50+4ZDH4X\" \n                           class=\"bg-blue-500 text-white px-4 py-2 rounded hover:bg-blue-600 transition-colors inline-block text-sm\"><br \/>\n                            \u8a73\u7d30\u3092\u898b\u308b<br \/>\n                        <\/a>\n                    <\/div>\n<\/p><\/div>\n<p>                <!-- KAGOYA CLOUD VPS --><\/p>\n<div class=\"bg-white rounded-lg shadow-lg p-6 tech-card\">\n<div class=\"text-center mb-4\">\n<h3 class=\"text-xl font-bold text-green-600\">KAGOYA CLOUD VPS<\/h3>\n<p class=\"text-sm text-gray-600\">\u8001\u8217\u306e\u5b89\u5b9a\u6027<\/p>\n<\/p><\/div>\n<div class=\"space-y-2 text-sm mb-4\">\n<p><i class=\"fas fa-check text-green-500 mr-2\"><\/i>GitLab\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u6709<\/p>\n<p><i class=\"fas fa-check text-green-500 mr-2\"><\/i>24\u6642\u9593\u30b5\u30dd\u30fc\u30c8<\/p>\n<p><i class=\"fas fa-check text-green-500 mr-2\"><\/i>\u9ad8\u3044\u7a3c\u50cd\u7387<\/p>\n<p><i class=\"fas fa-check text-green-500 mr-2\"><\/i>\u65e5\u5272\u308a\u8ab2\u91d1<\/p>\n<\/p><\/div>\n<div class=\"text-center\">\n<p class=\"text-lg font-bold text-green-600 mb-2\">\u6708\u984d\u00a5979\u301c<\/p>\n<p>                        <a href=\"https:\/\/px.a8.net\/svt\/ejp?a8mat=2020TC+G5OL4A+7YE+O3MKH\" \n                           class=\"bg-green-500 text-white px-4 py-2 rounded hover:bg-green-600 transition-colors inline-block text-sm\"><br \/>\n                            \u8a73\u7d30\u3092\u898b\u308b<br \/>\n                        <\/a>\n                    <\/div>\n<\/p><\/div>\n<p>                <!-- mixhost VPS --><\/p>\n<div class=\"bg-white rounded-lg shadow-lg p-6 tech-card\">\n<div class=\"text-center mb-4\">\n<h3 class=\"text-xl font-bold text-purple-600\">mixhost VPS<\/h3>\n<p class=\"text-sm text-gray-600\">\u9ad8\u6027\u80fdGPU\u5bfe\u5fdc<\/p>\n<\/p><\/div>\n<div class=\"space-y-2 text-sm mb-4\">\n<p><i class=\"fas fa-check text-green-500 mr-2\"><\/i>NVMe SSD\u6a19\u6e96<\/p>\n<p><i class=\"fas fa-check text-green-500 mr-2\"><\/i>30\u65e5\u8fd4\u91d1\u4fdd\u8a3c<\/p>\n<p><i class=\"fas fa-check text-green-500 mr-2\"><\/i>Docker\u74b0\u5883\u69cb\u7bc9\u6e08<\/p>\n<p><i class=\"fas fa-check text-green-500 mr-2\"><\/i>CI\/CD\u9ad8\u901f\u5316<\/p>\n<\/p><\/div>\n<div class=\"text-center\">\n<p class=\"text-lg font-bold text-purple-600 mb-2\">\u6708\u984d\u00a51,078\u301c<\/p>\n<p>                        <a href=\"https:\/\/px.a8.net\/svt\/ejp?a8mat=2ZENAV+ECSW8Q+3JTE+5YJRM\" \n                           class=\"bg-purple-500 text-white px-4 py-2 rounded hover:bg-purple-600 transition-colors inline-block text-sm\"><br \/>\n                            \u8a73\u7d30\u3092\u898b\u308b<br \/>\n                        <\/a>\n                    <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"bg-white rounded-lg shadow-lg p-8\">\n<h3 class=\"text-xl font-bold mb-6 text-center\">VPS\u9078\u629e\u306e\u30dd\u30a4\u30f3\u30c8<\/h3>\n<div class=\"grid md:grid-cols-3 gap-6\">\n<div class=\"text-center\">\n<div class=\"bg-blue-100 rounded-full w-16 h-16 flex items-center justify-center mx-auto mb-3\">\n                            <i class=\"fas fa-tachometer-alt text-2xl text-blue-600\"><\/i>\n                        <\/div>\n<h4 class=\"font-bold mb-2\">\u6027\u80fd\u91cd\u8996<\/h4>\n<p class=\"text-sm text-gray-600\">CPU\u6027\u80fd\u3068\u30e1\u30e2\u30ea\u5bb9\u91cf\u304cGitLab\u306e\u5feb\u9069\u6027\u3092\u5de6\u53f3<\/p>\n<\/p><\/div>\n<div class=\"text-center\">\n<div class=\"bg-green-100 rounded-full w-16 h-16 flex items-center justify-center mx-auto mb-3\">\n                            <i class=\"fas fa-shield-alt text-2xl text-green-600\"><\/i>\n                        <\/div>\n<h4 class=\"font-bold mb-2\">\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3<\/h4>\n<p class=\"text-sm text-gray-600\">\u30d5\u30a1\u30a4\u30a2\u30a6\u30a9\u30fc\u30eb\u6a5f\u80fd\u3068\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u4f53\u5236<\/p>\n<\/p><\/div>\n<div class=\"text-center\">\n<div class=\"bg-purple-100 rounded-full w-16 h-16 flex items-center justify-center mx-auto mb-3\">\n                            <i class=\"fas fa-headset text-2xl text-purple-600\"><\/i>\n                        <\/div>\n<h4 class=\"font-bold mb-2\">\u30b5\u30dd\u30fc\u30c8<\/h4>\n<p class=\"text-sm text-gray-600\">\u65e5\u672c\u8a9e\u30b5\u30dd\u30fc\u30c8\u3068\u6280\u8853\u652f\u63f4\u306e\u5145\u5b9f\u5ea6<\/p>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/section>\n<p>        <!-- Maintenance Section --><\/p>\n<section class=\"mb-16\">\n<h2 class=\"text-3xl font-bold text-gray-800 mb-8 border-l-4 border-yellow-500 pl-4\">\n                <i class=\"fas fa-tools mr-2\"><\/i>\u904b\u7528\u30fb\u4fdd\u5b88\u306e\u30d9\u30b9\u30c8\u30d7\u30e9\u30af\u30c6\u30a3\u30b9<br \/>\n            <\/h2>\n<div class=\"grid md:grid-cols-2 gap-6\">\n<div class=\"bg-white rounded-lg shadow-lg p-6\">\n<h3 class=\"text-lg font-bold mb-4 text-yellow-600\">\n                        <i class=\"fas fa-sync-alt mr-2\"><\/i>\u5b9a\u671f\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u8a2d\u5b9a<br \/>\n                    <\/h3>\n<div class=\"code-block text-white text-sm\">\n<pre><code># GitLab \u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u30b9\u30af\u30ea\u30d7\u30c8\n#!\/bin\/bash\ndocker exec gitlab gitlab-backup create\n\n# crontab\u8a2d\u5b9a\uff08\u6bce\u65e52\u6642\u306b\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\uff09\n0 2 * * * \/path\/to\/backup-script.sh<\/code><\/pre>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"bg-white rounded-lg shadow-lg p-6\">\n<h3 class=\"text-lg font-bold mb-4 text-red-600\">\n                        <i class=\"fas fa-chart-line mr-2\"><\/i>\u76e3\u8996\u30fb\u30a2\u30e9\u30fc\u30c8\u8a2d\u5b9a<br \/>\n                    <\/h3>\n<div class=\"text-sm space-y-2\">\n<p><i class=\"fas fa-check text-green-500 mr-2\"><\/i>\u30c7\u30a3\u30b9\u30af\u4f7f\u7528\u91cf\u76e3\u8996<\/p>\n<p><i class=\"fas fa-check text-green-500 mr-2\"><\/i>\u30e1\u30e2\u30ea\u4f7f\u7528\u91cf\u30c1\u30a7\u30c3\u30af<\/p>\n<p><i class=\"fas fa-check text-green-500 mr-2\"><\/i>GitLab\u5065\u5168\u6027\u78ba\u8a8d<\/p>\n<p><i class=\"fas fa-check text-green-500 mr-2\"><\/i>SSL\u8a3c\u660e\u66f8\u671f\u9650\u7ba1\u7406<\/p>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/section>\n<p>        <!-- FAQ Section --><\/p>\n<section class=\"mb-16\">\n<h2 class=\"text-3xl font-bold text-gray-800 mb-8 border-l-4 border-indigo-500 pl-4\">\n                <i class=\"fas fa-question-circle mr-2\"><\/i>\u3088\u304f\u3042\u308b\u8cea\u554f\uff08FAQ\uff09<br \/>\n            <\/h2>\n<div class=\"space-y-4\">\n<div class=\"bg-white rounded-lg shadow-lg p-6\">\n<h3 class=\"text-lg font-bold mb-2 text-indigo-600\">Q: GitLab CE\u3067\u5546\u7528\u5229\u7528\u306f\u53ef\u80fd\u3067\u3059\u304b\uff1f<\/h3>\n<p class=\"text-gray-700\">A: \u306f\u3044\u3001GitLab CE\u306f\u5b8c\u5168\u306b\u30aa\u30fc\u30d7\u30f3\u30bd\u30fc\u30b9\u3067\u3042\u308a\u3001\u5546\u7528\u5229\u7528\u3082\u7121\u6599\u3067\u53ef\u80fd\u3067\u3059\u3002\u30e9\u30a4\u30bb\u30f3\u30b9\u5236\u9650\u306f\u3042\u308a\u307e\u305b\u3093\u3002<\/p>\n<\/p><\/div>\n<div class=\"bg-white rounded-lg shadow-lg p-6\">\n<h3 class=\"text-lg font-bold mb-2 text-indigo-600\">Q: GitLab\u306e\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\u306f\u3069\u3046\u3059\u308c\u3070\u826f\u3044\u3067\u3059\u304b\uff1f<\/h3>\n<p class=\"text-gray-700\">A: <code>docker-compose pull<\/code>\u3067\u6700\u65b0\u30a4\u30e1\u30fc\u30b8\u3092\u53d6\u5f97\u3057\u3001<code>docker-compose up -d<\/code>\u3067\u518d\u8d77\u52d5\u3059\u308b\u3053\u3068\u3067\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\u3067\u304d\u307e\u3059\u3002<\/p>\n<\/p><\/div>\n<div class=\"bg-white rounded-lg shadow-lg p-6\">\n<h3 class=\"text-lg font-bold mb-2 text-indigo-600\">Q: \u81ea\u5b85\u30b5\u30fc\u30d0\u30fc\u304c\u843d\u3061\u305f\u5834\u5408\u306e\u30ea\u30b9\u30af\u306f\uff1f<\/h3>\n<p class=\"text-gray-700\">A: \u5b9a\u671f\u7684\u306a\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u3068\u30af\u30e9\u30a6\u30c9\u30b9\u30c8\u30ec\u30fc\u30b8\u3078\u306e\u540c\u671f\u306b\u3088\u308a\u3001\u30c7\u30fc\u30bf\u640d\u5931\u30ea\u30b9\u30af\u3092\u6700\u5c0f\u9650\u306b\u6291\u3048\u3089\u308c\u307e\u3059\u3002<\/p>\n<\/p><\/div>\n<\/p><\/div>\n<\/section>\n<p>    <\/main><\/p>\n<p>    <!-- Footer --><\/p>\n<footer class=\"gradient-bg text-white py-12\">\n<div class=\"container mx-auto px-4 text-center\">\n<h3 class=\"text-2xl font-bold mb-4\">GitLab\u81ea\u5b85\u30b5\u30fc\u30d0\u30fc\u3067\u958b\u767a\u74b0\u5883\u3092\u81ea\u7531\u306b<\/h3>\n<p class=\"mb-6 opacity-90\">\n                2026\u5e74\u3053\u305d\u3001\u30b3\u30b9\u30c8\u3092\u6291\u3048\u306a\u304c\u3089\u9ad8\u54c1\u8cea\u306a\u958b\u767a\u74b0\u5883\u3092\u69cb\u7bc9\u3057\u307e\u3057\u3087\u3046\u3002<br \/>\n                GitLab CE\u306a\u3089\u7121\u6599\u3067\u30a8\u30f3\u30bf\u30fc\u30d7\u30e9\u30a4\u30ba\u7d1a\u306e\u6a5f\u80fd\u3092\u30d5\u30eb\u6d3b\u7528\u3067\u304d\u307e\u3059\u3002\n            <\/p>\n<div class=\"bg-white bg-opacity-10 rounded-lg p-6 max-w-2xl mx-auto\">\n<p class=\"text-sm\">\n                    \u203b\u672c\u8a18\u4e8b\u306f2026\u5e741\u6708\u6642\u70b9\u306e\u60c5\u5831\u306b\u57fa\u3065\u3044\u3066\u57f7\u7b46\u3055\u308c\u3066\u3044\u307e\u3059\u3002\u5185\u5bb9\u306e\u6b63\u78ba\u6027\u306b\u306f\u4e07\u5168\u3092\u671f\u3057\u3066\u3044\u307e\u3059\u304c\u3001\u6700\u65b0\u60c5\u5831\u306f\u5404\u516c\u5f0f\u30b5\u30a4\u30c8\u3092\u3054\u78ba\u8a8d\u304f\u3060\u3055\u3044\u3002\n                <\/p>\n<\/p><\/div>\n<\/p><\/div>\n<\/footer>\n<p><\/body><br \/>\n<\/html><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u30102026\u5e74\u7248\u3011GitLab\u81ea\u5b85\u30b5\u30fc\u30d0\u30fc\u69cb\u7bc9\u5b8c\u5168\u30ac\u30a4\u30c9\uff5cDocker CE VPS\u6d3b\u7528\u6cd5\u3068SSH\u8a2d\u5b9a\u306e\u30d7\u30ed\u624b\u9806 GitLab\u81ea\u5b85\u30b5\u30fc\u30d0\u30fc\u69cb\u7bc9 Docker CE VPS\u6d3b\u7528\u6cd5\u3068SSH\u8a2d\u5b9a\u306e\u5b8c\u5168\u30ac\u30a4\u30c9 \u203b\u672c\u8a18\u4e8b\u306f2026\u5e74 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":23235,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"swell_btn_cv_data":"","footnotes":""},"categories":[6,14,24,42],"tags":[183,417,414,412,415,82,267,416,130,413],"class_list":["post-13838","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-conoha-vps","category-mixhost","category-kagoya","category-basic","tag-183","tag-ci-cd","tag-dockerce","tag-gitlab","tag-ssh","tag-vps","tag-267","tag-416","tag-130","tag-413"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.quicca-plus.com\/svnavi\/wp-json\/wp\/v2\/posts\/13838","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.quicca-plus.com\/svnavi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.quicca-plus.com\/svnavi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.quicca-plus.com\/svnavi\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.quicca-plus.com\/svnavi\/wp-json\/wp\/v2\/comments?post=13838"}],"version-history":[{"count":5,"href":"https:\/\/www.quicca-plus.com\/svnavi\/wp-json\/wp\/v2\/posts\/13838\/revisions"}],"predecessor-version":[{"id":23234,"href":"https:\/\/www.quicca-plus.com\/svnavi\/wp-json\/wp\/v2\/posts\/13838\/revisions\/23234"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.quicca-plus.com\/svnavi\/wp-json\/wp\/v2\/media\/23235"}],"wp:attachment":[{"href":"https:\/\/www.quicca-plus.com\/svnavi\/wp-json\/wp\/v2\/media?parent=13838"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.quicca-plus.com\/svnavi\/wp-json\/wp\/v2\/categories?post=13838"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.quicca-plus.com\/svnavi\/wp-json\/wp\/v2\/tags?post=13838"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}