Last modified by Alexandru Pentilescu on 2024/07/16 22:44

From version 5.1
edited by Alexandru Pentilescu
on 2024/07/16 21:18
Change comment: There is no comment for this version
To version 2.1
edited by Alexandru Pentilescu
on 2024/07/16 20:56
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -1,9 +1,6 @@
1 -{{box cssClass="floatinginfobox" title="**Contents**"}}
2 -{{toc /}}
3 -{{/box}}
1 +{{box cssClass="floatinginfobox" title="**Contents**"}}{{toc /}}{{/box}}
4 4  
5 5  = Basic installation =
6 -
7 7  To setup a gitea server using docker, the following docker-compose.yml file shall be used:
8 8  
9 9  {{code language="yaml"}}
... ... @@ -43,67 +43,3 @@
43 43   networks:
44 44   - gitea
45 45  {{/code}}
46 -
47 -What the above docker-compose configuration will do is that it will, in essence, create two, always on, services, that will forever be restarted: a mariadb database server that will write all of its data to a local "db" directory, and another web service that will server as the main git server and the web server alongside it.
48 -
49 -Before starting the docker services, please create the necessary resources first.
50 -
51 -= Create the required local directories to store the data in =
52 -
53 -Do a simple command to create the necessary directories:
54 -
55 -{{code language="bash"}}mkdir data db{{/code}}
56 -Backing up just these two directories should, in theory, be enough to allow for full restoration of all git repository resources into the future. **WARNING: This has not been tested yet!!!**
57 -
58 -= Create a separate git user to login into via SSH =
59 -
60 -Creating a separate user, technically, is unnecessary, but it makes the configuration more conventional.
61 -
62 -{{code language="bash"}}
63 -useradd -m -u 1002 git
64 -{{/code}}
65 -
66 -Assuming the 1002 UID is already assigned to a different user, feel free to use a different UID (**be sure to update the yaml configuration with the proper user ID, then**).
67 -
68 -Once this configuration has been done, go ahead and generate an /home/git/.ssh/ directory for the user to have. Be sure to chown this specific directory to the git user as appropriate:
69 -
70 -{{code language="bash"}}
71 -chown git:git -R /home/git/.ssh/
72 -chmod 700 /home/git/.ssh/
73 -{{/code}}
74 -
75 -Once all these steps are done, you can proceed to the next step.
76 -
77 -= Spin up a container from the docker image =
78 -
79 -{{code language="bash"}}
80 -docker-compose up -d
81 -{{/code}}
82 -
83 -Had all the necessary steps been done properly, this should yield a fully functional container. If there are any errors encountered by this point, please fix them before proceeding.
84 -
85 -= Set up a proper nginx endpoint for the docker service =
86 -
87 -Deploy the following configuration to make the container accessible to the outside world:
88 -
89 -{{code language="nginx"}}
90 -server {
91 - server_name git.transistor.one;
92 -
93 - listen [::]:443 http2 ssl; # managed by Certbot
94 - listen 443 http2 ssl; # managed by Certbot
95 - # http2 on;
96 -
97 - include /etc/nginx/snippets/ssl.conf;
98 -
99 - location / {
100 - proxy_pass http://localhost:3000;
101 - }
102 -}
103 -{{/code}}
104 -
105 -Once this is done, restart nginx:
106 -
107 -{{code language="bash"}}
108 -systemctl restart nginx
109 -{{/code}}